日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ML建模

發布時間:2023/12/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ML建模 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在數據分析了之后就可以進行模型的建立了,機器學習模型有很多,建議均作嘗試,不僅可以測試效果,還可以學習各種模型的使用技巧。其實,幾乎每一種模型都有回歸和分類兩種版本,并且直接有scikit-learn、XGBoost、LightGBM這些庫,直接可以用!
對于模型,經典的要會推導,每種應用的模型要明確工作原理,大白話講出來!對于重要的公式要回寫。
(random forest一般效果比較好)
錯誤分析->發現新特征->訓練新模型->錯誤分析

最重要的一點,調參(超參數),我們的valid data就是用來找出來最好的參數的
根據經驗,選出對模型效果影響較大的超參。
按照經驗設置超參的搜索空間,比如學習率的搜索空間為[0.001,0.1]。
選擇搜索算法,比如Random Search、Grid Search和一些啟發式搜索的方法。
驗證模型的泛化能力

這里再提一下train valid test
train和valid都是已知的數據,通過留出法/k fold生成的兩部分,通常是7:3
test就是標簽未知了@!
交叉驗證是將整個訓練數據隨機分成K份,訓練K個模型,每次取其中的K-1份作為Train Set,留出1份作為Valid Set,因此也叫做K-fold。至于這個K,你想取多少都可以,但一般選在3~10之間。我們可以用K個模型得分的mean和std,來評判模型得好壞(mean體現模型的能力,std體現模型是否容易過擬合),并且用K-fold的驗證結果通常會比較可靠。
如果數據出現Label不均衡情況,可以使用Stratified K-fold,這樣得到的Train Set和Test Set的Label比例是大致相同。

PS:本身樣本label不均衡就是個問題,會讓模型向數目多的類別偏好

最后一句話:ensemble很給力!尤其是在分類任務
常見的Ensemble方法有Bagging、Boosting、Stacking、Blending。

Bagging是將多個模型(基學習器)的預測結果簡單地加權平均或者投票。Bagging的好處在于可以并行地訓練基學習器,其中Random Forest就用到了Bagging的思想。

Boosting的思想有點像知錯能改,每訓練一個基學習器,是為了彌補上一個基學習器所犯的錯誤。其中著名的算法有AdaBoost,Gradient Boost。Gradient Boost Tree就用到了這種思想。

Stacking是用新的模型(次學習器)去學習怎么組合那些基學習器,如果把Bagging看作是多個基分類器的線性組合,那么Stacking就是多個基分類器的非線性組合。Stacking可以很靈活,它可以將學習器一層一層地堆砌起來,形成一個網狀的結構

例:

A和B可以看作是基學習器,C、D、E都是次學習器。

Stage1: A和B各自寫出了答案。Stage2: C和D偷看了A和B的答案,C認為A和B一樣聰明,D認為A比B聰明一點。他們各自結合了A和B的答案后,給出了自己的答案。Stage3: E偷看了C和D的答案,E認為D比C聰明,隨后E也給出自己的答案作為最終答案。

總結

以上是生活随笔為你收集整理的ML建模的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。