VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > 简明python教程 >
  • 初识人工智能(二):机器学习(一):sklearn特征抽取(3)

', '方式', '明天', '星系', '晚上', '某样', '残酷', '每个', '看到', '真正', '秘密', '绝对', '美好', '联系', '过去', '这样']
  • [[0 0 1 0 0 0 2 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 2 0 1 0 2 1 0 0 0 1 1 0 0 0]
  • [0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 3 0 0 0 0 1 0 0 0 0 2 0 0 0 0 0 1 1]
  • [1 1 0 0 4 3 0 0 0 0 1 1 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 0 0 2 1 0 0 1 0 0]]
  • 1.5 TF-IDF

    TF-IDF的主要思想是:如果某个词或短语在一篇文章中出现的概率高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。

    TF-IDF作用:用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。

    类:sklearn.feature_extraction.text.TfidfVectorizer

    TfidfVectorizer语法:

    TfidfVectorizer(stop_words=None,…)

    • 返回词的权重矩阵
    • TfidfVectorizer.fit_transform(X,y)
      •   X:文本或者包含文本字符串的可迭代对象
      •   返回值:返回sparse矩阵
    • TfidfVectorizer.inverse_transform(X)
      •   X:array数组或者sparse矩阵
      •   返回值:转换之前数据格式
    • TfidfVectorizer.get_feature_names()
      •   返回值:单词列表
    
    	
    1. from sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizer
    2. import jieba
    3.  
    4. def cutword():
    5.  
    6. con1 = jieba.cut("今天很残酷,明天更残酷,后天很美好,但绝对大部分是死在明天晚上,所以每个人不要放弃今天。")
    7.  
    8. con2 = jieba.cut("我们看到的从很远星系来的光是在几百万年之前发出的,这样当我们看到宇宙时,我们是在看它的过去。")
    9.  
    10. con3 = jieba.cut("如果只用一种方式了解某样事物,你就不会真正了解它。了解事物真正含义的秘密取决于如何将其与我们所了解的事物相联系。")
    11.  
    12. # 转换成列表
    13. content1 = list(con1)
    14. content2 = list(con2)
    15. content3 = list(con3)
    16.  
    17. # 把列表转换成字符串
    18. c1 = ' '.join(content1)
    19. c2 = ' '.join(content2)
    20. c3 = ' '.join(content3)
    21.  
    22. return c1, c2, c3
    23.  
    24. def tfidfvec():
    25. """
    26. 中文特征值化
    27. :return: None
    28. """
    29. c1, c2, c3 = cutword()
    30.  
    31. print(c1, c2, c3)
    32.  
    33. tf = TfidfVectorizer()
    34.  
    35. data = tf.fit_transform([c1, c2, c3])
    36.  
    37. print(tf.get_feature_names())
    38.  
    39. print(data.toarray())
    40.  
    41. return None
    42.  
    43. if __name__ == "__main__":
    44. tfidfvec()

    运行结果:

    
    	
    1. Building prefix dict from the default dictionary ...
    2. Loading model from cache C:\Users\ACER\AppData\Local\Temp\jieba.cache
    3. Loading model cost 0.633 seconds.
    4. Prefix dict has been built successfully.
    5. 今天
    
    相关教程