R语言实现决策树算法


我来为您提供一个使用 R 语言实现决策树算法的完整源码示例。决策树是一种常用的监督学习算法,可用于分类和回归任务。下面是一个示例代码:

# 加载所需的包
library(rpart)
library(rpart.plot)# 加载数据集
data(iris)# 划分训练集和测试集
set.seed(123)
train_index <- sample(1:nrow(iris), 0.7 * nrow(iris))
train_data <- iris[train_index, ]
test_data <- iris[-train_index, ]# 训练决策树模型
model <- rpart(Species ~ ., data = train_data, method = "class")# 在测试集上进行预测
pred <- predict(model, newdata = test_data, type = "class")# 评估模型性能
library(caret)
confusionMatrix(pred, test_data$Species)

下面是代码的解释:

  1. 首先,我们加载了两个必要的 R 包:rpart 用于构建决策树模型, rpart.plot 用于可视化决策树。

  2. 我们使用 data() 函数加载了著名的 Iris 数据集,这个数据集包含了 4 个特征和 3 个类别。

  3. 为了评估模型的泛化性能,我们将数据集划分为训练集和测试集。使用 sample() 函数随机选取 70% 的数据作为训练集,其余 30% 作为测试集。

  4. 接下来,我们使用 rpart() 函数在训练集上训练一个决策树模型。method = "class" 表示我们要进行分类任务。

  5. 然后,我们使用训练好的模型对测试集进行预测,得到预测结果 pred

  6. 最后,我们使用 caret 包中的 confusionMatrix() 函数计算模型在测试集上的混淆矩阵,以评估模型的性能。

这个示例展示了决策树算法的基本用法。在实际应用中,您可能需要根据具体问题进行更多的数据探索、特征工程和模型调优等工作。
该博文为原创文章,未经博主同意不得转载。本文章博客地址:https://cplusplus.blog.csdn.net/article/details/139050126

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