自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

已經(jīng)證實提高機器學(xué)習(xí)模型準確率的八大方法

大數(shù)據(jù)
我從實踐中學(xué)習(xí)了到這些方法。相對于理論,我一向更熱衷于實踐。這種學(xué)習(xí)方式也一直在激勵我。本文將分享 8 個經(jīng)過證實的方法,使用這些方法可以建立穩(wěn)健的機器學(xué)習(xí)模型。希望我的知識可以幫助大家獲得更高的職業(yè)成就。

導(dǎo)語

提升一個模型的表現(xiàn)有時很困難。如果你們曾經(jīng)糾結(jié)于相似的問題,那我相信你們中很多人會同意我的看法。你會嘗試所有曾學(xué)習(xí)過的策略和算法,但模型正確率并沒有改善。你會覺得無助和困頓,這是 90% 的數(shù)據(jù)科學(xué)家開始放棄的時候。

不過,這才是考驗真本領(lǐng)的時候!這也是普通的數(shù)據(jù)科學(xué)家跟大師級數(shù)據(jù)科學(xué)家的差距所在。你是否曾經(jīng)夢想過成為大師級的數(shù)據(jù)科學(xué)家呢?

如果是的話,你需要這 8 個經(jīng)過證實的方法來重構(gòu)你的模型。建立預(yù)測模型的方法不止一種。這里沒有金科玉律。但是,如果你遵循我的方法(見下文),(在提供的數(shù)據(jù)足以用來做預(yù)測的前提下)你的模型會擁有較高的準確率。

我從實踐中學(xué)習(xí)了到這些方法。相對于理論,我一向更熱衷于實踐。這種學(xué)習(xí)方式也一直在激勵我。本文將分享 8 個經(jīng)過證實的方法,使用這些方法可以建立穩(wěn)健的機器學(xué)習(xí)模型。希望我的知識可以幫助大家獲得更高的職業(yè)成就。

正文

模型的開發(fā)周期有多個不同的階段,從數(shù)據(jù)收集開始直到模型建立。

不過,在通過探索數(shù)據(jù)來理解(變量的)關(guān)系之前,建議進行假設(shè)生成(hypothesis generation)步驟(如果想了解更多有關(guān)假設(shè)生成的內(nèi)容,推薦閱讀 why-and-when-is-hypothesis-generation-important )。我認為,這是預(yù)測建模過程中最被低估的一個步驟。

花時間思考要回答的問題以及獲取領(lǐng)域知識也很重要。這有什么幫助呢?它會幫助你隨后建立更好的特征集,不被當前的數(shù)據(jù)集誤導(dǎo)。這是改善模型正確率的一個重要環(huán)節(jié)。

在這個階段,你應(yīng)該對問題進行結(jié)構(gòu)化思考,即進行一個把此問題相關(guān)的所有可能的方面納入考慮范圍的思考過程。

現(xiàn)在讓我們挖掘得更深入一些。讓我們看看這些已被證實的,用于改善模型準確率的方法。

1. 增加更多數(shù)據(jù)

持有更多的數(shù)據(jù)永遠是個好主意。相比于去依賴假設(shè)和弱相關(guān),更多的數(shù)據(jù)允許數(shù)據(jù)進行“自我表達”。數(shù)據(jù)越多,模型越好,正確率越高。

我明白,有時無法獲得更多數(shù)據(jù)。比如,在數(shù)據(jù)科學(xué)競賽中,訓(xùn)練集的數(shù)據(jù)量是無法增加的。但對于企業(yè)項目,我建議,如果可能的話,去索取更多數(shù)據(jù)。這會減少由于數(shù)據(jù)集規(guī)模有限帶來的痛苦。

2. 處理缺失值和異常值

訓(xùn)練集中缺失值與異常值的意外出現(xiàn),往往會導(dǎo)致模型正確率低或有偏差。這會導(dǎo)致錯誤的預(yù)測。這是由于我們沒能正確分析目標行為以及與其他變量的關(guān)系。所以處理好缺失值和異常值很重要。

