特徵工程 特徵分類及不同類特徵的處理方式

2021-07-25 03:25:56 字數 1282 閱讀 7993

對特徵進行分類,對於不同的特徵應該有不同的處理方法。

根據不同的分類方法,可以將特徵分為

例如文字特徵中的詞向量特徵,影象特徵中的畫素點,使用者id,商品id等。

low level特徵一般維度比較高,不能用過於複雜的模型。

例如人工打分,模型打分等特徵,可以用於較複雜的非線性模型。

low level 比較針對性,覆蓋面小。長尾樣本的**值主要受high level特徵影響。 高頻樣本的**值主要受low level特徵影響。

穩定特徵——變化頻率(更新頻率)較少的特徵

例如評價平均分,**單**等,在較長的時間段內都不會發生變化。

動態特徵——更新變化比較頻繁的特徵,有些甚至是實時計算得到的特徵

例如距離特徵,2小時銷量等特徵。或者叫做實時特徵和非實時特徵。

針對兩類特徵的不同可以針對性地設計特徵儲存和更新方式 例如

對於穩定特徵,可以建入索引,較長時間更新一次,如果做快取的話,快取的時間可以較長。

對於動態特徵,需要實時計算或者準實時地更新資料,如果做快取的話,快取過期時間需要設定的較短。

二值特徵——主要是0/1特徵,即特徵只取兩種值:0或者1

例如使用者id特徵:目前的id是否是某個特定的id,詞向量特徵:某個特定的詞是否在文章中出現等等。

連續值特徵——取值為有理數的特徵,特徵取值個數不定,例如距離特徵,特徵取值為是0~正無窮。

列舉值特徵——主要是特徵有固定個數個可能值,例如今天週幾,只有7個可能值:周1,周2,...,週日。

在實際的使用中,我們可能對不同型別的特徵進行轉換,例如將列舉特徵或者連續特徵處理為二值特徵。

列舉特徵處理為二值特徵技巧

將列舉特徵對映為多個特徵,每個特徵對應乙個特定列舉值,例如今天週幾,可以把它轉換成7個二元特徵:今天是否是周一,今天是否是周二,...,今天是否是週日。

連續值處理為二值特徵方法:

先將連續值離散化(後面會介紹如何離散化),再將離散化後的特徵切分為n個二元特徵,每個特徵代表是否在這個區間內。

特徵分類後要對特徵進行處理

包括1.特徵歸一化,離散化,預設值處理。2.特徵降維方法。3.特徵選擇方法等。——主要用於單個特徵的處理。

另外一篇關於處理「

特徵工程之連續特徵與離散特徵處理方法介紹」見此文

原文:

特徵工程 特徵交叉 交叉特徵 特徵組合

關於特徵交叉的作用以及原理,我這裡不進行詳細描述,因為大佬們已經說得很清楚了,這裡就附上幾個連線 特徵組合 特徵交叉 feature crosses 結合sklearn進行特徵工程 對於特徵離散化,特徵交叉,連續特徵離散化非常經典的解釋 下面說怎樣製作和交叉特徵 多項式生成函式 sklearn.pr...

特徵工程之特徵選擇

在前一篇文章中我介紹了一些資料預處理的方法,原始資料在經過預處理之後可以被演算法處理了,但是實際中可能有一些特徵是沒有必要的,比如在中國採集的一些資料,那麼國籍就都是中國,其實也就沒有意義了,反映在統計量上就是方差過小,也就是樣本在這個特徵上變化很小。還有一種情況是特徵和最後的結果相關性很小,也就是...

特徵工程之特徵選擇

特徵選擇其實就是減少屬性個數,為什麼要這麼做呢?直接使用原始資料來訓練模型的話,雖然說在訓練模型上的準確率會非常高,但是在測試樣本上的準確率將會大打折扣,也就是會產生過擬合的現象。所以說需要選擇出最適合的屬性進行訓練。特徵選擇的原因 2 雜訊 部分特徵對 結果又影響 進行特徵選擇的時候有兩種情況 一...