【问题标题】:ValueError: The number of classes has to be greater than one; got 1 classValueError:类的数量必须大于一;上了一堂课
【发布时间】:2020-08-08 19:06:59
【问题描述】:
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)

和错误:ValueError Traceback(大多数 最近通话最后)在() 1 SVM = svm.SVC(C=1.0, kernel='linear', degree=3, gamma='auto') ----> 2 SVM.fit(Train_X_Tfidf,Train_Y) 3 # 预测验证数据集上的标签 4 预测_SVM = SVM.predict(Test_X_Tfidf) 5 # 使用accuracy_score函数获取准确率

1 帧 /usr/local/lib/python3.6/dist-packages/sklearn/svm/_base.py 在 _validate_targets(self, y) 第529章 530 "类的数量必须大于一;得到 %d" --> 531 "类" % len(cls)) 532 第533章

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

如何解决?

【问题讨论】:

    标签: python text-classification valueerror


    【解决方案1】:

    这意味着您的训练数据中只有一个类。这就是代码在fit 方法中所做的内部操作

    self.classes_ = np.unique(y)
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-22
      • 1970-01-01
      • 2017-04-08
      • 2021-12-10
      • 2017-08-17
      • 2017-10-29
      • 1970-01-01
      • 2019-02-18
      相关资源
      最近更新 更多