版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第第頁python機器學習——特征篩選實現(xiàn)python機器學習——特征篩選實現(xiàn)
特征篩選實現(xiàn)
1、特征篩選
(1)含義
特征篩選/選擇(FeatureSelection)也稱特征?集選擇(FeatureSubtSelection,FSS),或?qū)傩赃x擇(AttributeSelection)。是指從已有的M個特征(Feature)中選擇N個特征使得系統(tǒng)的特定指標最優(yōu)化,是從原始特征中選擇出?些最有效特征以降低數(shù)據(jù)集維度的過程,是提?學習算法性能的?個重要?段,也是模式識別中關(guān)鍵的數(shù)據(jù)預處理步驟。對于?個學習算法來說,好的學習樣本是訓練模型的關(guān)鍵。
(2)?的晉滅吳之戰(zhàn)
在有限的樣本數(shù)?下,??量的特征來設計分類器計算開銷太??且分類性能差。特征篩選可去掉?些冗余特征,提?模型的精度,減少計算量,減少特征數(shù)量、降維,使模型泛化能?更強,減少過擬合。
(3)?些區(qū)別
①特征篩選與特征提取區(qū)別:特征提取(Featureextraction)是指利?已有的特征計算出?個抽象程度更?的特征集,也指計算得到某個特征的算法。
②特征篩選和PCA的區(qū)別:對于PCA??,我們經(jīng)常?法解釋重建之后的特征,?特征篩選不存在對特征數(shù)值的修改,?更加側(cè)重于尋找那些對模型的性能提升較?的少量特征。
注意:降維和特征選擇都是為了使數(shù)據(jù)維度降?,但實際上兩者的區(qū)別很?,它們的本質(zhì)是完全不同的:降維本質(zhì)上是從?個維度空間映射到另?個維度空間,特征的多少別沒有減少,當然在映射的過程中特征的數(shù)值也會相應的變化(在這個過程中,特征發(fā)?了根本性的變化,原始的特征消失了);?特征選擇就是單純地從提取到的所有特征中選擇部分特征作為訓練集特征,特征在選擇前和選擇后不改變值,但是選擇后的特征維數(shù)肯定?選擇前?,因為只選擇了其中的?部分特征(沒有被舍棄的特征沒有發(fā)?任何變化)。
將?維空間的樣本通過映射或者是變換的?式轉(zhuǎn)換到低維空間,達到降維的?的,然后通過特征篩選刪選掉冗余和不相關(guān)的特征來進?步降維。
(4)特征選取的原則
①獲取盡可能?的特征?集
②不顯著降低分類精度
③不影響類分布
過年吉祥話④特征?集應具有穩(wěn)定適應性強等特點
在篩選特征時需要注意:處理的數(shù)據(jù)類型、處理的問題規(guī)模、問題需要分類的數(shù)量、對噪聲的容忍能?和?噪聲環(huán)境下,產(chǎn)?穩(wěn)定性好、最優(yōu)特征?集的能?。
(5)特征獲取?法
假設原始特征集中有n個特征(也稱輸?變量),那么存在個可能的?空特征?集。搜索策略就是為了從包含個候選解的搜索空間中尋找最優(yōu)特征?集?采取的搜索?法。按照特征?集的形成?式可以分為三種:窮舉法(exhaustion)、啟發(fā)法(heuristic)和隨機法(random)。
1)窮舉式搜索它可以搜索到每個特征?集。缺點是它會帶來巨?的計算開銷,尤其當特征數(shù)較?時,計算時間很長。
2)序列搜索它避免了簡單的窮舉式搜索,在搜索過程中依據(jù)某種次序不斷向當前特征?集中添加或剔除特征,從?獲得優(yōu)化特征?集。?較典型的序列搜索算法如:前向后向搜索、等。序列搜索算法較容易實現(xiàn),計算復雜度相對較?,但容易陷?局部最優(yōu)。
3)隨機搜索由隨機產(chǎn)?的某個候選特征?集開始,依照?定的啟發(fā)式信息和規(guī)則逐步逼近全局最優(yōu)解。例如:遺傳算法(GeneticAlgorithm,GA)、模擬退?算法(SimulatedAnnealing,SA)、粒?群算法(ParticlSwarmOptimization,PSO)和免疫算法(ImmuneAlgorithm,IA)等。
2?n12?n1
綜上窮舉法需要遍歷特征空間中所有的特征組合,所以?法復雜度最?,實?性不強;啟發(fā)法通過采?期望的??機器調(diào)度規(guī)則,重復迭代產(chǎn)?遞增的特征?集,復雜度略低于窮舉法,但是只能獲取近似最優(yōu)解;隨即?法分為完全隨機?法和概率隨機?法兩種,對參數(shù)設置的依賴性較強。
2、特征篩選具體案例操作
以“泰坦尼克號沉船事故”數(shù)據(jù)集為例:
#導?pandas并且更名為pd。
importpandasaspd
#從互聯(lián)?讀取titanic數(shù)據(jù)。
titanic=pd.read_csv('/wiki/pub/Main/')
#分離數(shù)據(jù)特征與預測?標。
y=titanic['survived']
X=titanic.drop(['s','name','survived'],axis=1)
#對對缺失數(shù)據(jù)進?填充。
X['age'].fillna(X['age'].mean(),inplace=True)
X.fillna('UNKNOWN',inplace=True)
#分割數(shù)據(jù),依然采樣25%?于測試。
del_lectionimporttrain_test_split
X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.25,random_state=33)
#類別型特征向量化。
fromsklearn.feature_extractionimportDictVectorizer
vec=DictVectorizer()
X_train=vec.fit_transform(_dict(orient='record'))
X_test=ansform(_dict(orient='record'))
#輸出處理后特征向量的維度。
print(len(vec.feature_names_))
10月7號我們可以看到特征向量的維度為474.土人參
#使?決策樹模型依靠所有特征進?預測,并作性能評估。
importDecisionTreeClassifier
dt=DecisionTreeClassifier(criterion='entropy')
dt.fit(X_train,y_train)
dt.score(X_test,y_test)
使?所有特征建?決策樹得到的測試集準確率為0.8267
#從sklearn導?特征篩選器。
fromsklearnimportfeature_lection
#篩選前20%的特征,使?相同配置的決策樹模型進?預測,并且評估性能。
fs=feature_lection.SelectPercentile(feature_lection.chi2,percentile=20)
X_train_fs=fs.fit_transform(X_train,y_train)
dt.fit(X_train_fs,y_train)
X_test_fs=fs.transform(X_test)
dt.score(X_test_fs,y_test)
篩選前20%的特征建?決策樹得到的測試集準確率為0.8298
#通過交叉驗證(下?節(jié)將詳細介紹)的?法,按照固定間隔的百分?篩選特征,并作圖展?性能隨特征篩選?例的變化。
廚衛(wèi)十大名牌排名
del_lectionimportcross_val_score
importnumpyasnp
percentiles=range(1,100,2)
results=[]
foriinpercentiles:
經(jīng)營計劃fs=feature_lection.SelectPercentile(feature_lection.chi2,percentile=i)
X_train_fs=fs.fit_transform(X_train,y_train)
scores=cross_val_score(dt,X_train_fs,y_train,cv=5)
results=np.append(results,an())
print(results)
#找到體現(xiàn)最佳性能的特征篩選的百分?。
opt=np.where(results==results.max())[0]
print('Optimalnumberoffeatures%d'%percentiles[int(opt)])
我們可以看到篩選7%的特征能夠使得我們的訓練集準確率達到最?。
importpylabaspl
pl.plot(percentiles,results)
pl.xlabel('percentilesoffeatures')
pl.ylabel('accuracy')
pl.show()
#使?最佳篩選后的特征,利?相同配置的模型在測試集上進?性能評估。
fromsklearnimportfeature_lection
fs=feature_lection.SelectPercentile(feature_lection.chi2,percentile=7)
X_train_fs=fs.fit_transform(X_train,y_train)
dt.fit(X_train_fs,y_train)
X_test_fs=fs.transform(X_test)
dt.score(X_test_fs,y_test)
由上?的輸出結(jié)果可知:
①經(jīng)過初步的特征處理后,最終的訓練與測試數(shù)據(jù)均有474個維度的特征;
②如果直接使?全部474個維度的特征?于訓練決策樹模型進?分類預測,那么模型在測試集上的準確性約為81.76%;
③如果篩選前20%維度的特征,在相同的模型配置下進?預測,那么在測試集上表現(xiàn)的準確性約為82.37%;
貝瓦唐詩三百首④如果按照固定的間隔采?不同百分?的特征進?訓練與測試,通過交叉驗證得出的準確性有著很?波動,并且最好的模型性能表現(xiàn)在選取前7%的維度的特征的時候;
⑤如果使?前7%的維度的特征,那么最終決策樹模型可以在該分類預測任務的測試集上表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版國際金融風險管理合同范本3篇
- 二零二五版建筑工地勞務用工及社會保障服務合同范本3篇
- 二零二五年酒店客房協(xié)議價優(yōu)惠合作合同3篇
- 2024政府采購合同環(huán)境與安全監(jiān)督協(xié)議3篇
- 2025年新型城鎮(zhèn)化項目水電設施安裝施工合同3篇
- 二零二五版板房租賃與租賃期滿資產(chǎn)評估與轉(zhuǎn)讓合同3篇
- 二零二五年度出租車司機服務規(guī)范與客戶滿意度提升合同3篇
- 二零二五年透水混凝土工程驗收與評估合同2篇
- 二零二五年智能交通管理系統(tǒng)采購合同3篇
- 二零二五版房屋代理租賃資產(chǎn)評估合同3篇
- 蓋洛普Q12解讀和實施完整版
- 2023年Web前端技術(shù)試題
- GB/T 20840.8-2007互感器第8部分:電子式電流互感器
- GB/T 14864-2013實心聚乙烯絕緣柔軟射頻電纜
- 品牌策劃與推廣-項目5-品牌推廣課件
- 信息學奧賽-計算機基礎知識(完整版)資料
- 發(fā)煙硫酸(CAS:8014-95-7)理化性質(zhì)及危險特性表
- 數(shù)字信號處理(課件)
- 公路自然災害防治對策課件
- 耳鳴中醫(yī)臨床路徑
- 安徽身份證號碼前6位
評論
0/150
提交評論