日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

R语言笔记之特征工程

發(fā)布時(shí)間:2023/12/29 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 R语言笔记之特征工程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.特征構(gòu)建(藝術(shù)成分最高)

特征構(gòu)建指的是從原始數(shù)據(jù)中人工地構(gòu)建新的特征
它需要我們從原始數(shù)據(jù)中找出一些具有物理意義的特征

2.特征提取

它是一項(xiàng)用不同變量的組合代替原變量的技術(shù)
它的目的是自動(dòng)地構(gòu)建新的特征,將原始特征轉(zhuǎn)換為一組具有明顯物理意義或者統(tǒng)計(jì)意義的特征。
下面是3個(gè)常用的對(duì)數(shù)據(jù)降維的特征提取方法
(1)主成分分析(PCA)
(2)探索性因子分析(EFA)
(3)高維標(biāo)度化(MDS)

3.特征選擇

在建立統(tǒng)計(jì)模型常常會(huì)有以下幾個(gè)問題
a.模型擬合情況如何?
b.模型在新樣本上預(yù)測(cè)的情況如何?
c.所有的自變量都有助于解釋因變量(y),還是只有其中部分重要的自變量?
以上三個(gè)問題的共同前提是要先有一個(gè)評(píng)判模型的好與壞的標(biāo)準(zhǔn)
特征選擇的主要目的是刪除無信息變量或冗余變量,從而達(dá)到降維的效果。
特征選擇的方法主要可以分成3類:
(1)過濾法(filter)

過濾法主要側(cè)重于單個(gè)特征與目標(biāo)變量的關(guān)系,在建模前對(duì)每個(gè)特征進(jìn)行評(píng)估,選擇“重要”的變量進(jìn)行建模。
這里所說的重要性指的是一個(gè)量化預(yù)測(cè)變量和結(jié)果變量之間關(guān)系的粗略度量。
如果缺失某特征導(dǎo)致模型表現(xiàn)大幅度下降,表明變量重要性大。
該方法優(yōu)點(diǎn)是計(jì)算時(shí)間上較高效。
該方法缺點(diǎn)是傾向于選擇冗余的特征,因?yàn)樗麄儾豢紤]特征之間的相關(guān)性,如果某一個(gè)特征重要性較高,所有和該特征高相關(guān)的特征重要性都會(huì)很高。
a.特征重要性度量
特征重要性度量的方式和其類型有關(guān),分類型和連續(xù)型特征度量差別很大
這里我們按照不同的特征和因變量類型來介紹相應(yīng)的常用度量。
a1.-因變量和特征都是數(shù)值型,最常用的是簡(jiǎn)單相關(guān)性統(tǒng)計(jì)量。
Pearson相關(guān)系數(shù)衡量線性相關(guān),Spearman相關(guān)系數(shù)衡量曲線相關(guān)
Kendall相關(guān)系數(shù)衡量?jī)蓚€(gè)變量觀測(cè)排序的一致性
基礎(chǔ)包中的cor()函數(shù)可以計(jì)算這些相關(guān)性。
-用一個(gè)相關(guān)性度量有時(shí)會(huì)丟失很多信息,可以用局部加權(quán)回歸模型(Loess),該方法對(duì)一系列局部區(qū)域樣本應(yīng)用多項(xiàng)式回歸。這種方法可以有效得到平滑的回歸趨勢(shì)。
基礎(chǔ)包中的loess()函數(shù)可以進(jìn)行Loess平滑。
Lattice包中的xyplot()以及ggplot2包可以很方便對(duì)其進(jìn)行可視化。
a2:對(duì)于特征是數(shù)值型,因變量是分類型的情況,可以使用ROC曲線下面積量化特征和因變量的相關(guān)性。
a3:如果特征和因變量都是分類型,有幾種用于測(cè)量變量重要性的方法。
對(duì)于二分類預(yù)測(cè)變量,一個(gè)有效的方式是使用讓步比。它表明從預(yù)測(cè)變量的第一類到預(yù)測(cè)變量的第二類,對(duì)應(yīng)時(shí)間發(fā)生比的變化。
可以用Fisher確切檢驗(yàn)來測(cè)量預(yù)測(cè)變量和相應(yīng)結(jié)果類別的聯(lián)系。
b.Relief算法
Relief為一系列算法,和其他重要性衡量的方法類似,該算法給出的是一個(gè)重要性分值,將分值低于某個(gè)閾值的特征移除。
這里可以將閾值當(dāng)作調(diào)優(yōu)參數(shù)通過劃分測(cè)試集合訓(xùn)練集,基于一個(gè)模型表現(xiàn)的度量進(jìn)行選擇。
原始的Relief算法的基本原理是通過特征對(duì)近距離樣本的區(qū)分能力來估計(jì)重要性。
c.結(jié)束

