當前位置:成語大全網 - 成語詞典 - 詳解 one-hot 和 TF-IDF

詳解 one-hot 和 TF-IDF

? one-hot 和 TF-IDF 是提取文本特征的最為常見的方法,下文主要介紹它們主要的思想以及優缺點。

1.1 one-hot編碼

one-hot 編碼,又稱獨熱編碼、壹位有效編碼。其方法是使用N位狀態寄存器來對N個狀態進行編碼,每個狀態都有它獨立的寄存器位,並且在任意時候,其中只有壹位有效。舉個例子,假設我們有三個樣本(行),每個樣本有三個特征(列):

?上表中我們已經對每個特征進行了普通的數字編碼:我們的feature_1有兩種可能的取值,比如是男/女,這裏男用0表示,女用1表示。那麽one-hot編碼是怎麽搞的呢?

?我們再拿feature_2來說明:這裏feature_2 有4種取值(狀態),我們就用4個狀態位來表示這個特征,one-hot編碼就是保證每個樣本中的單個特征只有1位處於狀態1,其他的都是0。

對於兩種狀態、三種狀態、甚至更多狀態都是這樣表示,所以我們可以得到這些樣本特征的新表示:

one-hot 編碼將每個狀態位都看成壹個特征。於是我們可以得到它們的特征向量分別為:

1.2 one-hot在提取文本特征上的應用

? one-hot 在特征提取上屬於詞袋模型(bag of words)。關於如何使用 one-hot 抽取文本特征向量我們通過以下例子來說明。假設我們的語料庫中有三段話:

我愛中國

爸爸媽媽愛我

爸爸媽媽愛中國

我們首先對語料庫分離並獲取其中所有的詞,然後對每個此進行編號:

1 我; 2 愛; 3 爸爸; 4 媽媽;5 中國

然後使用 one-hot 對每段話提取特征向量:

因此我們得到了最終的特征向量為

優缺點分析:

優點 :

缺點 :

sklearn實現one hot encode

註意: 假如要進行編碼的數據沒有出現在對應列中將會出現錯誤

? IF-IDF 是信息檢索(IR)中最常用的壹種文本表示法。算法的思想很簡單,就是統計每個詞出現的 詞頻(TF) ,然後再為其附上壹個 權值參數(IDF) 。舉個例子:

?現在假設我們要統計壹篇文檔中的前10個關鍵詞,應該怎麽下手?首先想到的是統計壹下文檔中每個詞出現的頻率(TF),詞頻越高,這個詞就越重要。但是統計完妳可能會發現妳得到的關鍵詞基本都是“的”、“是”、“為”這樣沒有實際意義的詞(停用詞),這個問題怎麽解決呢?妳可能會想到為每個詞都加壹個權重,像這種”停用詞“就加壹個很小的權重(甚至是置為0),這個權重就是IDF。下面再來看看公式:

優缺點分析

優點:簡單快速,結果比較符合實際

缺點:單純考慮詞頻,忽略了詞與詞的位置信息以及詞與詞之間的相互關系。

sklearn 實現 tfidf