仔細看下面一幅截圖。在存在缺失值的情況下,男性和女性玩板球的概率相同。但如果看第二張表(缺失值根據(jù)稱呼“Miss”被填補以后),相對于男性,女性玩板球的概率更高。

左側(cè):缺失值處理前;右側(cè):缺失值處理后

從上面的例子中,我們可以看出缺失值對于模型準確率的不利影響。所幸,我們有各種方法可以應(yīng)對缺失值和異常值:

缺失值:對于連續(xù)變量,可以把缺失值替換成平均值、中位數(shù)、眾數(shù)。對于分類變量,可以把變量作為一個特殊類別看待。你也可以建立模型預(yù)測缺失值。KNN 為處理缺失值提供了很好的方法。想了解更多這方面內(nèi)容,推薦閱讀《Methods to deal and treat missing values》。

異常值:你可以刪除這些條目,進行轉(zhuǎn)換,分箱。如同缺失值,你也可以對異常值進行區(qū)別對待。想了解更多這方面內(nèi)容,推薦閱讀《How to detect Outliers in your dataset and treat them?》。

3. 特征工程學(xué)

這一步驟有助于從現(xiàn)有數(shù)據(jù)中提取更多信息。新信息作為新特征被提取出來。這些特征可能會更好地解釋訓(xùn)練集中的差異變化。因此能改善模型的準確率。

假設(shè)生成對特征工程影響很大。好的假設(shè)能帶來更好的特征集。這也是我一直建議在假設(shè)生成上花時間的原因。特征工程能被分為兩個步驟:

特征轉(zhuǎn)換:許多場景需要進行特征轉(zhuǎn)換:

A) 把變量的范圍從原始范圍變?yōu)閺?0 到 1 。這通常被稱作數(shù)據(jù)標準化。比如,某個數(shù)據(jù)集中***個變量以米計算,第二個變量是厘米,第三個是千米,在這種情況下,在使用任何算法之前,必須把數(shù)據(jù)標準化為相同范圍。

B) 有些算法對于正態(tài)分布的數(shù)據(jù)表現(xiàn)更好。所以我們需要去掉變量的偏向。對數(shù),平方根,倒數(shù)等方法可用來修正偏斜。

C) 有些時候,數(shù)值型的數(shù)據(jù)在分箱后表現(xiàn)更好,因為這同時也處理了異常值。數(shù)值型數(shù)據(jù)可以通過把數(shù)值分組為箱變得離散。這也被稱為數(shù)據(jù)離散化。

創(chuàng)建新特征:從現(xiàn)有的變量中衍生出新變量被稱為特征創(chuàng)建。這有助于釋放出數(shù)據(jù)集中潛藏的關(guān)系。比如,我們想通過某家商店的交易日期預(yù)測其交易量。在這個問題上日期可能和交易量關(guān)系不大,但如果研究這天是星期幾,可能會有更高的相關(guān)。在這個例子中,某個日期是星期幾的信息是潛在的。我們可以把這個信息提取為新特征,優(yōu)化模型。

4. 特征選擇

特征選擇是尋找眾多屬性的哪個子集合,能夠***的解釋目標變量與各個自變量的關(guān)系的過程。

你可以根據(jù)多種標準選取有用的特征,例如:

所在領(lǐng)域知識:根據(jù)在此領(lǐng)域的經(jīng)驗,可以選出對目標變量有更大影響的變量。

可視化:正如這名字所示,可視化讓變量間的關(guān)系可以被看見,使特征選擇的過程更輕松。

統(tǒng)計參數(shù):我們可以考慮 p 值,信息價值(information values)和其他統(tǒng)計參數(shù)來選擇正確的參數(shù)。

PCA:這種方法有助于在低維空間表現(xiàn)訓(xùn)練集數(shù)據(jù)。這是一種降維技術(shù)。 降低數(shù)據(jù)集維度還有許多方法:如因子分析、低方差、高相關(guān)、前向后向變量選擇及其他。

5. 使用多種算法

使用正確的機器學(xué)習(xí)算法是獲得更高準確率的理想方法。但是說起來容易做起來難。

