我有类似的用户评论数据集
review-1, 0,1,1,0,0
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)
但是我遇到类似的错误
ValueError: bad input shape (75, 5)
有人能建议解决这个问题的好办法吗?
答案 0 :(得分: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)))