提高機器學習模型準確率的八大方法

2021-07-22 13:54:59 字數 1618 閱讀 1850

提公升乙個模型的表現有時很困難。如果你們曾經糾結於相似的問題,那我相信你們中很多人會同意我的看法。你會嘗試所有曾學習過的策略和演算法,但模型正確率並沒有改善。你會覺得無助和困頓,這是 90% 的資料科學家開始放棄的時候。 不過,這才是考驗真本領的時候!這也是普通的資料科學家跟大師級資料科學家的差距所在。你是否曾經夢想過成為大師級的資料科學家呢? 如果是的話,你需要這 8 個經過證實的方法來重構你的模型。建立**模型的方法不止一種。這裡沒有金科玉律。但是,如果你遵循我的方法(見下文),(在提供的資料足以用來做**的前提下)你的模型會擁有較高的準確率。 我從實踐中學習了到這些方法。相對於理論,我一向更熱衷於實踐。這種學習方式也一直在激勵我。本文將分享 8 個經過證實的方法,使用這些方法可以建立穩健的機器學習模型。希望我的知識可以幫助大家獲得更高的職業成就。正文

1. 增加更多資料 持有更多的資料永遠是個好主意。相比於去依賴假設和弱相關,更多的資料允許資料進行「自我表達」。資料越多,模型越好,正確率越高。 我明白,有時無法獲得更多資料。比如,在資料科學競賽中,訓練集的資料量是無法增加的。但對於企業專案,我建議,如果可能的話,去索取更多資料。這會減少由於資料集規模有限帶來的痛苦。

3. 特徵工程學 這一步驟有助於從現有資料中提取更多資訊。新資訊作為新特徵被提取出來。這些特徵可能會更好地解釋訓練集中的差異變化。因此能改善模型的準確率。 假設生成對特徵工程影響很大。好的假設能帶來更好的特徵集。這也是我一直建議在假設生成上花時間的原因。特徵工程能被分為兩個步驟: 特徵轉換:許多場景需要進行特徵轉換: a) 把變數的範圍從原始範圍變為從 0 到 1 。這通常被稱作資料標準化。比如,某個資料集中第乙個變數以公尺計算,第二個變數是厘公尺,第三個是千公尺,在這種情況下,在使用任何演算法之前,必須把資料標準化為相同範圍。 b) 有些演算法對於正態分佈的資料表現更好。所以我們需要去掉變數的偏向。對數,平方根,倒數等方法可用來修正偏斜。 c) 有些時候,數值型的資料在分箱後表現更好,因為這同時也處理了異常值。數值型資料可以通過把數值分組為箱變得離散。這也被稱為資料離散化。 建立新特徵:從現有的變數中衍生出新變數被稱為特徵建立。這有助於釋放出資料集中潛藏的關係。比如,我們想通過某家商店的交易日期**其交易量。在這個問題上日期可能和交易量關係不大,但如果研究這天是星期幾,可能會有更高的相關。在這個例子中,某個日期是星期幾的資訊是潛在的。我們可以把這個資訊提取為新特徵,優化模型。

4. 特徵選擇 特徵選擇是尋找眾多屬性的哪個子集合,能夠最好的解釋目標變數與各個自變數的關係的過程。 你可以根據多種標準選取有用的特徵,例如: 所在領域知識:根據在此領域的經驗,可以選出對目標變數有更大影響的變數。 視覺化:正如這名字所示,視覺化讓變數間的關係可以被看見,使特徵選擇的過程更輕鬆。 統計引數:我們可以考慮 p 值,資訊價值(information values)和其他統計引數來選擇正確的引數。 pca:這種方法有助於在低維空間表現訓練集資料。這是一種降維技術。 降低資料集維度還有許多方法:如因子分析、低方差、高相關、前向後向變數選擇及其他。

6. 演算法的調整 我們都知道機器學習演算法是由引數驅動的。這些引數對學習的結果有明顯影響。引數調整的目的是為每個引數尋找最優值,以改善模型正確率。要調整這些引數,你必須對它們的意義和各自的影響有所了解。你可以在一些表現良好的模型上重複這個過程。 例如,在隨機森林中,我們有 max_features, number_trees, random_state, oob_score 以及其他引數。優化這些引數值會帶來更好更準確的模型。 

提高機器學習模型準確率的八大方法

想要提高模型的效能有時會是一件難度不小的事情。如果你也遇到過類似的情況,相信一定會認同我這一看法。在一一嘗試畢生所學的對策和演算法之後,依然沒能夠提高模型的準確率,這時,一種陷入困境的無助感就會湧上心頭。事實上,百分之九十的資料科學家就是在這一階段選擇了放棄。但是,好戲這才開始!正是這一點劃清了平凡...

如何提高訓練模型的準確率

1.dropout 使用dropout收斂變慢,正確率也下降,可能是我使用方法有問題。2.更換優化器,我一般選擇adam優化器,可以提高準確率,收斂速度。3.學習率 改為動態學習率下降有利於快速收斂 4.shuffle 可以明顯提高準確率。5.資料增廣 需要根據實際場景選擇合適的資料增廣方法,否則可...

機器學習模型三大評估指標 準確率 精度 召回率

二分類任務中用準確率 精度和召回率三大指標評估模型效能,在介紹這些概念之前先介紹混淆矩陣的概念。二分類的混淆矩陣包含四個值 真正例 tp 假正例 fp 真反例 tn 假反例 fn 如果將乙個資料點 為正例,但它實際是反例,那麼它就是乙個假正例。混淆矩陣 真實值positive negative 預 ...