预测svm中的多类

sug*_*han 1 python machine-learning svm scikit-learn text-classification

我有用户评论数据集

review-1, 0,1,1,0,0
Run Code Online (Sandbox Code Playgroud)

review-1是用户审核,0,1,1,0,0是审核类别.一篇评论可以有多个类别.我想预测评论的类别.所以我实现了代码

transformer = TfidfVectorizer(lowercase=True, stop_words=stop, max_features=500)
X = transformer.fit_transform(df.Review)

X_train, X_test, y_train, y_test = train_test_split(X, df.iloc[:, 1:6],
                                                test_size=0.25, random_state=42)

SVM = svm.SVC()
SVM.fit(X_train, y_train)
Run Code Online (Sandbox Code Playgroud)

但我得到的错误就像

ValueError: bad input shape (75, 5)
Run Code Online (Sandbox Code Playgroud)

有谁能建议任何好的解决方案来解决这个问题

Ven*_*lam 5

您可以使用二进制分类器(如svm.SVC())来解决使用的多标签分类问题OneVsRestClassifier.

例:

from sklearn.multiclass import OneVsRestClassifier

from sklearn.svm import SVC

cls = OneVsRestClassifier(estimator=SVC(gamma ='auto'))

import numpy as np
cls.fit(np.random.rand(20,10),np.random.binomial(1,0.2,size=(20,5)))
Run Code Online (Sandbox Code Playgroud)