打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【数据挖掘】十大经典数据挖掘算法的R语言实践(一)
陆勤

  十大经典数据挖掘算法是那些?

  民间流传,学习和应用数据挖掘算法,就从这十大经典数据挖掘算法入手,若是把这top 10 算法吃透了,数据挖掘也就有了根基了。我甚是赞同此种说法,并且经典的东西,美好的东西,需要优先学习、研究和实践。

  数据挖掘十大经典算法可以分为以下情况。

  1 与分类相关的算法:C4.5, CART, 朴素贝叶斯, K近邻, 支持向量, 最大期望, AdaBoost

  2 与聚类相关的算法:K均值

  3 与关联规则相关的算法:Apriori

  4与搜索引擎相关的算法:PageRank

  关于这些算法的原理和思想,每本数据挖掘方面的书籍都会有介绍,推荐两本数据挖掘经典书籍《数据挖掘导论》 和《数据挖掘:概念与技术》。

  本文介绍C4.5这个分类算法如何在R语言中使用。这些算法能够用R语言方便的用起来,这要得益于包含这些算法R包和感谢设计与实现这些算法的R贡献者们。

  做数据挖掘,需要数据,我们用iris数据集,简单,典型的分类数据集,便于我么解释。

  iris数据集

  help(iris)

  head(iris)

  C4.5算法的R语言实践

  C5.0算法是C4.5算法的延续和升级,SPSS Modeler建模选项卡中也提供这种算法。在此,我们用R语言中的C50包所提供的C5.0函数实现C5.0算法。

  第一步:加载相应包

  library(C50)

  ## Warning: package 'C50' was built under R version 3.1.3

  library(printr)

  温馨提示:若是没有安装上述包,请在加载前,先安装这些包。

  第二步:把iris数据集分为训练集和测试集,按着2:1划分,即训练集100个,测试集50个

  train.indeces <- sample(1:nrow(iris), 100)

  iris.train <- iris[train.indeces, ]

  iris.test <- iris[-train.indeces, ]

  第三步:构建C5.0算法模型

  model.C5.0 <- C5.0(Species ~ ., data = iris.train)

  第四步:交叉验证,使用测试数据集测试模型

  results.C5.0 <- predict(object = model.C5.0, newdata = iris.test, type = 'class')

  第五步:生成混淆矩阵

  table(results.C5.0, iris.test$Species)

  C4.5 算法的原理

  C4.5算法是数据挖掘算法中的一种分类决策树算法,其核心算法是ID3 算法. C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进:

  1) 用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;

  2) 在树构造过程中进行剪枝;

  3) 能够完成对连续属性的离散化处理;

  4) 能够对不完整数据进行处理。

  C4.5算法有如下优点:产生的分类规则易于理解,准确率较高。其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。

  参考资料

  1 《数据挖掘导论》和《数据挖掘:概念与技术》

  2 数据挖掘十大经典算法(详解)

  3 Top 10 data mining algorithms in plain R

  中国数据人QQ群:290937046,使命:让更多人懂数据、用数据。陆勤微信:luqin360 ,多交流。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
数据挖掘中的经典算法
ML之kNN:利用kNN算法对莺尾(Iris)数据集进行多分类预测
数据挖掘十大经典算法 1
小白学数据:教你用Python实现简单监督学习算法
Python那些事——极简Python带你探索分类与回归的奥秘
Python机器学习笔记:sklearn库的学习
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服