這種直覺來自于經(jīng)驗和不斷嘗試。有些算法比其他算法更適合特定類型數(shù)據(jù)。因此,我們應(yīng)該使用所有有關(guān)的模型,并檢測其表現(xiàn)。

來源:Scikit-Learn 算法選擇圖

6. 算法的調(diào)整

我們都知道機器學(xué)習(xí)算法是由參數(shù)驅(qū)動的。這些參數(shù)對學(xué)習(xí)的結(jié)果有明顯影響。參數(shù)調(diào)整的目的是為每個參數(shù)尋找***值,以改善模型正確率。要調(diào)整這些參數(shù),你必須對它們的意義和各自的影響有所了解。你可以在一些表現(xiàn)良好的模型上重復(fù)這個過程。

例如,在隨機森林中,我們有 max_features, number_trees, random_state, oob_score 以及其他參數(shù)。優(yōu)化這些參數(shù)值會帶來更好更準確的模型。

想要詳細了解調(diào)整參數(shù)帶來的影響,可以查閱《Tuning the parameters of your Random Forest model》。下面是隨機森林算法在scikit learn中的全部參數(shù)清單:

RandomForestClassifier(n_estimators=10, 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,bootstrap=True, oob_score=False, n_jobs=1, random_state=None, verbose=0, warm_start=False,class_weight=None)

7. 集成模型

在數(shù)據(jù)科學(xué)競賽獲勝方案中最常見的方法。這個技術(shù)就是把多個弱模型的結(jié)果組合在一起,獲得更好的結(jié)果。它能通過許多方式實現(xiàn),如:

  • Bagging (Bootstrap Aggregating)
  • Boosting

想了解更多這方面內(nèi)容,可以查閱《Introduction to ensemble learning》。

使用集成方法改進模型正確率永遠是個好主意。主要有兩個原因:

  1. 集成方法通常比傳統(tǒng)方法更復(fù)雜;
  2. 傳統(tǒng)方法提供好的基礎(chǔ),在此基礎(chǔ)上可以建立集成方法。

注意!

到目前為止,我們了解了改善模型準確率的方法。但是,高準確率的模型不一定(在未知數(shù)據(jù)上)有更好的表現(xiàn)。有時,模型準確率的改善是由于過度擬合。

8. 交叉驗證

如果想解決這個問題,我們必須使用交叉驗證技術(shù)(cross validation)。交叉驗證是數(shù)據(jù)建模領(lǐng)域最重要的概念之一。它是指,保留一部分數(shù)據(jù)樣本不用來訓(xùn)練模型,而是在完成模型前用來驗證。

這種方法有助于得出更有概括性的關(guān)系。想了解更多有關(guān)交叉檢驗的內(nèi)容,建議查閱《Improve model performance using cross validation》。

責(zé)任編輯:Ophira 來源: 簡書
相關(guān)推薦

2014-03-20 09:40:48

2009-09-15 15:51:52

2024-07-23 20:33:32

2023-11-28 12:12:46

機器學(xué)習(xí)算法

2020-09-14 14:10:04

開發(fā)技能代碼

2023-10-26 08:40:15

模型隱私推理

2014-03-26 09:29:54

網(wǎng)絡(luò)·安全技術(shù)周刊

2023-02-10 14:49:32

人工智能機器學(xué)習(xí)

2013-10-16 16:03:10

虛擬化

2023-09-25 10:04:37

模型AI

2018-04-19 11:20:03

人工智能虛擬助手面部識別

2022-05-09 18:46:28

EOQ模型數(shù)據(jù)分析

2011-04-14 18:03:49

2022-02-21 17:35:50

漏斗模型流程數(shù)據(jù)

2023-11-27 13:20:00

AI訓(xùn)練

2021-07-20 10:12:53

機器學(xué)習(xí)數(shù)據(jù)庫深度學(xué)習(xí)

2025-02-11 08:11:56

大型語言模型神經(jīng)網(wǎng)絡(luò)機器學(xué)習(xí)

2017-09-28 09:40:36

圖像分類準確率

2020-10-12 11:01:53

AWSSageMaker德比軟件

2023-11-08 08:38:43

點贊
收藏

51CTO技術(shù)棧公眾號