from sklearn.feature_extraction.text import CountVectorizer
#文本特征提取
data=['我 爱 北京 北京 天安门','天安门 上 太阳 升']
#实例化一个转换器类
transfer=CountVectorizer()
#调用fit_transform
data_new=transfer.fit_transform(data)
print('特征名字\n',transfer.get_feature_names_out())
print('data_new\n',data_new.toarray())
运行结果
此处中文是自己手动分割的,并不太方便,调用jieba函数来更好的进行分词
import jieba
#文本特征提取
data=['我仍觉那无数个奋笔疾书的日夜','无数个自我治愈的瞬间','无数个含泪坚持的时刻','都在不经息间汇成生命的宽度']
data_new=[]
#进行循环遍历进行jieba分词
for i in data:
x=" ".join(jieba.cut(i))
data_new.append(x)
print(data_new)
初步验证jieba分词是否可行
而后与上面步骤相同进行文本特征值提取
from sklearn.feature_extraction.text import CountVectorizer
import jieba
#文本特征提取
data=['我仍觉那无数个奋笔疾书的日夜','无数个自我治愈的瞬间','无数个含泪坚持的时刻','都在不经息间汇成生命的宽度']
data_new=[]
#进行循环遍历进行jieba分词
for i in data:
x=" ".join(jieba.cut(i))
data_new.append(x)
# print(data_new)
#实例化一个转换器类
transfer=CountVectorizer()
#调用fit_transform
data_new=transfer.fit_transform(data_new)
print('特征名字\n',transfer.get_feature_names_out())
print('data_new\n',data_new.toarray())
添加stop_words可以去除指定特征词,展示效果如下
#实例化一个转换器类
transfer=CountVectorizer(stop_words=['仍觉','自我'])