机器学习:基础知识折旧警告

时间:2016-08-24 19:18:24

标签: python numpy matplotlib scikit-learn svm

我正在运行一个基本的机器学习教程代码片段(在教学人员的计算机上正确编译),我似乎无法找到错误。我理解这个问题已被“回答”,但我似乎无法理解答案。

  

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]))

1 个答案:

答案 0 :(得分:0)

由于您的数据具有多个功能且包含多个样本,因此您可以。这只是一个警告,不应该干扰算法的行为。