在 R 中使用神经网络方法进行超参数调整

Posted

技术标签:

【中文标题】在 R 中使用神经网络方法进行超参数调整【英文标题】:Hyperparameter tuning using neuralnet method in R 【发布时间】:2022-01-10 01:50:06 【问题描述】:

我正在使用 Wisconsin Breast Cancer Dataset 解决分类问题:恶性或良性肿瘤的诊断。该数据集有 33 个特征,除诊断(因子)外,所有特征都是数字的。 我正在尝试构建 DNN 模型并调整 训练函数中的神经网络方法的超参数,但是当我运行模型时出现错误:“错误:分类的模型类型错误”强>。 这种情况我该怎么办?

set.seed(1)
library(neuralnet)

grid <- expand.grid(layer1=c(1:20), layer2=c(1:20), layer3=c(1:20))
DNN <- train(diagnosis ~., data = train.df, method = "neuralnet", linear.output = FALSE,
         tuneGrid = grid, metric = "Kappa", trControl=train_control, 
         maxit = 500, allowParallel = TRUE )

pred <- predict(DNN, newdata = valid.df)
confusionMatrix(pred, valid.df$diagnosis)

【问题讨论】:

【参考方案1】:

插入符号中使用的neuralnet方法,只能用于回归建模,不能用于分类。您需要选择不同的型号。您可以使用插入符号here 检查哪些模型可用于分类。

对于神经网络和分类,您可以使用mxnetnnet 方法。

【讨论】:

以上是关于在 R 中使用神经网络方法进行超参数调整的主要内容,如果未能解决你的问题,请参考以下文章

TensorFlow从0到1之TensorFlow超参数及其调整(24)

我们应该按啥顺序调整神经网络中的超参数?

在 R 中使用纯 ranger 包进行超参数调整

如何选取一个神经网络中的超参数hyper-parameters

超参数调整以决定最佳神经网络

使用 Caret 对神经网络进行参数调整