【发布时间】:2018-01-15 04:17:29
【问题描述】:
我正在关注this tutorial 进行此机器学习预测:
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]
X.reshape(1, -1)
clf = svm.SVC(kernel='linear', C = 1.0)
clf.fit(X,y)
print(clf.predict([0.58,0.76]))
我正在使用 Python 3.6,但出现错误“预期的 2D 数组,得到 1D 数组:” 我认为该脚本是针对旧版本的,但我不知道如何将其转换为 3.6 版本。
已经尝试过:
X.reshape(1, -1)
【问题讨论】:
-
哪一行产生了错误?
-
X = X.reshape(1, -1)。重塑未到位。 -
@stackoverflowuser2010:我猜最后一行
clf.predict(<a-1d-thing>),因为X已经是二维的(尽管reshape没用)。 -
@MarkDickinson 是的,最后一行是。
-
@JonTargaryen 重塑在正确的位置,但您正在丢弃结果。将结果分配回
X。
标签: python python-3.x machine-learning predict