兄弟姐妹们,咱们今天继续讲机器学习。

一、train函数

        train函数是caret包的核心参数,用于构建机器学习模型,并支持多种算法。其主要功能包括数据预处理、模型训练、交叉验证和超参数调优等。核心参数:

        1. x:自变量矩阵或数据框; y:因变量向量或因子。

        2. method:指定算法类型(如“rf”随机森林、“svmRadial”径向基SVM、“glm”逻辑回归等)。

        3. preProcess:预处理方法组合,可以进行标准(“center”和“scale”)、主成分分析(“pca

”)、缺失值填充(“knnImpute”)等。

        4. tuneGrid:手动定义超参数组合网格,与tuneLength互斥。通过函数expand.grid()函数设置。不太明白怎么用,以下是文心生成的示例:

                1)随机森林调参(调整mtry,每次分裂的变量数)

tuneGrid <- expand.grid(.mtry = c(2, 4, 6))
model <- train(Class ~ ., data = dataset, method = "rf", tuneGrid = tuneGrid)

                2)k近邻调参(调整k值)

tuneGrid <- expand.grid(k = c(3, 5, 7))
model <- train(x, y, method = "knn", tuneGrid = tuneGrid)

                3)神经网络调优(调整隐藏层节点数和权重衰减)

tuneGrid <- expand.grid(size = c(5, 10), decay = c(0.001, 0.01))
model <- train(y ~ ., data = data, method = "nnet", tuneGrid = tuneGrid)

                4)XGBoost参数调优(组合max_depth、eta等参数)

xgbGrid <- expand.grid(
  nrounds = c(100, 200),
  max_depth = c(3, 5),
  eta = c(0.1, 0.3)
)
model <- train(..., method = "xgbTree", tuneGrid = xgbGrid)

        5. tuneLength:自动生成调优网格的粒度。

        6. trControl:定义采样策略,通过trainControl()函数设置。详见R语言caret包:机器学习介绍(trainContral函数)-CSDN博客

        7. metric:模型性能评估指标。分类问题默认“Accuracy”/“Kappa”;回归问题默认“RMSE”/“Rsquared”。

        8. maximize:是否最大化评估指标,TRUE为准确率,FALSE为均方误差。默认根据metric类型自动推断。

        9. allowParallel:是否启用并行计算加速,需要加载doParallel包。

        10. selectionFunction:模型策略选择,“best”最优;“oneSE”选择最简且性能在1个标准差内的模型,“tolerance”选择允许指定容忍度的最简模型。

其他内容下期再叙,兄弟姐妹们点点关注吧!!!

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