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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Caret模型训练和调参更多参数解读(2)

發布時間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Caret模型训练和调参更多参数解读(2) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

trainControl函數控制參數?

trainControl函數用于定義train函數運行的一些參數,如交叉驗證方式、模型評估函數、模型選擇標準、調參方式等。

部分參數解釋如下:

  • method: 重采樣方法”boot”, “cv”, “LOOCV”, “LGOCV”, “repeatedcv”, “timeslice”, “none” and “oob”。

    oob只適用于random forest, bagged trees, bagged earth, bagged flexible discriminant analysis, 或 conditional tree forest models. ‘none’表示不進行重采樣。

    repeatedcv是K-fold交叉驗證重復多次。

  • number: K-fold中的K或boot中的迭代次數。

  • repeats: 只適用于repeatedcv,重復K-fold`交叉驗證數次

  • method = "repeatedcv", number = 10 和 repeats = 3表示完整重復3次10-fold交叉驗證。

  • search:

    選項是grid (矩陣調參)或random (隨機調參)

  • summaryFunction: 計算模型性能矩陣的函數,默認是defaultSummary;

    twoClassSummary用來計算敏感性、特異性和AUC。

  • sampling: 在數據不平衡時的抽平方式。

    down-sampling把所有類的樣品抽取到與最小的類樣品數一致;

    up-sampling有放回的抽取使得所有類的樣品與最大的類樣品數一致。

    實際上是否隨機采樣和用什么采樣方法獲得的結果一般是一致的。

    https://topepo.github.io/caret/subsampling-for-class-imbalances.html

  • classProbs: 是(TRUE)否(FALSE)需要計算驗證集中樣品的分類概率。

  • seed: 通常在運行train程序前運行set.seed(1)就可以保證結果的可重復性。

    但在使用并行計算時,根據技術不同,可能需要額外設置此參數。

  • index: 自定義訓練集

# Do not run, only for an example control <- trainControl(method="repeatedcv", number=10, repeats=3, search="grid", selectionFunction ="tolerance(tol=2)")

train函數控制參數?

  • metric: 模型度量標準;回歸分析默認使用RMSE, R-square和MAE (mean absolute error), 分類問題默認使用accuracy和Kappa;如果指定ROC值,需要指定trainControl的summaryFunction為twoClassSummary。

  • selectionFunction: Caret自帶了3個函數,best: 按照設定的metric值選擇評分最高或偏差最小的模型; oneSE選擇最簡單的其性能與最好模型的性能相差在一個標準差之內的模型(同時照顧性能和避免過擬合);tolerance選擇與最好的模型相差在給定閾值范圍內的最簡單模型。閾值為容忍度,計算方式為 $ (x-x{best})/x{best} * 100$。selectionFunction ="tolerance(tol=2)"表示允許2%的性能降低。

  • tuneGrid: 接受一個包含參數組合的數據框。列的名字是所用的機器學習方法函數可接受的參數名字。getModelInfo()$rf$parameters 可獲得方法rf的所有可調參數。

# Do not run, only for an example # # 模型評估標準 metric <- "Accuracy" control <- trainControl(method="repeatedcv", number=10, repeats=3,search="grid", selectionFunction ="tolerance(tol=2)") set.seed(seed) tunegrid <- expand.grid(.mtry=c(1:15))# 設置構建決策樹每步決策用到的變量數 # 這里是默認參數 mtry <- sqrt(ncol(expr_mat))# 構建調參矩陣 # tuneGrid可以接受一個包含參數組合的數據框。列的名字是所用的機器學習方法函數可接受的參數名字. # getModelInfo()$rf$parameters 可獲得方法rf的所有可調參數tunegrid <- expand.grid(mtry=mtry)rf_gridsearch <- train(Class~., data=dataset, method="rf", metric=metric, tuneGrid=tunegrid, trControl=control, selectionFunction) print(rf_gridsearch) plot(rf_gridsearch)

References

  • 官方文檔 https://topepo.github.io/caret/model-training-and-tuning.html

  • 部分中文解釋 https://blog.csdn.net/weixin_42712867/article/details/105337052

  • 特征選擇 https://blog.csdn.net/jiabiao1602/article/details/44975741

  • 調參的好例子 https://machinelearningmastery.com/tune-machine-learning-algorithms-in-r/

機器學習系列教程

從隨機森林開始,一步步理解決策樹、隨機森林、ROC/AUC、數據集、交叉驗證的概念和實踐。

文字能說清的用文字、圖片能展示的用、描述不清的用公式、公式還不清楚的寫個簡單代碼,一步步理清各個環節和概念。

再到成熟代碼應用、模型調參、模型比較、模型評估,學習整個機器學習需要用到的知識和技能。

  • 機器學習算法 - 隨機森林之決策樹初探(1)

  • 機器學習算法-隨機森林之決策樹R 代碼從頭暴力實現(2)

  • 機器學習算法-隨機森林之決策樹R 代碼從頭暴力實現(3)

  • 機器學習算法-隨機森林之理論概述

  • 隨機森林拖了這么久,終于到實戰了。先分享很多套用于機器學習的多種癌癥表達數據集 https://file.biolab.si/biolab/supp/bi-cancer/projections/。

  • 機器學習算法-隨機森林初探(1)

  • 機器學習 模型評估指標 - ROC曲線和AUC值

  • 機器學習 - 訓練集、驗證集、測試集

  • 機器學習 - 隨機森林手動10 折交叉驗證

  • 一個函數統一238個機器學習R包,這也太贊了吧

  • 基于Caret和RandomForest包進行隨機森林分析的一般步驟 (1)

  • 往期精品(點擊圖片直達文字對應教程)

    后臺回復“生信寶典福利第一波”或點擊閱讀原文獲取教程合集

    ?

    (請備注姓名-學校/企業-職務等)

    總結

    以上是生活随笔為你收集整理的Caret模型训练和调参更多参数解读(2)的全部內容,希望文章能夠幫你解決所遇到的問題。

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