问题描述
我有一个自变量X,其中每个元素都是形状为(20,431)
的二维数组。变量X本身是形状为numpy
的二维(200,)
数组。 。如何将其传递给sklearn.SVM
对象?
编辑:实际数据框:
Category Features
0 1 [[-177.08171,-219.89174,-253.55954,-218.560...
1 0 [[-291.89288,-316.40735,-389.8398,-413.6302...
2 1 [[-355.88293,-351.0909,-364.43524,-400.7097.
Features
的每个元素都是20 * 431 numpy数组。我需要使用这些功能对类别进行分类。
x = data.iloc[:,1].values
y = data.iloc[:,0].values
x.shape
(200,)
x[0].shape
(20,431)
y.shape
(200,)
分解为训练数据和测试数据后拟合模型:
classifier = SVC(kernel = 'rbf',random_state=0)
classifier.fit(x_train,y_train)
错误:
TypeError Traceback (most recent call last)
TypeError: only size-1 arrays can be converted to Python scalars
The above exception was the direct cause of the following exception:
ValueError Traceback (most recent call last)
<ipython-input-203-fdf0fc8db087> in <module>
----> 1 classifier.fit(x_train,y_train)
~\Anaconda3\envs\LangDetEnv1.0\lib\site-packages\sklearn\svm\_base.py in fit(self,X,y,sample_weight)
160 X,y = self._validate_data(X,dtype=np.float64,161 order='C',accept_sparse='csr',--> 162 accept_large_sparse=False)
163
164 y = self._validate_targets(y)
~\Anaconda3\envs\LangDetEnv1.0\lib\site-packages\sklearn\base.py in _validate_data(self,reset,validate_separately,**check_params)
430 y = check_array(y,**check_y_params)
431 else:
--> 432 X,y = check_X_y(X,**check_params)
433 out = X,y
434
~\Anaconda3\envs\LangDetEnv1.0\lib\site-packages\sklearn\utils\validation.py in inner_f(*args,**kwargs)
71 FutureWarning)
72 kwargs.update({k: arg for k,arg in zip(sig.parameters,args)})
---> 73 return f(**kwargs)
74 return inner_f
75
~\Anaconda3\envs\LangDetEnv1.0\lib\site-packages\sklearn\utils\validation.py in check_X_y(X,accept_sparse,accept_large_sparse,dtype,order,copy,force_all_finite,ensure_2d,allow_nd,multi_output,ensure_min_samples,ensure_min_features,y_numeric,estimator)
801 ensure_min_samples=ensure_min_samples,802 ensure_min_features=ensure_min_features,--> 803 estimator=estimator)
804 if multi_output:
805 y = check_array(y,force_all_finite=True,~\Anaconda3\envs\LangDetEnv1.0\lib\site-packages\sklearn\utils\validation.py in inner_f(*args,args)})
---> 73 return f(**kwargs)
74 return inner_f
75
~\Anaconda3\envs\LangDetEnv1.0\lib\site-packages\sklearn\utils\validation.py in check_array(array,estimator)
597 array = array.astype(dtype,casting="unsafe",copy=False)
598 else:
--> 599 array = np.asarray(array,order=order,dtype=dtype)
600 except ComplexWarning:
601 raise ValueError("Complex data not supported\n"
~\Anaconda3\envs\LangDetEnv1.0\lib\site-packages\numpy\core\_asarray.py in asarray(a,order)
81
82 """
---> 83 return array(a,copy=False,order=order)
84
85
ValueError: setting an array element with a sequence.
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)