特徵工程(總結)

一、數據清洗

    1.1 預處理

    1)數據處理工具的選擇: 一般選用數據庫處理和Python等工具處理。

    2)查看數據的元數據以及數據特徵

    1.2 缺省值處理(刪除、補全)

     缺省值處理的一般步驟:確定缺省值範圍、去除不需要的字段、填充缺省值內容(經驗值、均值、中位數、衆數、推測值)、重新獲取數據。

    1.3 格式、內容錯誤的數據(修改、刪除)

    1.4 邏輯錯誤的數據(修改、刪除)

    1.5 不需要的數據(刪除)

    1.6 關聯性驗證

二、文本數據處理

    1、詞袋法、詞集法

    1)詞袋法。詞袋法計算文檔中每個單詞出現的次數(詞頻)。

    2)詞集法。詞集法是判斷單詞是否出現在文檔中,出現就爲1,否則爲0。它是考慮到文檔次數相差太大的時候,詞袋法不適用的情況。

    2、TF-IDF(詞頻-逆文檔頻率)

    1)詞頻-逆文檔頻率。

    TF-IDF認爲:單詞的重要性隨着它在文本中出現的次數成正比增加,也就是單詞的出現次數越多,該單詞對於文本的重要性就越高。同時單詞的重要性會隨着在語料庫中出現的頻率成反比下降,也就是單詞在語料庫中出現的頻率越高,表示該單詞與常見,也就是該單詞對於文本的重要性越低。

    2)計算公式

    TF-IDF=TF*IDF

    其中,TF=文檔中詞出現的次數/文檔中詞的總個數;IDF=log(總的文檔個數/出現該詞的文檔數量+1),這裏的-1操作主要是防止分母爲0(也就是說出現該詞的文檔數量爲0)

    3)WordToVictor(直接轉化爲詞向量)

三、數值型數據處理(sklearn.Preprocessing)

    3.1 缺省值填充

      Imputer(missing_values='NaN',strategy='mean',axis=0),其中axis=0表示按照進行填充

      對於缺省的數據,在處理之前一定需要進行預處理操作,一般採用中位數、均值或者衆數來進行填充,在scikit中主要通過Imputer類來實現對缺省值的填充。

    3.2 啞編碼(OneHotEncoder)--one of K

       啞編碼:對於定性的數據(也就是分類的數據),可以採用N位的狀態寄存器來對N個狀態進行編碼,每個狀態都有一個獨立的寄存器位,並且在任意狀態下只有一位有效。

       啞編碼是一種常用的將特徵數字化的方式。比如有一個特徵屬性:['male','female'],那麼male使用向量[1,0]表示,female使用[0,1]表示。

    3.3 二值化(Binarizer(threshold=0.0))

    對於給定的數據,通過給定閾值,將所有大於閾值的數據變爲1,所有小於閾值的數據變爲0。

    3.4 標準化

    StandardScale(copy=Truewith_mean=Truewith_std=True)

    基於特徵屬性的數據(也就是特徵矩陣的),獲取均值和方差,然後將特徵值轉換至服從標準正態分佈的值。

    其計算公式爲:,其中表示標準化後的值,x表示原始數據,表示特徵矩陣的的均值,表示特徵矩陣的列的均值。

    3.5 區間縮放法(等比例縮放)

    MinMaxScaler(feature-range=(0,1),copy=True),其中feature-range爲要縮放的數據的範圍。

    按照數據的方差特性將數據縮放到給定區間上。

    3.6 歸一化(行處理)

    Normalizer(norm=‘l2’,copy=True)

    將矩陣的行轉化爲單位向量(行值相加爲1)。

    3.7 多項式擴展

    PolynomialFeatures(degree=2interaction_only=Falseinclude_bias=True)

    所謂多項式擴展,就是按照特定的多項式規則將數據集的每一個數據的特徵進行相應階數的擴展。

四、特徵選擇

    4.1 特徵選擇的兩個考慮

    1)特徵是否發散越發散越好,越發散越能夠達到模型訓練的目的)

    2)特徵與目標的相關性相關性越高越好

    4.2 特徵選擇的方法

    1)過濾法(Filter)

    過濾法,按照發散性或者相關性對各個特徵進行評分,設定閾值或者待選擇閾值的個數,從而選擇特徵;常用方法包括方差選擇法、相關係數法、卡方檢驗、互信息法等。

    2)包裝法(Wrapper)

    包裝法,根據目標函數(通常是預測效果評分),每次選擇若干特徵或者排除若干特徵;常用方法主要是遞歸特徵消除法

    3)嵌入法(Embedded)

    嵌入法,先使用某些機器學習的算法和模型進行訓練,得到各個特徵的權重係數,根據係數從大到小選擇特徵;常用方法主要是基於懲罰項的特徵選擇法

五、降維

    降維方法主要有:主成分析法(PCA)線性判別分析法(LDA)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章