數據分析中的特征構建方法:屬性生成、隨機數/ID生成、特征交叉等
2023-12-11 16:52:02
次
在數據分析中,特征工程是一項至關重要的任務。特征工程指的是對原始數據進行處理,以提取出對數據模型建立有價值的特征,同時也幫助減少數據集上預測模型的誤差。下文將介紹幾種常見的特征工程方法,包括特征構建、特征變換和特征降維,以及一些常用的特征處理工具和方法。
特征構建
對于特征構建產生新變量,可以使用屬性生成、隨機數/ID生成、特征交叉、高級特征交叉、WOE編碼、特征編碼和過程查詢分析器節點來實現。
屬性生成節點包括字符函數、數值函數、日期函數、邏輯函數、業務函數、正則函數和其它函數,除了直接使用現有的一些函數外,還可以實現一些指標之間的加減乘除等基本運算。
隨機數/ID生成節點可以在原數據集上新增一列隨機數或ID列,生成的ID列可用于之后對數據進行排序、兩張表通過ID列進行連接等情況。
特征交叉節點對于數值屬性可以進行加減乘除生成新變量,對于字符型屬性,可以進行兩兩拼接產生新變量。還可以在設置因變量后,通過設置最小標準差的方式保留大于指定的標準差的特征或設置最大相關系數的方式保留小于指定的相關系數的特征。
高級特征交叉節點通過按照給定的條件篩選字段、自動生成特征、輸出模型需要的特征向量。對于數值型因變量支持FM算法,對于字符型因變量支持GBDT_Feature算法。
WOE編碼節點是對原始自變量的一種編碼形式,表示自變量取某個值的時候對響應比例的一種影響。該節點執行后輸出每個屬性每個區間的woe編碼值和屬性的IV值,可根據IV值進行變量篩選。
特征編碼節點是將字段按照給的方法完成由原始數據到新數據的映射,生成新的特征,方便數據進行建模。對字符型屬性支持OneHotEncoder、LabelEncoder編碼,對數值型屬性支持Binarizer編碼。
過程查詢分析器節點打開節點配置界面后首先點擊數據表,之后再點擊計算列可以對現有的表中變量進行函數計算生成新變量,支持數值函數、字符函數、日期函數、類型轉換和邏輯運算。
特征變換
對于特征變換可以使用屬性變換類節點、數據分組、分箱和數據標準化節點。
屬性變換類節點包括數值型屬性變換、字符型屬性變換和日期型屬性變換節點,通過這些節點可以將指標類型進行變換。
數據分組節點支持將數值型數據按用戶指定的范圍進行分組,將字符型數據按照指定的類別進行分組。分箱節點用于將連續型數據離散化的情況。
數據標準化節點支持最大最小歸一化、最大歸一化和Z標準化。
特征降維
特征降維可以使用主成分分析、因子分析、奇異值分析和變量選擇節點對數據進行降維。
主成分分析的目的是為了使用最少數量的主成分來解釋最大量的方差。可以使用主成分分析減少變量數目并避免多重共線性,也可以在相對于觀測值數目而言有太多預測變量時使用主成分分析。提取方法可選擇因子數或累計貢獻度。
因子分析是一種非常有用的多變量分析技術,通常用來研究沒有因變量和自變量之分的一組變量之間的關系。該節點可以對輸入的多元數據分析,判斷這些相互依賴的變量是否指示了潛在的結構,可以對多變量實現消減,用新的、更小的由原始變量組合而成的新變量進一步分析。該節點的因子提取方法可以選擇MINRES、最大似然估計、主成分,對于最終提取的因子個數可以選擇直接設置因子數或挑選特征值大于1的因子數。
當數據存在噪聲時,大的奇異值對應了矩陣中的主要信息,利用其來逼近矩陣并保留80%至90%的能量就能夠提取出數據中的重要特征并去掉噪聲。奇異值分解通過將一個復雜的任意矩陣用更小更簡單的幾個矩陣相乘來表示,這些小矩陣就是矩陣的重要特征,可以有效地對數據進行泛化的同時又可以降維減少運算量。該節點可通過最大因子數來指定需要分解的因子數。
變量選擇節點可以根據特征變量和響應變量之間關系輸出特征變量重要性,根據變量重要性用戶可以選擇有效變量以降低數據集維度,用于提高學習算法性能。當特征向量為數值型,響應變量為字符型時,變量選擇方法為“卡方檢驗”;當特征向量為數值型,響應變量為數值型時,變量選擇方法為“lasso”;當特征向量為字符型,響應變量為數值型時,變量選擇方法為“F檢驗”。
使用Tempo人工智能平臺構建的案例
根據業務知識,使用屬性生成節點構造正常運行次數和正常運行點數指標,如下圖:

之后對各指標進行數據標準化,為后續數據模型建立做準備,數據標準化節點參數配置界面如下:
因自變量個數太多,直接參與數據建模效果不佳,故可以先進行降維,這里選擇主成分分析節點,最終選擇3個主成分參與模型建立,主成分分析節點輸出模型和結果如下圖:
特征工程是對數據進行特征構建、轉換、降維等處理,目標是為后續建模過程提供數據。
總之,特征工程是數據分析中不可或缺的一環。數據分析師必須有過硬的技術背景和領域知識,才能通過一些數學和工程的手段,將原始數據生成更有用和有效的數據特征,以達到更好更準確的數據建模目的。