tfidf算法python计算权重_[机器学习]sklearn库TF-IDF算法,python,超级简单!,的,之,TFIDF...

Sklearn库的学习之TF-IDF算法:

# coding:utf-8

import jieba

import jieba.posseg as pseg

import os

import sys

from sklearn import feature_extraction

from sklearn.feature_extraction.text import TfidfTransformer

from sklearn.feature_extraction.text import CountVectorizer

if __name__ == "__main__":

corpus=["我 喜欢 超级 赛亚人",#第一类文本切词后的结果,词之间以空格隔开

"他 喜欢 哪吒",#第二类文本的切词结果

"一切 困难 我们 都 能 战胜 奥力给",#第三类文本的切词结果

"今天 又 是 元气满满 的 一天"]#第四类文本的切词结果

vectorizer=CountVectorizer()#该类会将文本中的词语转换为词频矩阵,矩阵元素a[i][j] 表示j词在i类文本下的词频

transformer=TfidfTransformer()#该类会统计每个词语的tf-idf权值

tfidf=transformer.fit_transform(vectorizer.fit_transform(corpus))#第一个fit_transform是计算tf-idf,第二个fit_transform是将文本转为词频矩阵

word=vectorizer.get_feature_names()#获取词袋模型中的所有词语

weight=tfidf.toarray()#将tf-idf矩阵抽取出来,元素a[i][j]表示j词在i类文本中的tf-idf权重

for i in range(len(weight)):#打印每类文本的tf-idf词语权重,第一个for遍历所有文本,第二个for便利某一类文本下的词语权重

print(u"-------这里输出第",i,u"类文本的词语tf-idf权重------")

for j in range(len(word)):

print(word[j],weight[i][j])

运行结果:

-------这里输出第 0 类文本的词语tf-idf权重------

一切 0.0

一天 0.0

今天 0.0

元气满满 0.0

哪吒 0.0

喜欢 0.48693426407352264

困难 0.0

奥力给 0.0

我们 0.0

战胜 0.0

赛亚人 0.6176143709756019

超级 0.6176143709756019

-------这里输出第 1 类文本的词语tf-idf权重------

一切 0.0

一天 0.0

今天 0.0

元气满满 0.0

哪吒 0.7852882757103967

喜欢 0.6191302964899972

困难 0.0

奥力给 0.0

我们 0.0

战胜 0.0

赛亚人 0.0

超级 0.0

-------这里输出第 2 类文本的词语tf-idf权重------

一切 0.4472135954999579

一天 0.0

今天 0.0

元气满满 0.0

哪吒 0.0

喜欢 0.0

困难 0.4472135954999579

奥力给 0.4472135954999579

我们 0.4472135954999579

战胜 0.4472135954999579

赛亚人 0.0

超级 0.0

-------这里输出第 3 类文本的词语tf-idf权重------

一切 0.0

一天 0.5773502691896257

今天 0.5773502691896257

元气满满 0.5773502691896257

哪吒 0.0

喜欢 0.0

困难 0.0

奥力给 0.0

我们 0.0

战胜 0.0

赛亚人 0.0

超级 0.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值