Reshape your data either using array.reshape(-1, 1)


from sklearn import svm
import numpy as np

x = [[2, 0], [1, 1], [2, 3]]
y = [0, 0, 1]  #标签
clf = svm.SVC(kernel= 'linear')
clf.fit(x, y)


print(clf)
print('支持向量', clf.support_vectors_) #支持向量
print('下标', clf.support_) #支持向量下标
print('svm个数',clf.n_support_) #每一类中有几个支持向量
z = [0, 1]
z = np.array(z).reshape((1, -1))
print(clf.predict([0, 1])) #测试数据


Traceback (most recent call last):
  File "/Users/fengweijiao/Desktop/develop/python/ml/svm/svmTest.py", line 24, in <module>
    print(clf.predict([0, 1])) #测试数据
  File "/usr/local/lib/python3.6/site-packages/sklearn/svm/base.py", line 548, in predict
    y = super(BaseSVC, self).predict(X)
  File "/usr/local/lib/python3.6/site-packages/sklearn/svm/base.py", line 308, in predict
    X = self._validate_for_predict(X)
  File "/usr/local/lib/python3.6/site-packages/sklearn/svm/base.py", line 439, in _validate_for_predict
    X = check_array(X, accept_sparse='csr', dtype=np.float64, order="C")
  File "/usr/local/lib/python3.6/site-packages/sklearn/utils/validation.py", line 441, in check_array
    "if it contains a single sample.".format(array))
ValueError: Expected 2D array, got 1D array instead:
array=[ 0.  1.].
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
  decision_function_shape='ovr', degree=3, gamma='auto', kernel='linear',
  max_iter=-1, probability=False, random_state=None, shrinking=True,
  tol=0.001, verbose=False)


参考stackflow上的方法,https://stackoverflow.com/questions/35166146/sci-kit-learn-reshape-your-data-either-using-x-reshape-1-1


  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值