Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.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科学学习;支持向量机;形状不匹配_Python_Scikit Learn_Svm - Fatal编程技术网

python科学学习;支持向量机;形状不匹配

python科学学习;支持向量机;形状不匹配,python,scikit-learn,svm,Python,Scikit Learn,Svm,我有40000个资产的时间序列。我将数据分为训练数据和目标数据。培训数据返回时间为119天,目标数据返回时间为59天。我是故意这样分开的 列车:(119行返回,40000个不同系列) 目标:(59行退货,相同40000系列) 我运行了以下代码以适应模型: SVR_model = svm.SVR(kernel='rbf',C=100,gamma=.001).fit(t_train_scale.transpose(), t_test.transpose()) --------------------

我有40000个资产的时间序列。我将数据分为训练数据和目标数据。培训数据返回时间为119天,目标数据返回时间为59天。我是故意这样分开的

列车:(119行返回,40000个不同系列) 目标:(59行退货,相同40000系列)

我运行了以下代码以适应模型:

SVR_model = svm.SVR(kernel='rbf',C=100,gamma=.001).fit(t_train_scale.transpose(), t_test.transpose())
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-185-2a0fd827e2a4> in <module>()
      1 
      2 
----> 3 SVR_model = svm.SVR(kernel='rbf',C=100,gamma=.001).fit(t_train_scale.transpose(), t_test.transpose())

C:\Users\nnayyar\Anaconda\lib\site-packages\sklearn\svm\base.pyc in fit(self, X, y, sample_weight)
    174 
    175         seed = rnd.randint(np.iinfo('i').max)
--> 176         fit(X, y, sample_weight, solver_type, kernel, random_seed=seed)
    177         # see comment on the other call to np.iinfo in this file
    178 

C:\Users\nnayyar\Anaconda\lib\site-packages\sklearn\svm\base.pyc in _dense_fit(self, X, y, sample_weight, solver_type, kernel, random_seed)
    229                 cache_size=self.cache_size, coef0=self.coef0,
    230                 gamma=self._gamma, epsilon=self.epsilon,
--> 231                 max_iter=self.max_iter, random_seed=random_seed)
    232 
    233         self._warn_from_fit_status()

C:\Users\nnayyar\Anaconda\lib\site-packages\sklearn\svm\libsvm.pyd in sklearn.svm.libsvm.fit (sklearn\svm\libsvm.c:1864)()

ValueError: Buffer has wrong number of dimensions (expected 1, got 2)
SVR\u model=svm.SVR(kernel='rbf',C=100,gamma=.001).fit(t\u train\u scale.transpose(),t\u test.transpose())
---------------------------------------------------------------------------
ValueError回溯(最近一次调用上次)
在()
1.
2.
---->3 SVR_model=svm.SVR(kernel='rbf',C=100,gamma=.001).fit(t_train_scale.transpose(),t_test.transpose())
C:\Users\nnayyar\Anaconda\lib\site packages\sklearn\svm\base.pyc适合(自身、X、y、样本重量)
174
175 seed=rnd.randint(np.iinfo('i').max)
-->176拟合(X,y,样本权重,解算器类型,核,随机种子=种子)
177#请参阅此文件中对np.iinfo的另一个调用的注释
178
C:\Users\nnayyar\Anaconda\lib\site packages\sklearn\svm\base.pyc in\u densite\u fit(self,X,y,sample\u weight,solver\u type,kernel,random\u seed)
229 cache_size=self.cache_size,coef0=self.coef0,
230伽马=self.\u伽马,ε=self.epsilon,
-->231 max_iter=self.max_iter,random_seed=random_seed)
232
233自我警告来自健康状态()
C:\Users\nnayyar\Anaconda\lib\site packages\sklearn\svm\libsvm.pyd在sklearn.svm.libsvm.fit(sklearn\svm\libsvm.C:1864)()
ValueError:缓冲区的维度数错误(预期为1,实际为2)
从研究中,我发现使用SVM最常见的答案是形状必须“匹配”,但如何使SVM与各种大小的数据相匹配


编辑:仍然需要一些帮助,我如何预测成千上万的预测,而不仅仅是下一个1

问题在于
fit
调用中的第二个参数

例如,第二个参数需要是一个由n个样本组成的数组,其中n是实例数,等于作为第一个参数传递的矩阵行数(X)

配合(X,y,样品重量=无)

X:{类数组,稀疏矩阵},形状(n_样本,n_特征)

y: 阵列状,形状(n_个样本)

因此,如果第一个参数的大小为
40.000 x 119
(因为您对其进行了转置),则第二个参数需要是大小为
40.000 x 1
的数组


但是,根据错误判断,您的第二个参数可能有超过1列(即2列)。

问题在于
fit
调用中的第二个参数

例如,第二个参数需要是一个由n个样本组成的数组,其中n是实例数,等于作为第一个参数传递的矩阵行数(X)

配合(X,y,样品重量=无)

X:{类数组,稀疏矩阵},形状(n_样本,n_特征)

y: 阵列状,形状(n_个样本)

因此,如果第一个参数的大小为
40.000 x 119
(因为您对其进行了转置),则第二个参数需要是大小为
40.000 x 1
的数组


但是,根据错误判断,您的第二个参数可能有超过1列(即2列)。

您所说的培训有119天的回报,目标有59天的回报是什么意思?我在培训集中有119天的回报信息,在目标集中有59天的回报信息。因此,4万人中有1人;第1天返回X,第2天返回Y…有意义吗?你说的培训有119天返回,目标有59天返回是什么意思?我在培训集中有119天返回信息,在目标集中有59天返回信息。因此,4万人中有1人;第一天返回X,第二天返回Y…有意义吗?谢谢,第二个数组是40000 X 59!也许这会有帮助,我有一年的数据,我想用前六个月的每日数据来预测未来六个月的每日收益。我需要一次预测1的收益吗?谢谢,第二个数组是40000 x 59!也许这会有帮助,我有一年的数据,我想用前六个月的每日数据来预测未来六个月的每日收益。我需要一次预测1个收益吗?