Python 当我输入一个大数组时,我得到ValueError:找到了一个dim为3的数组。预计估计值<;=2. &燃气轮机&燃气轮机&燃气轮机;

Python 当我输入一个大数组时,我得到ValueError:找到了一个dim为3的数组。预计估计值<;=2. &燃气轮机&燃气轮机&燃气轮机;,python,numpy,machine-learning,svm,Python,Numpy,Machine Learning,Svm,我正在尝试将swm应用于导入的阵列(它们非常大)。但是,我在第22行中不断遇到以下错误: ValueError:找到了具有dim 3的数组。预期的估计器F具有维度2。[F],这就是你传递给预测调用的内容,实际上是三维的。为什么在预测调用中把F括在一个列表中?有没有其他方法可以输入数据以便我们可以进行svm预测或将预测转换为2d。当我尝试使用[4,4]之类的数组时,看起来很好。@pfftkhaganate:再次:您在predict调用中传递了[F],这没有任何意义。将clf.predict([F]

我正在尝试将swm应用于导入的阵列(它们非常大)。但是,我在第22行中不断遇到以下错误:


ValueError:找到了具有dim 3的数组。预期的估计器
F
具有维度2。
[F]
,这就是你传递给
预测
调用的内容,实际上是三维的。为什么在
预测
调用中把
F
括在一个列表中?有没有其他方法可以输入数据以便我们可以进行svm预测或将预测转换为2d。当我尝试使用[4,4]之类的数组时,看起来很好。@pfftkhaganate:再次:您在predict调用中传递了
[F]
,这没有任何意义。将
clf.predict([F])
替换为
clf.predict(F)
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import style
style.use("ggplot")
from sklearn import svm

alap = np.loadtxt("next")
print(alap)
al = np.loadtxt("next2")
print(al)
x = [1, 5, 1.5, 8, 1, 9]
y = [2, 8, 1.8, 8, 0.6, 11]

X = np.array([[alap],
         [al]])
F = X.reshape(X.shape[0], -1)
w = [0,1]

clf = svm.SVC(kernel='linear', C = 1.0)
clf.fit(F,w)

print(clf.predict([F]))

plt.scatter(x,y)
plt.show()