特徵工程 資料離散化方法

2021-09-19 09:05:42 字數 1852 閱讀 9926

離散化特徵的增加和減少都很容易,有利於模型的快速迭代;

可以有效地避免一些異常資料的干擾,降低資料波動的影響,提高抗雜訊能力,模型結果更穩定;

一些演算法的需要,如分類樹、樸素貝葉斯演算法等,是基於離散化資料展開的;

減小演算法的空間和時間開銷,起到簡化模型的作用,降低過擬合的風險,提高系統的分類聚類能力;

離散後更便於進行特徵交叉,進一步引入非線性,提高模型的表達能力;

離散後得到的特徵向量是乙個較為稀疏的向量,可以使一些問題變得線性可分;並且稀疏向量內積乘法運算速度快,計算結果易於儲存,易擴充套件;

對於像邏輯回歸這樣的廣義線性模型來說其表達能力受限,離散後每個變數取值相當於有單獨的權重,進入非線性,加大模型擬合;

離散化後的特徵相對於連續型更易理解,更接近知識面上直觀地表達。

【特徵交叉】 

參考:1、2

特徵交叉對於線性模型可以學習到非線性特徵。

連續特徵可以交叉,離散也可以交叉,離散就是笛卡爾積,比如特徵a有三個屬性,b有2個屬性就可以生成6個特徵,假設都是連續的那就可以直接乘或者轉變一下,還有可以離散加連續反正各種交叉

根據資料是否包含類別資訊可以把它們分成有監督的資料和無監督的資料。有監督的離散化要考慮類別資訊而無監督的離散化則不需要。

1.1 等寬法

根據屬性的值域來劃分,使每個區間的寬度相等。

缺點是:容易受離群點的影響而使效能不佳。

1.2 等頻法

根據取值出現的頻數來劃分,將屬性的值域劃分成個小區間,並且要求落在每個區間的樣本數目相等。

1.3 k-means聚類演算法

首先由使用者指定離散化產生的區間數目,k-均值演算法首先從資料集中隨機找出個資料作為個初始區間的重心;然後,根據這些重心的歐式距離,對所有的物件聚類:如果資料距重心最近,則將劃歸所代表的那個區間;然後重新計算各區間的重心,並利用新的重心重新聚類所有樣本。逐步迴圈,直到所有區間的重心不再隨演算法迴圈而改變為止。

2.1 自上而下的**法

該**演算法是把整個屬性的取值區間當做乙個離散的屬性值,然後對該區間進行劃分,一般是一分為二,即把乙個區間分為兩個相鄰的區間,每個區間對應乙個離散的屬性值,該劃分可以一直進行下去,直到滿足某種停止條件,其關鍵是劃分點的選取。

**步驟:

依次計算每個插入點的卡方值,當卡方值達到最大時,將該點作為**點,屬性值域被分為兩塊。

然後再計算卡方值,找到最大值將屬性值域分成三塊。

停止準則:

當卡方檢驗顯著時,繼續**區間;

當卡方檢驗不顯著時,停止**區間;

**步驟:

首先將屬性的取值值域按照值得大小排序。 把每個值看作是可能的分割點,依次把區間分成兩部分計算它們的熵值,取熵值最小/資訊增益最大的作為第一次劃分點。 

然後選取乙個區間,通常選擇熵值最大的區間重複此過程。 

當區間個數達到使用者指定的個數或滿足指定的終止條件則停止繼續**。

2.2 自下而上的合併法

chimerge演算法是一種基於卡方值的自下而上的離散化方法。和上一種演算法正好相反。

**步驟:

第一步:根據要離散的屬性對例項進行排序:每個例項屬於乙個區間

第二步:合併區間,計算每一對相鄰區間的卡方值

停止準則:

當卡方檢驗不顯著,繼續合併相鄰區間;

當卡方檢驗顯著,停止區間合併;

常用特徵離散化方法

1規定劃分區間的引數,取定長的間隔將特徵放入不同的箱子中,這種方法對異常點比較敏感。2 根據頻率劃分箱子,會出現特徵相同卻不在乙個箱子中的情況,需要在劃分完成後進行微調。先對特徵值進行sort,然後評估分割點,劃分或者合併 3 1r方法 將前面的m個例項放入箱子中如果後面例項放入箱子時,比對當前例項...

特徵離散化

在工業界,很少直接將連續值作為邏輯回歸模型的特徵輸入,而是將連續特徵離散化為一系列0 1特徵交給邏輯回歸模型,這樣做的優勢有以下幾點 0.離散特徵的增加和減少都很容易,易於模型的快速迭代 1.稀疏向量內積乘法運算速度快,計算結果方便儲存,容易擴充套件 2.離散化後的特徵對異常資料有很強的魯棒性 比如...

特徵處理之資料離散化

二元轉換binarizer binarizer是將連續型變數根據某個閾值,轉換成二元的分類變數。小於該閾值的轉換為0,大於該閾值的轉換為1。要求輸入列必須是double,int都會報錯。如下 輸入的是0.1,0.8,0.2連續型變數,要以0.5為閾值來轉換成二元變數 0,1 列印結果 binariz...