[機器學習]特徵提取(feature extraction)

2019-03-28  本文已影响0人  RJ阿杰

特徵提取(feature extraction)

特徵提取將機器學習算法不能識別的原始數據轉化為算法可以識別的特徵,特徵萃取的目的,主要是讓我們能夠利用這些特徵對物件種類進行判別,常用於圖像識別、語意辨識等等...。

類別特徵(Category feature)

常見非數值資料就是分類(categorical)資料,資料是離散的,例如性別:男、女,職業:醫生、護士、司機、工程師...等,我們通常會將他轉為ont-hot-encoding形式。

sklearn.preprocessing.OneHotEncoder
sklearn.compose.ColumnTransformer

文字特徵

常見的文字特徵如一篇文章或一句句子,我們提取成Bag-of-words或者word embedding

Bag-of-words

維基百科TF-IDF的例子:
有很多不同的數學公式可以用來計算tf-idf。詞頻(tf)是一詞語出現的次數除以該檔案的總詞語數。假如一篇檔案的總詞語數是100個,而詞語「母牛」出現了3次,那麼「母牛」一詞在該檔案中的詞頻就是3/100=0.03。而計算檔案頻率(IDF)的方法是以檔案集的檔案總數,除以出現「母牛」一詞的檔案數。所以,如果「母牛」一詞在1,000份檔案出現過,而檔案總數是10,000,000份的話,其逆向檔案頻率就是lg(10,000,000 / 1,000)=4。最後的tf-idf的分數為0.03 * 4=0.12。

  1. sklearn.feature_extraction.text.TfidfTransformer
    將Bag-of-words後的詞向量,轉換成TF-IDF。


  2. sklearn.feature_extraction.text.TfidfVectorizer
    將文檔、句子轉換成TF-IDF。

影像特徵

最簡單的就是我們把圖像的像素看做一個矩陣,甚至可以把它flatten降成一維。


缺省處理跟管線應用

缺省處理

特徵管線

sklearn.pipeline

上一篇下一篇

猜你喜欢

热点阅读