banner

R语言与数据分析之三:分类算法2

作者: 大数据观察来源: 大数据观察时间:2017-04-23 15:00:000

      上期与大家分享的传统分类算法都是建立在判别函数的基础上,通过判别函数值来确定目标样本所属的分类,这类算法有个最基本的假设:线性假设。今天继续和大家分享下比较现代的分类算法:决策树和神经网络。这两个算法都来源于人工智能和机器学习学科。

      首先和小伙伴介绍下数据挖掘领域比较经典的Knn(nearest neighbor)算法(最近邻算法)

      算法基本思想:

      Step1:计算出待测样本与学习集中所有点的距离(欧式距离或马氏距离),按距离大小排序,选择出距离最近的K个学习点;

      Step2:统计被筛选出来的K个学习点,看他们在分类中的分布,频数最大的分类及为待测点的分类;

决策树(Decision tree)

      该算法主要来源于人工智能,常用语博弈论,基本逻辑如下图(解释女网友见男网友的决策过程)。决策数学习集的属性可以是非连续的,可以是因子,也可 以逻辑是非等。决策过程中需要找到信息增益最大的属性作为根节点,然后逐级找出信息增益次小的属性,作为下一层决策点,逐级按照信息增益排列的所有属性, 即可做出决策树。目前用的最多的ID3和其后续升级版。

      现在我们来看看如何用R帮我们做决策树分析,我们借助鸢尾花数据集来做,同时我们需要导入rpart包来做决策树分析:

[plain] view plaincopy

banner
看过还想看
可能还想看
热点推荐

永洪科技
致力于打造全球领先的数据技术厂商

申请试用
Copyright © 2012-2024开发者:北京永洪商智科技有限公司版本:V10.2
京ICP备12050607号-1京公网安备110110802011451号 隐私政策应用权限