TFIDF练习
直接上代码吧:
1 """ 2 测试Demo 3 """ 4 import lightgbm as lgb 5 import numpy as np 6 from sklearn.feature_extraction.text import TfidfVectorizer 7 from sklearn.feature_extraction.text import CountVectorizer 8 9 10 def use_lgb(): 11 # 训练数据,500个样本,10个维度 12 train_data = np.random.rand(500, 10) 13 # 构建二分类数据 14 label = np.random.randint(2, size=500) 15 # 放入到dataset中 16 train = lgb.Dataset(train_data, label=label) 17 print(train) 18 19 20 def use_tfidf(): 21 sentence = ['没有 你 的 地方 都是 他乡', '没有 你 的 旅行 都是 流浪'] 22 # 不去掉停用词 23 c = CountVectorizer(stop_words=None) 24 25 # 拟合模型返回文本矩阵 26 count_word_tf = c.fit_transform(sentence) 27 28 # print(count_word_tf.toarray()) 29 # # 查看那些词,以字典的形式 30 # print(c.vocabulary_) 31 # # 得到特征 32 # print(c.get_feature_names()) 33 34 35 ############################### 36 stopword = ['都是'] 37 # 构建一个tfidf向量器,去除停用词 38 tfidf = TfidfVectorizer(stop_words=stopword) 39 40 # 给出tfidf的权重,将tfidf矩阵抽取出来 41 weight = tfidf.fit_transform(sentence).toarray() 42 # 给出特征名称 43 word = tfidf.get_feature_names() 44 45 print("有哪些词:") 46 print(word) 47 48 print("\n词汇表以及他们的位置索引:") 49 for key, value in tfidf.vocabulary_.items(): 50 print(key, value) 51 52 print("\n词频矩阵:") 53 print(weight) 54 print(len(weight)) 55 56 # 打印每类文本中的tfidf权重,第一个for变量所有样本,第二个for遍历某一类文档下的所有权重 57 for i in range(len(weight)): 58 print("这里输出的是第{}文本的词语tfidf权重".format(i)) 59 for j in range(len(word)): 60 # 经过tfidf后,找出每篇文档相关的词,这些词就是精心挑选出来的。然后根据这些词到文档中去找到tfidf值 61 print(word[j], weight[i][j]) 62 63 64 if __name__ == '__main__': 65 use_tfidf()
输出:
1 有哪些词: 2 ['他乡', '地方', '旅行', '没有', '流浪'] 3 4 词汇表以及他们的位置索引: 5 他乡 0 6 旅行 2 7 流浪 4 8 地方 1 9 没有 3 10 11 词频矩阵: 12 [[0.6316672 0.6316672 0. 0.44943642 0. ] 13 [0. 0. 0.6316672 0.44943642 0.6316672 ]] 14 2 15 这里输出的是第0文本的词语tfidf权重 16 他乡 0.6316672017376245 17 地方 0.6316672017376245 18 旅行 0.0 19 没有 0.4494364165239821 20 流浪 0.0 21 这里输出的是第1文本的词语tfidf权重 22 他乡 0.0 23 地方 0.0 24 旅行 0.6316672017376245 25 没有 0.4494364165239821 26 流浪 0.6316672017376245
本文参考:https://blog.csdn.net/the_lastest/article/details/79093407
时刻记着自己要成为什么样的人!
分类:
LightGBM
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2017-09-10 NLP-python 自然语言处理01