sklearn----------------CountVectorizer

 

CountVectorizer是词频转换函数,其详细用法为

from sklearn.feature_extraction.text import CountVectorizer
cv=CountVectorizer()
texts=['yellow blue red break','yellow blue red','blue blue break','blue red','break']
vocabu=cv.fit_transform(texts)

上面已经生成了词频矩阵

get_feature_names()可看到所有文本的关键字

vocabulary_可看到所有文本的关键字和其位置

toarray()可看到词频矩阵的结果

print(cv.get_feature_names())

###['blue', 'break', 'red', 'yellow']

print(cv.vocabulay_)

###{'yellow': 3, 'blue': 0, 'red': 2, 'break': 1}  value值表示索引,可以与上面打印的对比

print(vocabu.toarray())

###[[1 1 1 1]
    [1 0 1 1]
    [2 1 0 0]
    [1 0 1 0]
    [0 1 0 0]]

上面的词频矩阵可以作为训练集,再结合上对应的label,就可以直接拿来训练。那么测试集怎么生成?可以用transform

上面建好了词典,下面用transform将新数据转换成词向量

new_data=cv.transform(['yellow yellow','green']).toarray()

print(new_data)

##[[0 0 0 2]
   [0 0 0 0]]      可以发现在第一句'yellow yellow'中,yellow出现了两次,所以在词向量中yellow的位置为2.在第二句'green'中,因为green在原词典中没有出现,所以词向量都是0.

这里生成的词向量可以用来测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值