在使用机器学习做简单的文本分类时,突然有这个疑问。
使用词袋模型也就是CountVectorizer进行词表示(也就是特征提取啦),我只提取了一部分训练数据的特征去训练,然后测试数据单独进行词表示后进行预测,发现这准确率很低很低啊如代码所示
import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer,TfidfVectorizer
from sklearn.metrics import f1_score
from sklearn.linear_model import RidgeClassifier
from sklearn.model_selection import train_test_split
df= pd.read_csv('data/train_set.csv',sep='\t',nrows=15000)
x = df['text']
y = df['label'].values
xtrain, xtest, ytrain, ytest = train_test_split(x,y,test_size=0.3, random_state=420)
cv = CountVectorizer(max_features=3000)
cv_fit = cv.fit_transform(xtrain)#可以转换为稀疏矩阵的元祖
clf = RidgeClassifier()
clf.fit(cv