我正在使用Perceptron训练虹膜数据集,并发现以下错误。


  ValueError:类标签的数量必须大于1。


下面的代码

y = df.iloc[0:100, 4].values
y = np.where(y== 'Iris-setosa', -1,1)
X = df.iloc[0:100, [0,2]].values
ppn = Perceptron(eta0=0.1, n_iter=10)
ppn.fit(X,y)


目的是使用“物种类型”的“萼片长度”和“花瓣长度”来拟合数据。
我不了解此错误。我该如何纠正?

df.head() #for reference
   Sepal.Length  Sepal.Width  Petal.Length  Petal.Width Species
0           5.1          3.5           1.4          0.2  setosa
1           4.9          3.0           1.4          0.2  setosa
2           4.7          3.2           1.3          0.2  setosa
3           4.6          3.1           1.5          0.2  setosa

最佳答案

您正在尝试预测在您的示例中仅具有一个“ setosa”值的物种。您至少需要具有不同的值。

关于python-3.x - 类标签的数量必须大于1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40821627/

10-09 08:04