在之前格物匯的文章中,我們介紹了工業數據預處理的方法以及特征工程的基本知識,今天要帶大家來了解如何做特征構建。
特征構建常用方法
特征構建的常用方法是屬性分割和結合,這一般根據我們具體的問題所決定。我們通過具體的應用場景來看看:
時間列處理
時間戳屬性通常需要分離成多個維度比如年、月、日、小時、分鐘、秒鐘。通常時間序列數據會含有一定的趨勢和周期性,這時需要我們去構建趨勢因子和周期因子。
分解類別屬性
一些屬性是類別型而不是數值型,舉一個簡單的例子,由{紅,綠、藍}組成的顏色屬性,最常用的方式是把每個類別屬性轉換成二元屬性,即從{0,1}取一個值。因此基本上增加的屬性等于相應數目的類別,并且對于你數據集中的每個實例,只有一個是1(其他的為0),這也就是獨熱(one-hot)編碼方式。我們在前面的文章中介紹過了,在此不再贅述。
分箱和分區
有時候,將數值型屬性轉換成類別呈現更有意義,同時能使算法減少噪聲的干擾,通過將一定范圍內的數值劃分成確定的塊。舉個例子,我們預測一個人是否擁有某款衣服,這里年齡是一個確切的因子。其實年齡組是更為相關的因子,所以我們可以將年齡分布劃分成1-10,11-18,19-25,26-40等年齡段,分別表示 幼兒,青少年,青年,中年四個年齡組,讓相近的年齡組表現出相似的屬性。此外,我們還可以對分箱,分區做一些統計量字段作為數據的特征。
只有在了解屬性的領域知識的基礎,確定屬性能夠劃分成簡潔的范圍時分區才有意義。即所有的數值落入一個分區時能夠呈現出共同的特征。在實際應用中,當你不想讓你的模型總是嘗試區分值之間是否太近時,分區能夠避免出現過擬合。例如,如果你所感興趣的是將一個城市作為整體,這時你可以將所有落入該城市的維度值進行整合成一個整體。分箱也能減小小錯誤的影響,通過將一個給定值劃入到最近的塊中。如果劃分范圍的數量和所有可能值相近,或對你來說準確率很重要的話,此時分箱就不適合了。
交叉特征
交叉特征是特征工程中重要的方法之一,交叉特征是一種很獨特的方式,它將兩個或更多的類別屬性組合成一個。當組合的特征要比單個特征更好時,這是一項非常有用的技術。數學上來說,是對類別特征的所有可能值進行交叉相乘。當然我們不僅僅會去查找交叉項關系,還可以去尋找更加復雜的二次項,三次項乃至更復雜的關系,這根據問題求解的需要決定。
經度與緯度的組合便是交叉特征的應用實例,一個相同的經度對應了地圖上很多的地方,緯度也是一樣。但是一旦你將經度和緯度組合到一起,它們就代表了地理上特定的一塊區域,區域中每一部分是擁有著類似的特性。
小結
一般我們會收集與問題相關的數據作為我們的特征,但是這些特征有時不足以解釋我們的問題,我們還是會通過特征構建來增加解釋能力。這其實是對數據進行升維操作,總的來說,特征構建可以給我們的模型提供一些關鍵的信息,來解決模型解釋能力不足的情況。但如果我們收集的數據包含了過多的特征,如何對這些特征進行提純呢?請繼續關注格物匯,我們將在之后的文章中詳細講解。
本文作者:格創東智 OT團隊 (轉載請注明來源及作者)
-
智能制造
+關注
關注
48文章
5571瀏覽量
76380 -
工業互聯網
+關注
關注
28文章
4323瀏覽量
94149
發布評論請先 登錄
相關推薦
評論