<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          機器學(xué)習(xí)深度研究:特征選擇中幾個重要的統(tǒng)計學(xué)概念

          共 3413字,需瀏覽 7分鐘

           ·

          2020-12-17 17:21

          ↑↑↑點擊上方藍字,回復(fù)資料,10個G的驚喜

          問題引出

          當(dāng)我們拿到數(shù)據(jù)并對其進行了數(shù)據(jù)預(yù)處理,但還不能直接拿去訓(xùn)練模型,還需要選擇有意義的特征(即特征選擇),這樣做有四個好處:

          1、避免維度災(zāi)難

          2、降低學(xué)習(xí)難度

          3、減少過擬合

          4、增強對特征和特征值之間的理解

          常見的特征選擇有三種方法:

          過濾法(Filter):先對數(shù)據(jù)集進行特征選擇,然后再訓(xùn)練學(xué)習(xí)器,特征選擇過程與后續(xù)學(xué)習(xí)器無關(guān)。

          包裝法(Wrapper):根據(jù)目標函數(shù)(通常是預(yù)測效果評分),每次選擇若干特征,或者排除若干特征。

          嵌入法(Embedding):先使用機器學(xué)習(xí)模型進行訓(xùn)練,得到各個特征的權(quán)值系數(shù),根據(jù)系數(shù)從大到小選擇特征。

          其中,過濾法是最簡單,最易于運行和最易于理解的。

          過濾法核心思路就是考察自變量和目標變量之間的關(guān)聯(lián)性、相關(guān)性,設(shè)定閾值,優(yōu)先選擇與目標相關(guān)性高的特征。

          主要方法:

          1、分類問題:卡方檢驗(chi2),F(xiàn)檢驗(f_classif), 互信息(mutual_info_classif)

          2、回歸問題:相關(guān)系數(shù)(f_regression), 信息系數(shù)(mutual_info_regression)

          卡方檢驗、F檢驗、互信息、相關(guān)系數(shù)、信息系數(shù)

          這些都是統(tǒng)計學(xué)領(lǐng)域的概念,在sklearn特征選擇中被使用,所以在解釋這些概念時,我也重點參考了sklearn文檔。

          卡方檢驗百科定義:

          卡方檢驗就是統(tǒng)計樣本的實際觀測值與理論推斷值之間的偏離程度,實際觀測值與理論推斷值之間的偏離程度就決定卡方值的大小,如果卡方值越大,二者偏差程度越大;反之,二者偏差越小;若兩個值完全相等時,卡方值就為0,表明理論值完全符合。

          卡方值 計算公式

          不要望公式興嘆,其實只需掌握到第一個等號后就行了:A為實際值,T為理論值。

          F檢驗

          F檢驗和方差分析(ANOVA)是一回事,主要用于兩個及兩個以上樣本均數(shù)差別的顯著性檢驗。方差分析的基本原理是認為不同處理組的均數(shù)間的差別基本來源有兩個:(1) 實驗條件,即不同的處理造成的差異,稱為組間差異。用變量在各組的均值與總均值之偏差平方和的總和表示,記作,組間自由度

          (2) 隨機誤差,如測量誤差造成的差異或個體間的差異,稱為組內(nèi)差異,用變量在各組的均值與該組內(nèi)變量值之偏差平方和的總和表示, 記作,組內(nèi)自由度。

          利用f值可以判斷假設(shè)H0是否成立:值越大,大到一定程度時,就有理由拒絕零假設(shè),認為不同總體下的均值存在顯著差異。所以我們可以根據(jù)樣本的某個特征的f值來判斷特征對預(yù)測類別的幫助,值越大,預(yù)測能力也就越強,相關(guān)性就越大,從而基于此可以進行特征選擇。

          互信息(mutual_info_classif/regression)

          互信息是變量間相互依賴性的量度。不同于相關(guān)系數(shù),互信息并不局限于實值隨機變量,它更加一般且決定著聯(lián)合分布 p(X,Y) 和分解的邊緣分布的乘積 p(X)p(Y) 的相似程度。

          兩個離散隨機變量 X 和 Y 的互信息可以定義為:

          相關(guān)系數(shù)(f_regression)

          相關(guān)系數(shù)是一種最簡單的,能幫助理解特征和響應(yīng)變量之間關(guān)系的方法,該方法衡量的是變量之間的線性相關(guān)性,結(jié)果的取值區(qū)間為[-1,1],-1表示完全的負相關(guān),+1表示完全的正相關(guān),0表示沒有線性相關(guān)。

          式中是代表所有樣本的在i號特征上的取值的維列向量,分子上其實兩個維列向量的內(nèi)積,所以是一個數(shù)值,其實就是樣本相關(guān)系數(shù)。

          值越大,第i個特征和因變量y之間的相關(guān)性就越大,據(jù)此我們做特征選擇。

          P值 (P-value)

          P值,也就是常見到的 P-value。P 值是一種概率,指的是在 H0 假設(shè)為真的前提下,樣本結(jié)果出現(xiàn)的概率。如果 P-value 很小,則說明在原假設(shè)為真的前提下,樣本結(jié)果出現(xiàn)的概率很小,甚至很極端,這就反過來說明了原假設(shè)很大概率是錯誤的。通常,會設(shè)置一個顯著性水平(significance level) 與 P-value 進行比較,如果 P-value < ,則說明在顯著性水平 下拒絕原假設(shè), 通常情況下設(shè)置為0.05。

          sklearn特征選擇——過濾法

          sklearn過濾法特征選擇方法

          SelectBest 只保留 k 個最高分的特征;SelectPercentile 只保留用戶指定百分比的最高得分的特征;使用常見的單變量統(tǒng)計檢驗:假正率SelectFpr,錯誤發(fā)現(xiàn)率selectFdr,或者總體錯誤率SelectFwe;GenericUnivariateSelect 通過結(jié)構(gòu)化策略進行特征選擇,通過超參數(shù)搜索估計器進行特征選擇。

          SelectKBest按照scores保留K個特征;

          SelectPercentile按照scores保留指定百分比的特征;

          SelectFpr、SelectFdr和SelectFwe對每個特征使用通用的單變量統(tǒng)計檢驗;

          GenericUnivariateSelect允許使用可配置策略如超參數(shù)搜索估計器選擇最佳的單變量選擇策略。特征選擇指標使用sklearn中SelectKBest函數(shù)進行特征選擇,參數(shù)中的score_func選擇:分類:chi2----卡方檢驗

          f_classif----方差分析,計算方差分析(ANOVA)的F值 (組間均方 / 組內(nèi)均方)

          mutual_info_classif----互信息,互信息方法可以捕捉任何一種統(tǒng)計依賴,但是作為非參數(shù)方法,需要更多的樣本進行準確的估計

          回歸:f_regression----相關(guān)系數(shù),計算每個變量與目標變量的相關(guān)系數(shù),然后計算出F值和P值

          mutual_info_regression----互信息,互信息度量 X 和 Y 共享的信息:它度量知道這兩個變量其中一個,對另一個不確定度減少的程度。

          sklearn過濾法特征選擇-示例

          在sklearn中,可以使用chi2這個類來做卡方檢驗得到所有特征的卡方值與顯著性水平P臨界值,我們可以給定卡方值閾值, 選擇卡方值較大的部分特征。代碼如下:

          1. 首先import包和實驗數(shù)據(jù):
          from?sklearn.feature_selection?import?SelectKBest
          from?sklearn.feature_selection?import?chi2
          from?sklearn.datasets?import?load_iris
          #導(dǎo)入IRIS數(shù)據(jù)集
          iris?=?load_iris()
          1. 使用卡方檢驗來選擇特征
          model1?=?SelectKBest(chi2,?k=2)#選擇k個最佳特征
          model1.fit_transform(iris.data,?iris.target)#iris.data是特征數(shù)據(jù),iris.target是標簽數(shù)據(jù),該函數(shù)可以選擇出k個特征

          結(jié)果輸出為:

          array([[?1.4,??0.2],
          ???????[?1.4,??0.2],
          ???????[?1.3,??0.2],
          ???????[?1.5,??0.2],
          ???????[?1.4,??0.2],
          ???????[?1.7,??0.4],
          ???????[?1.4,??0.3],

          可以看出后使用卡方檢驗,選擇出了后兩個特征。如果我們還想查看卡方檢驗的p值和得分,可以使用第3步。

          1. 查看p-values和scores
          model1.scores_??#得分

          得分輸出為:

          array([?10.81782088,?3.59449902,?116.16984746,?67.24482759])

          可以看出后兩個特征得分最高,與我們第二步的結(jié)果一致;

          model1.pvalues_??#p-values

          p值輸出為:

          array([?4.47651499e-03,?1.65754167e-01,?5.94344354e-26,?2.50017968e-15])

          可以看出后兩個特征的p值最小,置信度也最高,與前面的結(jié)果一致。

          pip 的高階玩法

          再見,360安全衛(wèi)士

          Python數(shù)據(jù)可視化,被Altair圈粉了

          你真的懂print('Hello World!')?我不信

          缺失值可視化Python工具庫:missingno

          瀏覽 47
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  豆花视频一区二区三区黄区在线 | 日日操免费视频 | 国语对白视频免费观看 | 天堂在线视频免费 | 国产一级A片免费视频 |