我正在运行一个基本的机器学习教程代码片段(在教学人员的计算机上正确编译),我似乎无法找到错误。我理解这个问题已被“回答”,但我似乎无法理解答案。
DeprecationWarning:传递1d数组作为数据在0.17中弃用,并且将ValueError用于0.19。如果数据具有单个要素,则使用X.reshape(-1,1)重新整形数据;如果包含单个样本,则使用X.reshape(1,-1)重新整形数据。 DeprecationWarning) [0]
显然我只是使用X.reshape(-1,1)或X.reshape(1,-1),但我不确定究竟是如何在一般情况下工作,或者是否应将它们放在之前或者在我绘制/获取数据之后。
这是我的源代码。非常感谢任何帮助: - )
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import style
style.use("ggplot")
from sklearn import svm
x = [1, 5, 1.5, 8, 1, 9]
y = [2, 8, 1.8, 8, 0.6, 11]
plt.scatter(x,y)
plt.show()
X = np.array([[1,2],
[5,8],
[1.5,1.8],
[8,8],
[1,0.6],
[9,11]])
y = [0,1,0,1,0,1]
clf = svm.SVC(kernel='linear', C = 1.0)
clf.fit(X,y)
print(clf.predict([0.58,0.76]))
答案 0 :(得分:0)
由于您的数据具有多个功能且包含多个样本,因此您可以。这只是一个警告,不应该干扰算法的行为。