ValueError: количество классов должно быть больше одного; получил 1 класс - PullRequest
0 голосов
/ 25 апреля 2020
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 (последний вызов последнего) в () 1 SVM = svm.SV C (C = 1,0, ядро ​​= 'линейный', степень = 3, гамма = ' auto ') ----> 2 SVM.fit (Train_X_Tfidf, Train_Y) 3 # предсказать метки в наборе данных для проверки 4вестии frames /usr/local/lib/python3.6/dist-packages/sklearn/svm/_base.py в _validate_targets (self, y) 529 повысить ValueError (530 "Количество классов должно быть больше единицы; получено % d "-> 531" класс "% len (cls)) 532 533 self.classes_ = cls

ValueError: количество классов должно быть больше одного; получил 1 класс

Как это решить?

1 Ответ

0 голосов
/ 25 апреля 2020

Это означает, что у вас есть только один класс в ваших данных обучения. Это то, что внутренне делает код в методе fit

self.classes_ = np.unique(y)

, а затем проверяет его, проверяя наличие менее 2 классов.
Вы можете подтвердить это, выполнив np.unique(Train_Y)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...