【机器学习】特征降维-特征选择
特征選擇
什么是特征選擇
定義: 數(shù)據(jù)中包含冗余或無關(guān)變量(或稱特征、屬性、指標(biāo)等),旨在從原有特征中找出主要特征。
方法:
-
Filter(過濾式):主要探究特征本身特點(diǎn)、特征與特征和目標(biāo)值之間關(guān)聯(lián)
- 方差選擇法:低方差特征過濾
- 相關(guān)系數(shù)
-
Embedded (嵌入式):算法自動(dòng)選擇特征(特征與目標(biāo)值之間的關(guān)聯(lián))
- 決策樹:信息熵、信息增益
- 正則化:L1、L2
- 深度學(xué)習(xí):卷積等
-
Wrapper (包裹式)
模塊
sklearn.feature_selection過濾式
低方差特征過濾
刪除低方差的一些特征,前面講過方差的意義。再結(jié)合方差的大小來考慮這個(gè)方式的角度。
-
特征方差小:某個(gè)特征大多樣本的值比較相近
-
特征方差大:某個(gè)特征很多樣本的值都有差別
API
- sklearn.feature_selection.VarianceThreshold(threshold = 0.0)
- 刪除所有低方差特征
- Variance.fit_transform(X)
- X:numpy array格式的數(shù)據(jù)[n_samples,n_features]
- 返回值:訓(xùn)練集差異低于threshold的特征將被刪除。默認(rèn)值是保留所有非零方差特征,即刪除所有樣本中具有相同值的特征。
數(shù)據(jù)計(jì)算
我們對(duì)某些股票的指標(biāo)特征之間進(jìn)行一個(gè)篩選
一共這些特征
pe_ratio,pb_ratio,market_cap,return_on_asset_net_profit,du_return_on_equity,ev,earnings_per_share,revenue,total_expense index,pe_ratio,pb_ratio,market_cap,return_on_asset_net_profit,du_return_on_equity,ev,earnings_per_share,revenue,total_expense,date,return 0,000001.XSHE,5.9572,1.1818,85252550922.0,0.8008,14.9403,1211444855670.0,2.01,20701401000.0,10882540000.0,2012-01-31,0.027657228229937388 1,000002.XSHE,7.0289,1.588,84113358168.0,1.6463,7.8656,300252061695.0,0.326,29308369223.2,23783476901.2,2012-01-31,0.08235182370820669 2,000008.XSHE,-262.7461,7.0003,517045520.0,-0.5678,-0.5943,770517752.56,-0.006,11679829.03,12030080.04,2012-01-31,0.09978900335112327 3,000060.XSHE,16.476,3.7146,19680455995.0,5.6036,14.617,28009159184.6,0.35,9189386877.65,7935542726.05,2012-01-31,0.12159482758620697 4,000069.XSHE,12.5878,2.5616,41727214853.0,2.8729,10.9097,81247380359.0,0.271,8951453490.28,7091397989.13,2012-01-31,-0.0026808154146886697 def variance_demo():"""過濾低方差特征:return:"""# 1、獲取數(shù)據(jù)data = pd.read_csv("factor_returns.csv")data = data.iloc[:, 1: -2]print(data)# 2、實(shí)例化一個(gè)轉(zhuǎn)換器transfer = VarianceThreshold(threshold=5)# 3、調(diào)用fit_transformdata_new = transfer.fit_transform(data)print("data_new", data_new, data_new.shape)return Noneif __name__ == '__main__':# 低方差特征過濾variance_demo()相關(guān)系數(shù)
皮爾遜相關(guān)系數(shù)(Pearson Correlation Coefficient): 反映變量之間相關(guān)關(guān)系密切程度的統(tǒng)計(jì)指標(biāo)
公式計(jì)算案例(了解,不用記憶)
公式:
比如說我們計(jì)算年廣告費(fèi)投入與月均銷售額
= 0.9942
所以我們最終得出結(jié)論是廣告投入費(fèi)與月平均銷售額之間有高度的正相關(guān)關(guān)系。
特點(diǎn)
相關(guān)系數(shù)的值介于–1與+1之間,即–1≤ r ≤+1。其性質(zhì)如下:
-
當(dāng)r>0時(shí),表示兩變量正相關(guān),r<0時(shí),兩變量為負(fù)相關(guān)
-
當(dāng)|r|=1時(shí),表示兩變量為完全相關(guān),當(dāng)r=0時(shí),表示兩變量間無相關(guān)關(guān)系
-
當(dāng)0<|r|<1時(shí),表示兩變量存在一定程度的相關(guān)。且|r|越接近1,兩變量間線性關(guān)系越密切;|r|越接近于0,表示兩變量的線性相關(guān)越弱
一般可按三級(jí)劃分:|r|<0.4為低度相關(guān);0.4≤|r|<0.7為顯著性相關(guān);0.7≤|r|<1為高度線性相關(guān)
這個(gè)符號(hào):|r|為r的絕對(duì)值, |-5| = 5
API
from scipy.stats import pearsonr x : (N,) array_like y : (N,) array_like Returns: (Pearson’s correlation coefficient, p-value)總結(jié)
以上是生活随笔為你收集整理的【机器学习】特征降维-特征选择的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【机器学习】特征降维-主成分分析
- 下一篇: 【机器学习】机器学习概述