ValueError: 类的数量必须大于1;得到1个类。

问题描述 投票:0回答:1
SVM = svm.SVC(C=1.0, kernel='linear', degree=3, gamma='auto')
SVM.fit(Train_X_Tfidf,Train_Y)

predictions_SVM = SVM.predict(Test_X_Tfidf)

print("SVM Accuracy Score -> ",accuracy_score(predictions_SVM, Test_Y)*100)

而Error : 1 SVM = svm.SVC(C=1.0, kernel='线性', degree=3, gamma='auto') ----> 2 SVM.fit(Train_X_Tfidf,Train_Y) 3 # 预测验证数据集上的标签 4 predictions_SVM = SVM.predict(Test_X_Tfidf) 5 # 使用accounteracy_score函数获得准确度

1帧 usrlocallibpython3.6dist-packagessklearnsvm_base.py in _validate_targets(self, y) 529 raise ValueError( 530 "类的数量必须大于1;得到了%d" --> 531 " class" % len(cls)) 532 533 self.classes_ = cls

ValueError: 类的数量必须大于1;得到1个类。

如何解决这个问题?

python text-classification valueerror
1个回答
0
投票

这意味着你的训练数据中只有一个类。这就是内部代码在 fit 办法

self.classes_ = np.unique(y)

然后它通过检查是否有少于2个类来验证它。您可以通过以下操作来确认 np.unique(Train_Y)

© www.soinside.com 2019 - 2024. All rights reserved.