特征的選擇對于整個模型預測的準確性有至關重要的作用,好的特征集對于一個機器學習模型的預測效果的邊際貢獻遠遠大于好的模型的貢獻:
- 不同的機器學習模型(SVM或RandomForest等)對于有效的特征集的訓練效果或渤,差別不會特別大系冗;
- 但是,如果特征集很爛薪鹦,無論什么模型掌敬,都很難有較好的訓練效果。
所以池磁,還是那句話:
Garbage in涝开, garbage out !
1. 什么是特征(Features)?
特征是任何機器學習模型的進行訓練的”原材料”框仔,無論是監(jiān)督式模型(Supervised)還是無監(jiān)督式(Unsupervised)模型舀武,都需要特征集作為輸入變量(Input variables)。當然監(jiān)督式模型相比無監(jiān)督式模型還需要輸出變量(Output)离斩,我們稱之為目標(target)银舱。無論是特征還是目標,它們的類型無非以下幾種:
- 二元制(Binary):如{漲跛梗,跌}寻馏, {對, 錯}核偿, {男诚欠, 女};
- 有限的離散集 (finite discrete): 如一周有七天(星期一漾岳、星期二...)轰绵,或者一個城市的行政區(qū)(黃埔、靜安...)尼荆。這些數據可以是有序的左腔,也可以是無序的。
- 連續(xù)性數值:處于負無窮到正無窮所有數值捅儒,如股價液样、利率等
2. 特征怎么來?
特征是機器學習模型的“原材料”巧还,那特征的“原材料”是什么鞭莽?其實就是原始數據,例如股票的行情數據麸祷、財務數據等澎怒;將這些原始數據經過一系列的轉換加工得到特征,例如技術指標(MACD摇锋、DMA等)丹拯。在這個轉換的過程中涉及到一系列的數據處理的流程站超,下面我們進行詳細說明。
數據清洗及處理
做研究最怕什么乖酬?數據是錯的死相,那一切無從談起,在盡可能的確保數據質量的前提下咬像,我們還是要對數據進行規(guī)范性的清洗算撮,無論是原始數據、還是經轉換后的特征集都要經過以下步驟進行處理:
- 缺失值處理:1. 直接刪除(常用)县昂; 2. 或者進行插值處理(Interpolate)肮柜;
- 異常值處理:1. 直接刪除; 2. 極值處理到一個正常區(qū)間(推薦)倒彰;
- 標準化處理:1. 正態(tài)標準化(常用)审洞;2. 其他標準化(見文末);
- 相關性指標處理:有時候特征集當中有些指標的相關性特別高待讳,對于一些模型芒澜,這種指標間的高度相關可能會降低模型的預測效果,所以在訓練模型之前创淡,要找出相關性較高的幾對指標痴晦,并保留其中一個。
-
線性相關指標處理:除了上文提高一對高度相關的指標的問題琳彩,同時也可能存在某幾個指標與另一個指標存在線性回歸的關系誊酌,這也會影響模型的預測效果。01
- 特征的轉換(可選):如PCA等方法
3. 怎么選擇特征(或指標)露乏?
訓練任何一個機器學習的模型時碧浊,輸入的特征并不是越多越好,如果一股腦放入幾十上百個特征去訓練施无,往往會適得其反辉词。一個模型的好壞往往取決于幾個(三到五個)核心的指標。所以特征的選擇就極為重要猾骡。特征選擇主要由以下兩類方法:
過濾法:該方法的特點是不需要機器學習模型的參與,直接測量特征與預測目標(Target)的相關程度敷搪,只要通過某些選取標準的指標才會被應用到模型的訓練中兴想。
封裝法:該方法與過濾法最大的區(qū)別是在選特征的時候運用的相關的機器學習模型,直接通過篩選預測效果好的指標作為特征集赡勘。
兩種方法各有優(yōu)缺點嫂便,過濾法會刪除相關度較低的特征,缺點是某些特征可能本身與目標相關度較低闸与,但與其他特征結合起來可能會提高預測的效果毙替,所以存在誤刪的情況岸售。封裝法直接將特征輸入模型,通過各種迭代選出最適合某些模型的一組特征厂画;缺點時運算效率太慢凸丸,而且存在過度擬合的風險。最適合的解決辦法是袱院,通過過濾法篩選出一批有潛力的特征屎慢,再通過封裝法精選特征,從而構建一個預測效果良好的機器學習模型忽洛。
在這篇文章中腻惠,我們主要討論過濾法的實際運用。通過各種不同的判斷特征重要性的方法與標準選則相應的特征欲虚,無外乎以下幾種方法:
- 選擇重要性最高的前N個特征集灌;
- 選擇重要性最高的前n%的特征;
- 選擇重要性超過一定閾值s的特征复哆。
無論是N绝页、n還是s,都可以通過優(yōu)化的方法找到最優(yōu)值運用到最后的模型中去寂恬。
3.1 重要性
現在主要的問題就是怎么評價一個特征對于所需預測的目標的重要性续誉,我們稱之為Variable Importance(VI)。結合各方面的文獻初肉,VI的評價方法主要有以下指標:
- 信息熵(Mutual Information)
- Cramer's V
(未完待續(xù))
總結
所有算法的學習都要了解該算法所針對的問題酷鸦,以及這個問題是不是你當前遇到的。不推薦窮舉式的嘗試去找出一個最優(yōu)的組合牙咏,這樣的做法
附錄
其他標準化方法