特徵分類
對特徵進行分類,對於不同的特徵應該有不同的處理方法。
根據不同的分類方法,可以將特徵分爲
(1)Low level特徵和High level特徵。
Low level特徵——較低級別的特徵,主要是原始特徵,不需要或者需要非常少的人工處理和干預。
High level特徵——經過較複雜的處理,結合部分業務邏輯或者規則、模型得到的特徵。
(2)穩定特徵與動態特徵。
(3)二值特徵、連續特徵、枚舉特徵。
特徵處理與分析
特徵分類後要對特徵進行處理
包括1.特徵歸一化,離散化,缺省值處理。2.特徵降維方法。3.特徵選擇方法等。——主要用於單個特徵的處理。
-
歸一化
不同的特徵有不同的取值範圍,在有些算法中,例如線性模型或者距離相關的模型像聚類模型、knn模型等,特徵的取值範圍會對最終的結果產生較大影響,例如二元特徵的取值範圍爲[0,1],而距離特徵取值可能是[0,正無窮),在實際使用中會對距離進行截斷,例如[0,3000000],但是這兩個特徵由於取值範圍不一致導致了模型可能會更偏向於取值範圍較大的特徵,爲了平衡取值範圍不一致的特徵,需要對特徵進行歸一化處理,將特徵取值歸一化到[0,1]區間。
常用的歸一化方法
包括
1.函數歸一化
通過映射函數將特徵取值映射到[0,1]區間,例如最大最小值歸一化方法,是一種線性的映射。還有通過非線性函數的映射,例如log函數等。
2.分維度歸一化
可以使用最大最小歸一化方法,但是最大最小值選取的是所屬類別的最大最小值,即使用的是局部最大最小值,不是全局的最大最小值。
3.排序歸一化
不管原來的特徵取值是什麼樣的,將特徵按大小排序,根據特徵所對應的序給予一個新的值。 -
離散化
在上面介紹過連續值的取值空間可能是無窮的,爲了便於表示和在模型中處理,需要對連續值特徵進行離散化處理。
常用的離散化方法
包括
1.等值劃分
將特徵按照值域進行均分,每一段內的取值等同處理。例如某個特徵的取值範圍爲[0,10],我們可以將其劃分爲10段,[0,1),[1,2),...,[9,10)。
2.等量劃分
根據樣本總數進行均分,每段等量個樣本劃分爲1段。例如距離特徵,取值範圍[0,3000000],現在需要切分成10段,如果按照等比例劃分的話,會發現絕大部分樣本都在第1段中。使用等量劃分就會避免這種問題,最終可能的切分是[0,100),[100,300),[300,500),..,[10000,3000000],前面的區間劃分比較密,後面的比較稀疏。 -
缺省值處理
有些特徵可能因爲無法採樣或者沒有觀測值而缺失,例如距離特徵,用戶可能禁止獲取地理位置或者獲取地理位置失敗,此時需要對這些特徵做特殊的處理,賦予一個缺省值。缺省值如何賦予,也有很多種方法。例如單獨表示,衆數,平均值等。
原文:http://blog.csdn.net/shenxiaoming77/article/details/51543724