除了 SVM 之外,用r语言选用一种机器学习算法建立iris数据集的模型,并用混淆矩阵和 ROC 曲线评估其预测能力。
时间: 2024-02-22 15:01:49 浏览: 28
可以使用随机森林算法建立iris数据集的模型。以下是使用R语言中caret包实现的代码:
```R
library(caret)
library(mlbench)
# 加载数据
data(iris)
x <- iris[,1:4]
y <- iris[,5]
# 划分训练集和测试集
set.seed(123)
trainIndex <- createDataPartition(y, p = 0.7, list = FALSE)
train <- x[trainIndex,]
test <- x[-trainIndex,]
train_labels <- y[trainIndex]
test_labels <- y[-trainIndex]
# 建立随机森林模型
rf_model <- train(train, train_labels, method = "rf", trControl = trainControl(method = "cv", number = 5))
# 预测测试集
y_pred <- predict(rf_model, test)
# 混淆矩阵
cm <- confusionMatrix(y_pred, test_labels)
print("Confusion Matrix:")
print(cm)
# ROC曲线
y_prob <- predict(rf_model, test, type = "prob")
roc <- roc(test_labels, y_prob[,2])
print("AUC score:")
print(auc(roc))
plot(roc, col="darkorange", main="ROC Curve")
```
运行以上代码,会输出混淆矩阵和AUC得分,并绘制出ROC曲线。可以通过混淆矩阵和ROC曲线评估随机森林模型的预测能力。