python - Sklearn 用 StandardScaler 拟合 SVM
问题描述
请在我的数据集上拟合 svr 并收到此错误消息。当我没有包含标准缩放器时,它正在工作。我已经尝试了所有方法,但仍然无法正常工作。
from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
sc_y = StandardScaler()
X = sc_X.fit_transform(X)
y = sc_y.fit_transform(np.array(y).reshape(1,-1))
from sklearn.svm import SVR
regressor = SVR(kernel = 'rbf')
regressor.fit(X,y)`
--------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-14-75416c35e495> in <module>
2 from sklearn.svm import SVR
3 regressor = SVR(kernel = 'rbf') # rbf means radial basis function
----> 4 regressor.fit(X,y)
C:\anconda\lib\site-packages\sklearn\svm\_base.py in fit(self, X, y, sample_weight)
146 X, y = check_X_y(X, y, dtype=np.float64,
147 order='C', accept_sparse='csr',
--> 148 accept_large_sparse=False)
149 y = self._validate_targets(y)
150
C:\anconda\lib\site-packages\sklearn\utils\validation.py in check_X_y(X, y, 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, warn_on_dtype, estimator)
758 dtype=None)
759 else:
--> 760 y = column_or_1d(y, warn=True)
761 _assert_all_finite(y)
762 if y_numeric and y.dtype.kind == 'O':
C:\anconda\lib\site-packages\sklearn\utils\validation.py in column_or_1d(y, warn)
795 return np.ravel(y)
796
--> 797 raise ValueError("bad input shape {0}".format(shape))
798
799
ValueError: bad input shape (1, 10)
解决方案
您正在向 SVM 提供一个维度为 (1,10) 的目标向量,这意味着一行十列,这是错误的,这是由于您使用了重塑
y = sc_y.fit_transform(np.array(y).reshape(1,-1))
请注意,这条线在概念上也是错误的,标准化应该只应用于训练特征,而不是目标向量,所以你可以避免定义
sc_y = StandardScaler()
推荐阅读
- react-native - 无法安装反应导航({react native})
- javascript - 自动对焦输入模式在 Ng-Datepicker 中不起作用
- python - Python Eve - REST API additional_lookup 不起作用
- python - Python中的父子项目符号
- jpeg - 需要 jpeg 的测试图像
- ios - 无需触摸手动启动 UIPanGestureRecognizer
- javascript - 在spring boot项目的html页面中链接jQuery文件
- postgresql - postgresql 中的数组
- python - 函数积分 - Keras 自定义损失
- wordpress - 用于在多站点网络中克隆 wordpress 站点的自定义插件