1. 程式人生 > >特徵工程-資料降維

特徵工程-資料降維

特徵工程

1、資料降維
2、特徵提取
3、特徵選擇

一、資料降維

一、特徵工程

​ 特徵工程是一個很大的概念,實在找不到合適的詞,語句來描述特徵工程。為了直觀的學習特徵工程,還是從特徵工程處理的流程來窺視特徵工程為何物?

​ 1、資料的生成,這部分嚴格意義上說不屬於特徵工程範疇。因為資料都沒有的話,談何學習,但是資料即是特徵,如何生成資料也是特徵生成的過程。在工程上,資料的生成是非常重要的部分,也稱特徵構建。

​ 2、資料預處理,缺損值,特徵編碼,歸一化/標準化,資料清洗(異常點)

​ 3、特徵提取和選擇

一般來說,特徵工程之後的特徵作為模型學習的輸入。在特徵工程中,特徵提取和特徵選擇一般通過模型去學習,所以特徵工程本身就涉及到模型。這裡,筆者理解特徵工程為特徵表示,是對資料的一種表示。其中,資料生成和資料預處理比較泛,沒有相對嚴格的處理方式,經驗性較強。特徵提取和特徵選擇則有非常多成熟的方法,一般來講特徵提取和特徵選擇是一個數據降維的過程。

二、資料降維

​ 資料降維有以下幾點好處:

​ 1、避免維度災難,導致演算法失效,或者時間複雜度高

​ 2、避免高維資料中引入的噪聲,防止過擬合

​ 3、壓縮儲存,視覺化分析

​ 資料降維的方法有特徵提取特徵選擇兩種方式。特徵提取理論上是一種座標變換,將原始資料特徵上進行線性非線性變換到目標空間進行表示;而特徵選擇則是直接在原始資料特徵上進行選擇,選出的特徵集是原始特徵集的子集。特徵提取的降維方法可以根據線性非線性進行劃分(非線性降維一般是線上性降維方法上加上核技巧)。特徵選擇的方法可以分為過濾式封裝式兩種,過濾式特徵選擇是採用一些特徵重要性的度量方式來對特徵進行選擇,過濾掉一些不重要的特徵。封裝式特徵選擇是採用一些優化搜尋策略隨機選擇一些特徵子集根據演算法最終的效能進行特徵選擇。另外有一種嵌入

在學習演算法中的特徵選擇方法採用正則化來進行稀疏,如L1,L2範數進行正則化約束,當然正則化項的最終目標不是降維,而是使得解稀疏,也可以達到資料降維效果。

​ 不同的資料降維方法除了實現降維目標的作用,同時具有各自的特點,比如主成分分析,降維後的各個特徵在座標上是正交;非負矩陣分解,因為在一些文字,影象領域資料要求非負性,非負矩陣分解在降維的同時保證降維後的資料均非負;字典學習,可以基於任意基向量表示,特徵之間不再是獨立,或者非負;區域性線性嵌入,是一種典型的流型學習方法,具有在一定鄰域保證樣本之間的距離不變性。

這裡寫圖片描述

一般來說,特徵提取只適合數值型資料,無法直接處理非數值型屬性。而特徵選擇則二者皆適合,比如熵就就非常適合非數值型屬性,而且在樹模型中,數值型屬性還需要離散化處理,以便劃分決策。