• 【机器学习】sklearn库的学习之TF-IDF算法,python,超简单!


    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
  • 相关阅读:
    ZIP压缩算法详细分析及解压实例解释
    nyoj 269 VF
    骨牌覆盖问题 KxM
    骨牌覆盖问题
    省赛总结...
    归并排序求逆序对
    「JLOI2014」松鼠的新家
    「JSOI2011」任务调度
    「JSOI2010」找零钱的洁癖
    「JSOI2011」棒棒糖
  • 原文地址:https://www.cnblogs.com/helenlee01/p/12617456.html
Copyright © 2020-2023  润新知