机器学习中的文本表示:特征提取时需要把测试数据一起提取了吗?

本文探讨了在机器学习文本分类中,特征提取是否应包括测试数据的问题。通过对比只对训练数据进行特征提取和同时提取训练与测试数据的情况,发现后者能显著提高模型的准确率。文章介绍了one-hot编码、词袋模型、N-gram和TF-IDF等文本表示方法,并分析了它们在文本分类中的效果。TF-IDF虽然提升准确率但速度较慢,可能需要GPU加速。
摘要由CSDN通过智能技术生成

在使用机器学习做简单的文本分类时,突然有这个疑问。
使用词袋模型也就是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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>