數(shù)據(jù)科學(xué)工作通常需要大幅度提高工作量才能提高所開發(fā)模型的準(zhǔn)確性。這五個(gè)建議將有助于改善您的機(jī)器學(xué)習(xí)模型,并幫助您的項(xiàng)目達(dá)到其目標(biāo)。
如果您已經(jīng)完成了一些自己的數(shù)據(jù)科學(xué)項(xiàng)目,那么您現(xiàn)在可能已經(jīng)意識(shí)到,達(dá)到80%的準(zhǔn)確性還不錯(cuò)!但是在現(xiàn)實(shí)世界中,有80%不會(huì)削減它。實(shí)際上,我工作過(guò)的大多數(shù)公司都期望至少90%的最低準(zhǔn)確性(或他們所關(guān)注的任何度量標(biāo)準(zhǔn))。
因此,我將討論可以極大地提高準(zhǔn)確性的5件事。 我強(qiáng)烈建議您仔細(xì)閱讀所有五點(diǎn)內(nèi)容, 因?yàn)槠渲邪嗽S多大多數(shù)初學(xué)者都不知道的細(xì)節(jié)。
到此為止,您應(yīng)該理解,在決定機(jī)器學(xué)習(xí)模型的性能方面,有比您想象的更多的變量。
話雖如此,您可以做以下五件事來(lái)改善您的機(jī)器學(xué)習(xí)模型!
1.處理缺失值
我看到的最大錯(cuò)誤之一是人們?nèi)绾翁幚砣笔У膬r(jià)值觀,這不一定是他們的錯(cuò)。網(wǎng)絡(luò)上有很多資料說(shuō),您通常通過(guò)均值插補(bǔ)來(lái)處理缺失值 , 將空值替換為給定特征的均值,這通常不是最佳方法。
例如,假設(shè)我們有一個(gè)顯示年齡和健身得分的表,并且假設(shè)一個(gè)八十歲的孩子缺少健身得分。如果我們將平均健身得分從15到80歲的年齡范圍內(nèi)進(jìn)行計(jì)算,那么八十歲的孩子似乎將獲得比他們實(shí)際應(yīng)該更高的健身得分。
因此,您要問(wèn)自己的第一個(gè)問(wèn)題是 為什么 數(shù)據(jù)一開始會(huì)丟失。
接下來(lái),考慮除均值/中位數(shù)插補(bǔ)外的其他處理丟失數(shù)據(jù)的方法:
特征預(yù)測(cè)建模:回到我關(guān)于年齡和健身得分的示例,我們可以對(duì)年齡和健身得分之間的關(guān)系進(jìn)行建模,然后使用該模型查找給定年齡的預(yù)期健身得分。這可以通過(guò)多種技術(shù)來(lái)完成,包括回歸,ANOVA等。
K最近鄰插補(bǔ):使用KNN插補(bǔ),缺失數(shù)據(jù)中填充了另一個(gè)相似樣本中的值,對(duì)于不知道的數(shù)據(jù),KNN中的相似性使用距離函數(shù)(即歐幾里德距離)確定。
刪除行:最后,您可以刪除該行。通常不建議這樣做,但是當(dāng)您有大量數(shù)據(jù)開始時(shí),它是可以接受的 。
2.特征工程
可以顯著改善機(jī)器學(xué)習(xí)模型的第二種方法是通過(guò)特征工程。特征工程是將原始數(shù)據(jù)轉(zhuǎn)換為更好地表示人們正在試圖解決的潛在問(wèn)題的特征的過(guò)程。沒(méi)有具體的方法可以執(zhí)行此步驟,這就是使數(shù)據(jù)科學(xué)與科學(xué)一樣多的藝術(shù)。話雖如此,以下是您可以考慮的一些事項(xiàng):
轉(zhuǎn)換DateTime變量以僅提取一周中的一天,一年中的月份等。
為變量創(chuàng)建箱或桶。(例如,對(duì)于高度變量,可以為100–149厘米,150–199厘米,200–249厘米等)
組合多個(gè)功能和/或值以創(chuàng)建一個(gè)新功能。例如,針對(duì)泰坦尼克號(hào)挑戰(zhàn)的最準(zhǔn)確模型之一設(shè)計(jì)了一個(gè)新變量“ Is_women_or_child”,如果該人是女人還是孩子,則為True,否則為false。
3.特征選擇
可以大大提高模型準(zhǔn)確性的第三個(gè)領(lǐng)域是特征選擇,即選擇數(shù)據(jù)集中最相關(guān)/最有價(jià)值的特征。特征太多會(huì)導(dǎo)致算法過(guò)擬合,而特征太少會(huì)導(dǎo)致算法不足。
我喜歡使用兩種主要方法來(lái)幫助您選擇功能:
功能重要性:某些算法(例如隨機(jī)森林或XGBoost)可讓您確定哪些功能在預(yù)測(cè)目標(biāo)變量的值時(shí)最“重要”。通過(guò)快速創(chuàng)建這些模型之一并進(jìn)行功能重要性,您將了解哪些變量比其他變量更有用。
降維:主成分分析(PCA)是最常見(jiàn)的降維技術(shù)之一,它具有大量特征,并使用線性代數(shù)將其簡(jiǎn)化為更少的特征。
4.集成學(xué)習(xí)算法
改善機(jī)器學(xué)習(xí)模型的最簡(jiǎn)單方法之一就是簡(jiǎn)單地選擇更好的機(jī)器學(xué)習(xí)算法。如果您還不知道什么是集成學(xué)習(xí)算法,那么現(xiàn)在該學(xué)習(xí)它了!
集合學(xué)習(xí) 是一種結(jié)合使用多種學(xué)習(xí)算法的方法。這樣做的目的是,與單獨(dú)使用單個(gè)算法相比,它可以實(shí)現(xiàn)更高的預(yù)測(cè)性能。
流行的整體學(xué)習(xí)算法包括隨機(jī)森林,XGBoost,梯度提升和AdaBoost。為了解釋為什么集成學(xué)習(xí)算法如此強(qiáng)大,我將以隨機(jī)森林為例:
隨機(jī)森林涉及使用原始數(shù)據(jù)的自舉數(shù)據(jù)集創(chuàng)建多個(gè)決策樹。然后,模型選擇每個(gè)決策樹的所有預(yù)測(cè)的模式(多數(shù))。這有什么意義?通過(guò)依靠“多數(shù)勝利”模型,它降低了單個(gè)樹出錯(cuò)的風(fēng)險(xiǎn)。
例如,如果我們創(chuàng)建一個(gè)決策樹,第三個(gè)決策樹,它將預(yù)測(cè)0。但是,如果我們依靠所有4個(gè)決策樹的模式,則預(yù)測(cè)值為1。這就是集成學(xué)習(xí)的力量!
5.調(diào)整超參數(shù)
最后,調(diào)整模型的超參數(shù)并不經(jīng)常被談?wù)摚匀环浅V匾T谶@里,必須清楚地了解正在使用的ML模型。否則,可能很難理解每個(gè)超參數(shù)。
看一下隨機(jī)森林的所有超參數(shù):
class sklearn.ensemble.RandomForestClassifier(n_estimators=100, *, criterion='gini', max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features='auto', max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split=None, bootstrap=True, oob_score=False, n_jobs=None, random_state=None, verbose=0, warm_start=False, class_weight=None, ccp_alpha=0.0, max_samples=None)
例如,了解什么是min_impurity_decrease可能是一個(gè)好主意,這樣,當(dāng)您希望機(jī)器學(xué)習(xí)模型更加寬容時(shí),可以調(diào)整此參數(shù)!;)
審核編輯 黃昊宇
-
算法
+關(guān)注
關(guān)注
23文章
4599瀏覽量
92643 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8377瀏覽量
132407
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論