本文首發於:

評分卡建模(二)特徵工程?

xugongli.github.io

本篇文章涉及大量的markdown表格,知乎不支持,需要轉化為圖片再上傳。影響閱讀體驗,不在這裡再貼原文,只貼引言部分。


引言

通常而言,特徵變數要經過從長變數列表(long list)短變數列表(short list)的過程。其實這個過程的核心就是特徵工程了。

長列表就是在評分卡模型開發之前,數據源提供方將與業務相關的數據中所有變數列為一個長變數列表,供建模時選用。顧名思義,這個長變數列表會非常長,裡面的變數甚至有成百上千個,實際進行評分卡建模時不可能全部使用。這個時候就會根據實際業務對特徵變數進行分析以篩選出入模變數。

長變數列表篩選完成後,我們會將這個變數放入一個短變數列表,實際建模時就可以直接使用短變數列表中的變數作為入模變數。

另外,如果長變數列表裏變數非常非常多,也可以考慮設置一個過渡變數列表(middle list),先將明顯與業務不契合的變數剔除後放進過渡變數列表,模型開發人員再根據這個過渡變數列表進行特徵篩選。

其實,本案例的數據源(www.kaggle.com:GiveMeSomeCredit)提供的數據字典就可以看作是一個過渡變數列表(middle list),我們拿到的其實並不是源數據,而是經過Kaggle數據源提供方篩選處理後的數據以及變數列表。

言歸正傳,讓我們回到特徵工程這一概念上來,遵循 what how why三步曲的步驟,先來看一下什麼是特徵工程。

1 特徵工程的定義

Feature engineering is the process of using domain knowledge of the data to create features that make machine learning algorithms work.

以上是維基百科對Feature engineering的定義,翻譯一下:

特徵工程是基於既定數據的專業領域知識或經驗去創建特徵以使機器學習演算法工作的過程。

這個定義在我看來還是相對比較權威和準確的。特徵工程是機器學習應用的基礎,通過特徵工程我們將對樣本數據中的變數進行篩選,並根據具體的業務場景構建一些衍生變數。

一般而言,特徵(Feature)就是我們在進行數據分析中使用到的數據的特性或者屬性,只要對數據分析有用的任何特性或者屬性都可以作為特徵(Feature)。具體而言,特徵(Feature)其實就是我們使用到的樣本數據中的變數或者基於這些變數而構建的衍生變數。*

明確了特徵的概念,那麼特徵工程的概念就很容易理解了。特徵工程其實就是目的是我們從原始數據中提取特徵以供演算法和模型使用的一個過程。通常數據預處理也應該是特徵工程裏的特徵處理的一個步驟,不過為了寫博客的方便和便於查看,人為地把數據預處理單獨作為一個步驟來講了。

以下內容涉及較多表格,請訪問原文:

評分卡建模(二)特徵工程?

xugongli.github.io


推薦閱讀:
相關文章