python教程—Python脚本“期望2D数组,却得到了1D数组”中的错误:?-Python实用宝典

python教程—Python脚本“期望2D数组,却得到了1D数组”中的错误:?

我正在按照本教程进行ML预测:我使用的是Python 3.6,结果我得到错误“Expected 2D array, got 1D array instead:” 我想这个脚本是针对老版本的,但是我不知道如何将它转换成3.6版本。

我遵循本教程作出这个ML预测:

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

我用的是python3.6,我得到错误"预期2D数组,得到了1D数组"
我想这个脚本是针对老版本的,但是我不知道如何将它转换成3.6版本。

已经尝试了:

    X.reshape(1, -1)

回答

您只需要用相同的2D数组提供predict方法,但是要处理一个(或多个)值。简而言之,你可以替换

    [0.58,0.76]

    [[0.58,0.76]]

它应该会起作用

​Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

本文由 Python实用宝典 作者:Python实用宝典 发表,其版权均为 Python实用宝典 所有,文章内容系作者个人观点,不代表 Python实用宝典 对观点赞同或支持。如需转载,请注明文章来源。
1

发表评论