sklearn计算多分类的TFIDF

# -*- coding: utf-8 -*-
#-----------------------------------------------------------------------------------------------------------------------
__Author__ = 'assasin'
__DateTime__ = '2020/1/4 19:23'
#-----------------------------------------------------------------------------------------------------------------------

from stop_words import readFile,seg_doc
# pip install sklearn
from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.feature_extraction.text import CountVectorizer

# 利用sklearn 计算tfidf值特征

def sklearn_tfidf_feature(corpus=None):
    # 构建词汇表
    vectorize = CountVectorizer()
    # 该类会统计每一个词语的tfidf值
    transformer = TfidfTransformer()
    tfidf = transformer.fit_transform(vectorize.fit_transform(corpus))
    # print(tfidf)
    # 获取词袋模型中所有的词语
    words = vectorize.get_feature_names()
    # 将tf-idf矩阵抽取出来,元素a[i][j]表示此词在i类文本中的权重
    weight = tfidf.toarray()
    # print(weight)
    for i in range(len(weight)):
        print(u"-----这里输出第",i,u"类文本的词语tf-idf权重")
        for j in range(len(words)):
            print(words[j],weight[i][j])

if __name__ == '__main__':
    corpus = []
    path = r'./datas/体育/11.txt'
    str_doc = readFile(path)
    word_list1 = ' '.join(seg_doc(str_doc))
    # print(word_list1)

    path = r'./datas/时政/339764.txt'
    str_doc = readFile(path)
    word_list2 = ' '.join(seg_doc(str_doc))
    # print(word_list2)

    corpus.append(word_list1)
    corpus.append(word_list2)
    # print(corpus)
    sklearn_tfidf_feature(corpus)




 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值