天天看點

類别特征的處理方法大全一、one-hot編碼二、類别特征的最優切分。三、轉成數值特征

類别特征在現實資料裡十分常見,處理類别特征對于機器學習裡的各種算法來說都是必不可少的過程。

本篇文章總結了幾種常見的處理類别特征的方法,這些方法不僅有傳統的one-hot編碼的形式,也有目前最先進的思路。

一、one-hot編碼

詳見這篇文章。

二、類别特征的最優切分。

該方法需要特定工具的支援,如LightGBM,詳見這篇文章。

三、轉成數值特征

3.1 利用embedding

利用神經網絡的embedding層能夠讓我們捕捉原來特征的内在屬性,使得一些原來意義上離得“近”的東西,在轉換後的向量中确實離得近(歐式空間)。詳見這篇文章。

3.2 統計每個類别對應的label(訓練目标)的均值

注:這裡的類别指的是類别特征裡的值,并非是訓練目标Y。

統計的時候有一些小技巧,比如不把自身的label算進去(leave-me-out, leave-one-out)統計, 防止資訊洩露。

舉例:

關于"leave-me-out"的統計方法。一個簡單的例子,比如樣本1,3,5屬于同個類别(在類别特征上的屬性一樣),對于樣本1,可以用3和5的label均值,樣本3用1和5的均值……,用這些均值來替換原來類别特征上的值。這樣可以防止每一個樣本直接把自身的label資訊放到特征裡面,減少統計特征的資訊洩露,防止過拟合。CatBoost用了類似的算法來處理類别特征。

繼續閱讀