Skip to main content
 首页 » 编程设计

python之在 svm 中预测多类

2025年05月04日19bluestorm

我有像这样的用户评论数据集

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) 

谁能提出任何好的解决方案来解决这个问题?

请您参考如下方法:

您可以使用二元分类器(如 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)))