幾乎所有的機(jī)器學(xué)習(xí)模型都是與用向量表示的數(shù)值特征打交道。因此,需要將原始數(shù)據(jù)轉(zhuǎn)換為數(shù)值。
- 數(shù)值特征:這些特征通常為實數(shù)或整數(shù),比如年齡
- 類別特征:它們的取值只能是可能狀態(tài)集合中的某一種。性別、職業(yè)或者電影類別便是這類特征。
- 文本特征:它們派生自數(shù)據(jù)中的文本內(nèi)容,比如電影名、描述或評論。
- 其他特征:大部分其他特征最終都表示為數(shù)值。比如圖像、音頻和視頻,地理位置則可由經(jīng)緯度或地理散列(geohash)表示
類別特征
當(dāng)類別特征為原始形式時,其取值來自所有可能取值所構(gòu)成的集合,而不是一個數(shù)字,故不能作為輸入。
將類別特征表示為數(shù)字形式,??山柚鷎之1(1-of-k)編碼方法進(jìn)行。
詞袋分詞法
如果每個單詞都是一種可能的取值,那么可能出現(xiàn)的單詞組合幾乎有無限種。這時模型幾乎看不到有相同的特征出現(xiàn)兩次,學(xué)習(xí)效果也不理想,因此需要將原始的文本轉(zhuǎn)換為一種更便于機(jī)器學(xué)習(xí)的形式。
- 分詞(tokenization):可用的方法如空白分詞法,在空白處對文本進(jìn)行分割,可能同時還刪除標(biāo)點符號和其他非字母或數(shù)字字符
- 刪除停用詞:比如the、and和but
- 提取詞干:將各個詞項簡化為其基本的形式或者干詞。比如dogs變?yōu)閐og
- 向量化:一般用k之1編碼,然后用稀疏矩陣來表示
另外還有一個特征抽取的神器:word2vec,有興趣可以參考這篇文章《通俗理解word2vec》