随着chatGPT的火爆,AI也受到了大家的广泛关注?;餮埃∕achine learning)作为AI的一种,在生物医学领域也有着广泛的应用。今天小编就跟大家分享一个很流行的机器学习方法,随机森林(Random Forest)。下面以iris这套数据的分类问题为例,为大家演示机器学习的大体过程。
# 载入数据集 (以 iris 数据集为例)
data(iris)
# 使用 caret 包进行模型训练和评估
library(caret)
# 划分数据集为训练集和测试集
set.seed(111)
train_indices <- createDataPartition(iris$Species, p=0.7, list=FALSE)
train_data <- iris[train_indices,]
test_data <- iris[-train_indices,]
# 生成参数组合的网格矩阵
param_grid <- expand.grid(mtry = seq(1, 10, by=1))
# 建立模型
rf_model <- train(Species ~ .,
data = train_data,
method = "rf",
trControl = trainControl(method = "cv", number = 10),
tuneGrid = param_grid
)
# 打印最佳调参结果
print(rf_model$bestTune)
# 对测试集进行预测并输出分类准确率
predictions <- predict(rf_model, test_data)
confusionMatrix(predictions, test_data$Species)$overall["Accuracy"]
可以得到在测试集上的预测准确度为
Accuracy
0.9555556