2016-08-24 91 views
0

我正在运行一个基本的机器学习教程代码片段(它可以在教学人员的计算机上正确编译),而且我似乎无法找到问题所在。我知道这个问题已经“回答”了,但我似乎无法理解答案。机器学习:基础知识DepreciationWarning

DeprecationWarning:传递1d数组作为数据在0.17中被弃用,并且会在0.19中使ValueError失效。如果数据具有单个特征,则使用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

'deprecation'!='depreciation' ...“即将过时”v.s“损失货币价值”。 –

+0

对不起,我不太了解你的观点。阅读另一篇关于同一问题的文章,我觉得X必须是二维数组,而且必须是一维的,情况就是如此。我不清楚错误发生的原因(尤其是因为它在我正在观看的教程中没有发生)以及它意味着什么。 – wowdavers

+0

看看你的头衔...错字 –

回答

0

由于您的数据不止一个功能,它包含多个单个样本,你很好。这只是一个警告,不应该干扰算法的行为。

+0

啊,好的。我现在是一个全新手,所以我只想知道这个错误是否影响了任何事情,以及它的含义。非常感谢! – wowdavers