作者: 大数据观察来源: 大数据观察时间:2017-04-23 15:00:000
上期与大家分享的传统分类算法都是建立在判别函数的基础上,通过判别函数值来确定目标样本所属的分类,这类算法有个最基本的假设:线性假设。今天继续和大家分享下比较现代的分类算法:决策树和神经网络。这两个算法都来源于人工智能和机器学习学科。
首先和小伙伴介绍下数据挖掘领域比较经典的Knn(nearest neighbor)算法(最近邻算法)
算法基本思想:
Step1:计算出待测样本与学习集中所有点的距离(欧式距离或马氏距离),按距离大小排序,选择出距离最近的K个学习点;
Step2:统计被筛选出来的K个学习点,看他们在分类中的分布,频数最大的分类及为待测点的分类;
决策树(Decision tree)该算法主要来源于人工智能,常用语博弈论,基本逻辑如下图(解释女网友见男网友的决策过程)。决策数学习集的属性可以是非连续的,可以是因子,也可 以逻辑是非等。决策过程中需要找到信息增益最大的属性作为根节点,然后逐级找出信息增益次小的属性,作为下一层决策点,逐级按照信息增益排列的所有属性, 即可做出决策树。目前用的最多的ID3和其后续升级版。
现在我们来看看如何用R帮我们做决策树分析,我们借助鸢尾花数据集来做,同时我们需要导入rpart包来做决策树分析:
[plain] view plaincopy永洪科技
致力于打造全球领先的数据技术厂商