我正在使用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/