機器學習---文本特徵抽取---TFIDF

背景:某個詞或某個短語在某類文章中出現的頻率高,並且在別類文章中頻率不高,適合用於分類
TF-IDF作用:用以評估一字詞對於文件集或一個語料庫中的其中一份文件的重要程度

1. 公式

1.1 詞頻(term frequency, tf) 指的是某一個給定的詞語在該文件中出現的頻率
1.2 逆向文檔頻率(inverse document frequency, idf) 是一個詞語普遍重要性的度量。某一特定詞語的idf可以由總文件數目除以包含該詞語之文件的數量,再將得到的商取以10爲底的對數得到最終得到的結果可以理解爲該詞的重要程度

示例代碼

def tfidf_demo():
    """
    用TF-IDF的方法進行文本特徵抽取
    :return:
    """
    # 將中文文本進行分詞
    data = ["一種還是一種今天很殘酷,明天更殘酷,後天很美好,但絕對大部分是死在明天晚上,所以每個人不要放棄今天。",
            "我們看到的從很遠星系來的光是在幾百萬年之前發出的,這樣當我們看到宇宙時,我們是在看它的過去。",
            "如果只用一種方式瞭解某樣事物,你就不會真正瞭解它。瞭解事物真正含義的祕密取決於如何將其與我們所瞭解的事物相聯繫。"]

    data_new = []
    for sent in data:
        data_new.append(cut_word(sent))
    # print(data_new)
    # 1、實例化一個轉換器類
    transfer = TfidfVectorizer(stop_words=["一種", "所以"])

    # 2、調用fit_transform
    data_final = transfer.fit_transform(data_new)
    print("data_new:\n", data_final.toarray())
    print("特徵名字:\n", transfer.get_feature_names())

    return None

實現結果

在這裏插入圖片描述

特徵名字:
 ['不會', '不要', '之前', '瞭解', '事物', '今天', '光是在', '幾百萬年', '發出', '取決於', '只用', '後天', '含義', '大部分', '如何', '如果', '宇宙', '我們', '放棄', '方式', '明天', '星系', '晚上', '某樣', '殘酷', '每個', '看到', '真正', '祕密', '絕對', '美好', '聯繫', '過去', '還是', '這樣']
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章