
8個經過證實的方法:提高機器學習模型的準確率0 評論
提升一個模型的表現有時很困難。如果你們曾經糾結于相似的問題,那我相信你們中很多人會同意我的看法。你會嘗試所有曾學習過的策略和算法,但模型正確率并沒有改善。你會覺得無助和困頓,這是90%的數據科學家開始放棄的時候。
不過,這才是考驗真本領的時候!這也是普通的數據科學家跟大師級數據科學家的差距所在。你是否曾經夢想過成為大師級的數據科學家呢?
如果是的話,你需要這 8 個經過證實的方法來重構你的模型。建立預測模型的方法不止一種。這里沒有金科玉律。但是,如果你遵循我的方法(見下文),(在提供的數據足以用來做預測的前提下)你的模型會擁有較高的準確率。
我從實踐中學習了到這些方法。相對于理論,我一向更熱衷于實踐。這種學習方式也一直在激勵我。本文將分享 8 個經過證實的方法,使用這些方法可以建立穩健的機器學習模型。希望我的知識可以幫助大家獲得更高的職業成就。.
正文:
模型的開發周期有多個不同的階段,從數據收集開始直到模型建立。
不過,在通過探索數據來理解(變量的)關系之前,建議進行假設生成(hypothesis generation)步驟(如果想了解更多有關假設生成的內容,推薦閱讀 why-and-when-is-hypothesis-generation-important )。我認為,這是預測建模過程中最被低估的一個步驟。
花時間思考要回答的問題以及獲取領域知識也很重要。這有什么幫助呢?它會幫助你隨后建立更好的特征集,不被當前的數據集誤導。這是改善模型正確率的一個重要環節。
在這個階段,你應該對問題進行結構化思考,即進行一個把此問題相關的所有可能的方面納入考慮范圍的思考過程。
現在讓我們挖掘得更深入一些。讓我們看看這些已被證實的,用于改善模型準確率的方法。
持有更多的數據永遠是個好主意。相比于去依賴假設和弱相關,更多的數據允許數據進行“自我表達”。數據越多,模型越好,正確率越高。
我明白,有時無法獲得更多數據。比如,在數據科學競賽中,訓練集的數據量是無法增加的。但對于企業項目,我建議,如果可能的話,去索取更多數據。這會減少由于數據集規模有限帶來的痛苦。
訓練集中缺失值與異常值的意外出現,往往會導致模型正確率低或有偏差。這會導致錯誤的預測。這是由于我們沒能正確分析目標行為以及與其他變量的關系。所以處理好缺失值和異常值很重要。
仔細看下面一幅截圖。在存在缺失值的情況下,男性和女性玩板球的概率相同。但如果看第二張表(缺失值根據稱呼“Miss”被填補以后),相對于男性,女性玩板球的概率更高。
從上面的例子中,我們可以看出缺失值對于模型準確率的不利影響。所幸,我們有各種方法可以應對缺失值和異常值:
缺失值:對于連續變量,可以把缺失值替換成平均值、中位數、眾數。對于分類變量,可以把變量作為一個特殊類別看待。你也可以建立模型預測缺失值。KNN 為處理缺失值提供了很好的方法。想了解更多這方面內容,推薦閱讀《Methods to deal and treat missing values》。
異常值:你可以刪除這些條目,進行轉換,分箱。如同缺失值,你也可以對異常值進行區別對待。想了解更多這方面內容,推薦閱讀《How to detect Outliers in your dataset and treat them?》。
這一步驟有助于從現有數據中提取更多信息。新信息作為新特征被提取出來。這些特征可能會更好地解釋訓練集中的差異變化。因此能改善模型的準確率。
假設生成對特征工程影響很大。好的假設能帶來更好的特征集。這也是我一直建議在假設生成上花時間的原因。特征工程能被分為兩個步驟:
A) 把變量的范圍從原始范圍變為從 0 到 1 。這通常被稱作數據標準化。比如,某個數據集中第一個變量以米計算,第二個變量是厘米,第三個是千米,在這種情況下,在使用任何算法之前,必須把數據標準化為相同范圍。
B) 有些算法對于正態分布的數據表現更好。所以我們需要去掉變量的偏向。對數,平方根,倒數等方法可用來修正偏斜。
C) 有些時候,數值型的數據在分箱后表現更好,因為這同時也處理了異常值。數值型數據可以通過把數值分組為箱變得離散。這也被稱為數據離散化。
創建新特征:從現有的變量中衍生出新變量被稱為特征創建。這有助于釋放出數據集中潛藏的關系。比如,我們想通過某家商店的交易日期預測其交易量。在這個問題上日期可能和交易量關系不大,但如果研究這天是星期幾,可能會有更高的相關。在這個例子中,某個日期是星期幾的信息是潛在的。我們可以把這個信息提取為新特征,優化模型。
特征選擇是尋找眾多屬性的哪個子集合,能夠最好的解釋目標變量與各個自變量的關系的過程。
你可以根據多種標準選取有用的特征,例如:
所在領域知識:根據在此領域的經驗,可以選出對目標變量有更大影響的變量。
可視化:正如這名字所示,可視化讓變量間的關系可以被看見,使特征選擇的過程更輕松。
統計參數:我們可以考慮 p 值,信息價值(information values)和其他統計參數來選擇正確的參數。
PCA:這種方法有助于在低維空間表現訓練集數據。這是一種降維技術。 降低數據集維度還有許多方法:如因子分析、低方差、高相關、前向后向變量選擇及其他。
使用正確的機器學習算法是獲得更高準確率的理想方法。但是說起來容易做起來難。
這種直覺來自于經驗和不斷嘗試。有些算法比其他算法更適合特定類型數據。因此,我們應該使用所有有關的模型,并檢測其表現。
來源:Scikit-Learn 算法選擇圖
我們都知道機器學習算法是由參數驅動的。這些參數對學習的結果有明顯影響。參數調整的目的是為每個參數尋找最優值,以改善模型正確率。要調整這些參數,你必須對它們的意義和各自的影響有所了解。你可以在一些表現良好的模型上重復這個過程。
例如,在隨機森林中,我們有 max_features, number_trees, random_state, oob_score 以及其他參數。優化這些參數值會帶來更好更準確的模型。
想要詳細了解調整參數帶來的影響,可以查閱《Tuning the parameters of your Random Forest model》。下面是隨機森林算法在scikit learn中的全部參數清單:
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)
在數據科學競賽獲勝方案中最常見的方法。這個技術就是把多個弱模型的結果組合在一起,獲得更好的結果。它能通過許多方式實現,如:
Bagging (Bootstrap Aggregating)
Boosting
想了解更多這方面內容,可以查閱《Introduction to ensemble learning》。
使用集成方法改進模型正確率永遠是個好主意。主要有兩個原因:
1)集成方法通常比傳統方法更復雜;
2)傳統方法提供好的基礎,在此基礎上可以建立集成方法。
注意!
到目前為止,我們了解了改善模型準確率的方法。但是,高準確率的模型不一定(在未知數據上)有更好的表現。有時,模型準確率的改善是由于過度擬合。
如果想解決這個問題,我們必須使用交叉驗證技術(cross validation)。交叉驗證是數據建模領域最重要的概念之一。它是指,保留一部分數據樣本不用來訓練模型,而是在完成模型前用來驗證。
這種方法有助于得出更有概括性的關系。想了解更多有關交叉檢驗的內容,建議查閱《Improve model performance using cross validation》。
結語
預測建模的過程令人疲憊。但是,如果你能靈活思考,就可以輕易勝過其他人。簡單地說,多考慮上面這8個步驟。獲得數據集以后,遵循這些被驗證過的方法,你就一定會得到穩健的機器學習模型。不過,只有當你熟練掌握了這些步驟,它們才會真正有幫助。比如,想要建立一個集成模型,你必須對多種機器學習算法有所了解。
本文分享了 8 個經過證實的方法。這些方法用來改善模型的預測表現。它們廣為人知,但不一定要按照文中的順序逐個使用。
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25在當今數字化時代,數據分析師的重要性與日俱增。但許多人在踏上這條職業道路時,往往充滿疑惑: 如何成為一名數據分析師?成為 ...
2025-04-24以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《劉靜:10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda ...
2025-04-23