特征工程是:利用數(shù)據(jù)領域的相關知識來創(chuàng)建能夠使機器學習算法達到最佳性能的特征的過程。
雖然現(xiàn)在深度學習非常盛行,它可以自動進行特征工程,但是實際工作中往往沒有那么多數(shù)據(jù)量支撐你使用深度學習模型,因此對數(shù)據(jù)進行特征工程就顯得尤為重要了。特征工程包含了Data PreProcessing(數(shù)據(jù)預處理)、Feature Extraction(特征提?。?、Feature Selection(特征選擇)和Feature construction(特征構造)等子問題,而數(shù)據(jù)預處理又包括了數(shù)據(jù)清洗和特征預處理等子問題,本章內容主要討論數(shù)據(jù)預處理的方法及實現(xiàn)。
特征預處理包括無量綱化、特征分桶、統(tǒng)計變換和特征編碼等步驟。
1.數(shù)值型特征無量綱化
無量綱化使不同規(guī)格的數(shù)據(jù)轉換到同一規(guī)格。常見的無量綱化方法有標準化和歸一化。
1.1數(shù)據(jù)標準化(Standardization)
標準化的前提是特征值服從正態(tài)分布,標準化后,其轉換成標準正態(tài)分布?;谠紨?shù)據(jù)的均值(mean)和標準差(standarddeviation)進行數(shù)據(jù)的標準化。將A的原始值x使用z-score標準化到x’。z-score標準化方法適用于屬性A的最大值和最小值未知的情況,或有超出取值范圍的離群數(shù)據(jù)的情況。
1.2數(shù)據(jù)歸一化
數(shù)據(jù)歸一化方法包括MinMax歸一化、MaxAbs歸一化,都是利用了邊界進行區(qū)間縮放。
1.3正態(tài)分布化(Normalization)
正則化的過程是將每個樣本縮放到單位范數(shù)(每個樣本的范數(shù)為1),如果要使用如二次型(點積)或者其它核方法計算兩個樣本之間的相似性這個方法會很有用。該方法是文本分類和聚類分析中經常使用的向量空間模型(Vector Space Model)的基礎。Normalization主要思想是對每個樣本計算其p-范數(shù),然后對該樣本中每個元素除以該范數(shù),這樣處理的結果是使得每個處理后樣本的p-范數(shù)(l1-norm,l2-norm)等于1。
2 數(shù)值型特征特征分箱(數(shù)據(jù)離散化)
離散化是數(shù)值型特征非常重要的一個處理,其實就是要將數(shù)值型數(shù)據(jù)轉化成類別型數(shù)據(jù)。連續(xù)值的取值空間可能是無窮的,為了便于表示和在模型中處理,需要對連續(xù)值特征進行離散化處理。
2.1無監(jiān)督分箱法
無監(jiān)督分箱法包括:自定義分箱、等距分箱,等頻分箱、聚類分箱、二值分箱等。
2.2有監(jiān)督分箱法
有監(jiān)督分箱法包括:卡方分箱、最小熵法分箱等