Relief算法的運(yùn)行時(shí)間隨著樣本的抽樣次數(shù)m和原始特征個(gè)數(shù)p的增加線性地增加,因而運(yùn)行效率非常高。
Relief統(tǒng)計(jì)量的計(jì)算可以使用CORElearn包,attrEval()函數(shù)能計(jì)算幾個(gè)不同版本的Relief值(使用estimator選項(xiàng)),該函數(shù)也能用來計(jì)算其他分值,如增益比,基尼系數(shù)等。

> library(CORElearn) Warning message: 程輯包‘CORElearn’是用R版本3.4.3 來建造的 > infoCore(what="attrEvalReg") [1] "RReliefFequalK" "RReliefFexpRank" "RReliefFbestK" "RReliefFwithMSE" "MSEofMean" [6] "MSEofModel" "MAEofModel" "RReliefFdistance" "RReliefFsqrDistance" > infoCore(what="attrEval")[1] "ReliefFequalK" "ReliefFexpRank" "ReliefFbestK" "Relief" "InfGain" "GainRatio" [7] "MDL" "Gini" "MyopicReliefF" "Accuracy" "ReliefFmerit" "ReliefFdistance" [13] "ReliefFsqrDistance" "DKM" "ReliefFexpC" "ReliefFavgC" "ReliefFpe" "ReliefFpa" [19] "ReliefFsmp" "GainRatioCost" "DKMcost" "ReliefKukar" "MDLsmp" "ImpurityEuclid" [25] "ImpurityHellinger" "UniformDKM" "UniformGini" "UniformInf" "UniformAccuracy" "EqualDKM" [31] "EqualGini" "EqualInf" "EqualHellinger" "DistHellinger" "DistAUC" "DistAngle" [37] "DistEuclid" >

要用置換檢驗(yàn)觀測(cè)到的Relief分值可以使用AppliedPredictiveModeling包中的permuteRelief()函數(shù)
重要性分值的置換分布非常有用,它能夠讓我們直觀的了解分值 的隨機(jī)性。(lattice::histogram())
標(biāo)準(zhǔn)化后的分值,其代表了觀測(cè)到Relief分值(無置換)離置換分布中心的距離與標(biāo)注差的比值。

(2)繞封法(wrapper)
它按照一定規(guī)律不斷增加或者刪除變量,通過評(píng)估不同特征組合得到的模型擬合結(jié)果尋找能夠最優(yōu)化模型擬合的特征組合。
其本質(zhì)是搜索算法,將不同的特征子集當(dāng)作輸入,將模型評(píng)估結(jié)果作為需要優(yōu)化的輸出。
a.窮舉法:
通過窮舉得到所有可能的特征子集,然后找到優(yōu)化模型擬合的組合。
通過leap包中 regsubsets()函數(shù)進(jìn)行窮舉變量選擇
該方法問題在于:要擬合和評(píng)估所有可能的特征子集,對(duì)稍微大一點(diǎn)的p來說計(jì)算量過大。同時(shí)這種方法也會(huì)導(dǎo)致統(tǒng)計(jì)問題,如過度擬合和參數(shù)估計(jì)的高方差。
b.向前選擇法(逐步回歸)
其從沒有特征的模型開始逐一加入特征,直到所有的特征都在模型當(dāng)中。
當(dāng)加入一個(gè)變量對(duì)模型提升有很大幫助時(shí),就將該變量保留在模型中。
可以繼續(xù)使用regsubsets()函數(shù)進(jìn)行向前選擇,只需要設(shè)置method=”forward”

c.向后選擇法(逐步回歸)
和向前選擇不同的是,向后選擇從含有所有p個(gè)特征的全模型開始,然后迭代逐一刪除最 無效的特征。
向后選擇評(píng)估的模型個(gè)數(shù)和向前選擇一樣,但它無法保證選出迭代模型是全局最優(yōu)的。
可以用regsubsets()函數(shù)進(jìn)行向后選擇,需要設(shè)置method=”backward”

d.雙向選擇法(逐步回歸)
和向前選擇類似,模型從0個(gè)特征開始向模型里加特征,但不同的是,每次加入特征之后算法會(huì)重新評(píng)估模型,看是否有些特征可以移除。
R中的MASS包的函數(shù)stepAIC()可以根據(jù)AIC進(jìn)行雙向選擇。
此外,基礎(chǔ)包中step()函數(shù)也可以用來進(jìn)行向前,向后和雙向選擇。

(3)內(nèi)嵌法(embedded)
它是將特征選擇的過程內(nèi)嵌入建模的過程,它是學(xué)習(xí)器自身自主選擇特征,如Lasso,或者使用決策樹思想的方法。

總結(jié)

以上是生活随笔為你收集整理的R语言笔记之特征工程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。