Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在剪刀学习中使用SGDRegressor_Python_Numpy_Machine Learning_Statistics_Scikit Learn - Fatal编程技术网

Python 如何在剪刀学习中使用SGDRegressor

Python 如何在剪刀学习中使用SGDRegressor,python,numpy,machine-learning,statistics,scikit-learn,Python,Numpy,Machine Learning,Statistics,Scikit Learn,我正试图找出如何正确使用scikit learn的SGDRegressor模型。 为了适应一个数据集,我需要调用一个函数fit(X,y),其中X是形状的numpy数组(n_样本,n_特征),y是长度n_样本的1d numpy数组。我正在试图弄清楚y应该代表什么 例如,我的数据显示如下: 我的特征是从1972年开始的年份,这些值是该年的对应值。我试图预测未来几年的价值,比如2008年或2012年。我假设数据中的每一行都应该表示X中的一行/样本,其中的每个元素都是一年的值。如果是那样的话,y会是什

我正试图找出如何正确使用scikit learn的SGDRegressor模型。 为了适应一个数据集,我需要调用一个
函数fit(X,y)
,其中X是形状的numpy数组(n_样本,n_特征),y是长度n_样本的1d numpy数组。我正在试图弄清楚y应该代表什么

例如,我的数据显示如下:


我的特征是从1972年开始的年份,这些值是该年的对应值。我试图预测未来几年的价值,比如2008年或2012年。我假设数据中的每一行都应该表示X中的一行/样本,其中的每个元素都是一年的值。如果是那样的话,y会是什么?我认为y应该是年,但是y的长度是n_特征,而不是n_样本。如果y的长度为n_个样本,那么长度为5的y可能是什么(以下所示数据中的样本数)。我想我必须以某种方式转换这些数据。

在机器学习中,
y
代表数据的标签或目标。也就是说,您的培训数据的正确答案(
X

如果您想了解与年份对应的一些值,那么这些年份将是您的培训数据(
X
),与它们相关联的正确值将是您的目标(
y


您可以注意到,这符合您在第一段中提到的尺寸:
X
将是形状
(n_样本,n_特征)
,因为它的条目数与您的年份数相同,并且每个条目的大小为1(您只有1个特征,年份)而
y
将具有长度
n\u样本
,因为您每年都有一个相关值。

y
是您的目标(您想要预测的),您可以通过以下方式获得:

从sklearn导入线性_模型
clf=线性_模型.SGDRegressor()
clf.fit(x到x列,y到y列)
#clf是一个经过训练的模型
y_预测=clf.predict(X_到_预测)

本质上就是这样。我必须将模型重新装配到每一行数据中,一次一行,x代表年份y代表数值。这是我最初的想法,但似乎效率很低。@JordanBramble-不一定。您应该有一个包含所有数据行的数组,一个包含所有
y
的数组,并适合这些数据行。您描述它的方式应该只针对在线学习,使用
partial_fit
。您对此不太清楚,但您的数据集中是否有2008年或2012年的值?否则,这是一个无监督的学习问题,但您正在尝试对其应用监督学习技术。为什么不在你的数据上做一些曲线拟合,然后进行外推呢?