随机森林(初步)

在机器学习中,随机森林由许多的决策树组成,因为这些决策树的形成采用了随机的方法,因此也叫做随机决策树。随机森林中的树之间是没有关联的。当测试数据进入随机森林时,其实就是让每一颗决策树进行分类,最后取所有决策树中分类结果最多的那类为最终的结果。因此随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。随机森林可以既可以处理属性为离散值的量,比如ID3算法,也可以处理属性为连续值的量,比如C4.5算法。另外,随机森林还可以用来进行无监督学习聚类和异常点检测。

决策树这种算法有着很多良好的特性,比如说训练时间复杂度较低,预测的过程比较快速,模型容易展示(容易将得到的决策树做成图片展示出来)等。但是同时,单决策树又有一些不好的地方,比如说容易over-fitting,虽然有一些方法,如剪枝可以减少这种情况,但是还是不够的。

决策树实际上是将空间用超平面进行划分的一种方法,每次分割的时候,都将当前的空间一分为二,比如说下面的决策树:

就是将空间划分成下面的样子:

这样使得每一个叶子节点都是在空间中的一个不相交的区域,在进行决策的时候,会根据输入样本每一维feature的值,一步一步往下,最后使得样本落入N个区域中的一个(假设有N个叶子节点)

Data Mining

Data Mining is all about automating the process of searching for patterns in the  data.

Searching for High Info Gains

Given something (e.g. wealth) you are trying to predict, it is easy to ask the computer to find which attribute has highest information gain for it.

Base Cases
• Base Case One: If all records in current data subset have
the same output then don’t recurse
• Base Case Two: If all records have exactly the same set of
input attributes then don’t recurse

Training Set Error
• For each record, follow the decision tree to see what it would predict For what number of records does the decision tree’s prediction disagree with the true value in the database?
• This quantity is called the training set error.
The smaller the better.

Test Set Error
• Suppose we are forward thinking.
• We hide some data away when we learn the decision tree.
• But once learned, we see how well the tree predicts that data.
• This is a good simulation of what happens when we try to predict future data.
• And it is called Test Set Error.

决策树剪枝

时间: 2024-10-06 23:53:33

随机森林(初步)的相关文章

【机器学习基础】随机森林算法

引入 我们回顾一下之前学习的两个算法,Bagging算法中,通过bootstrapping得到不一样的数据,通过这些数据送到一个基本算法之后,得到不同的g,最后对这些g取平均得到G:决策树算法中,通过递归方式建立子树,最终得到一棵完整的树. 这两种算法都有其鲜明的特点,决策树对于不同的数据相对会敏感一些,即其算法的variance很大,而Bagging的特点是通过投票和平均的方式来降低variance的效果.如果将这两种方法结合起来,就是该文要介绍的随机森林,random forest. 1.

机器学习第一步——用逻辑回归及随机森林实现泰坦尼克号的生存预测

1.实验背景 本次实验是Kaggle上的一个入门比赛——Titanic: Machine Learning from Disaster.比赛选择了泰坦尼克号海难作为背景,并提供了样本数据及测试数据,要求我们根据样本数据内容建立一个预测模型,对于测试数据中每个人是否获救做个预测.样本数据包括891条乘客信息及获救情况,测试数据有418条乘客信息.样本数据的样例如下: Passenger:乘客唯一识别id Survived:是否存活,0为否,1为是 Pclass:船舱等级,1.2.3等 Name:姓

决策树 随机森林 adaboost

? 熵.互信息? 决策树学习算法 ? 信息增益 ? ID3.C4.5.CART? Bagging与随机森林? 提升 ? Adaboost/GDBT ? 熵.互信息 熵是对平均不确定性的度量. 平均互信息:得知特征Y的信息而使得对标签X的信息的不确定性减少的程度.描述随机变量之间的相似程度.(条件熵.相对熵:差异性) ? 决策树 决策树学习采用的是自顶向下的递归方法,有监督学习. 其基本思想是以信息熵为度量构造一棵熵值下降最快的树,到叶子节点处的熵值为零,此时每个叶节点中的实例都属于同一类. 建立

机器学习中的算法(1)-决策树模型组合之随机森林与GBDT

版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系[email protected] 前言: 决策树这种算法有着很多良好的特性,比如说训练时间复杂度较低,预测的过程比较快速,模型容易展示(容易将得到的决策树做成图片展示出来)等.但是同时,单决策树又有一些不好的地方,比如说容易over-fitting,虽然有一些方法,如剪枝可以减少这种情况,但是还是不够的. 模型组合(比如

mahout 随机森林RF算法

在随机森林中的随机性体现在:1.训练数据的随机性 2. 选择分割属性的随机性 能解决分类与回归问题,并且都有很好的估计表现 1.生成数据说明文件 mahout describe -p input.csv -f input.info-d2 I 3 N I 5 N I 3 C L(执行describe生成数据的说明文件) 2.训练模型 mahout buildforest -d input.csv -ds input.info -sl 5 -p -t 5 -o forest_result(生成随机森

随机森林

现在现将随机森林的学习的大纲进行列举: 1.决策树的算法: ID3,C4.5,CART,bagging,GBDT,RandomForest. 2.RandomForest的原理: 在m个样本中,有放回的随机抽取m个样本,作为训练集.将在n个特征中抽取k(k<n)个特征来构建决策树,通过构建T棵决策树组成随机森林.随机森林主要是建立在决策树的基础上的,通过一个随机的过程是不需要预剪枝和后剪枝的. 3.下载的代码.githup网址 4.算法流程图: 5.调优和集成: 后续有时间将其内容进行补充完整.

如何调整随机森林的参数达到更好的效果。

原文地址: https://www.analyticsvidhya.com/blog/2015/06/tuning-random-forest-model/ A month back, I participated in a Kaggle competition called TFI. I started with my first submission at 50th percentile. Having worked relentlessly on feature engineering f

决策树-预测隐形眼镜类型 (ID3算法,C4.5算法,CART算法,GINI指数,剪枝,随机森林)

1. 1.问题的引入 2.一个实例 3.基本概念 4.ID3 5.C4.5 6.CART 7.随机森林 2. 我们应该设计什么的算法,使得计算机对贷款申请人员的申请信息自动进行分类,以决定能否贷款? 一个女孩的母亲要给这个女孩介绍男朋友,于是有了下面的对话: 女儿:多大年纪了? 母亲:26. 女儿:长的帅不帅? 母亲:挺帅的. 女儿:收入高不? 母亲:不算很高,中等情况. 女儿:是公务员不? 母亲:是,在税务局上班呢. 女儿:那好,我去见见. 决策过程: 这个女孩的决策过程就是典型的分类树决策.

mllib之随机森林与梯度提升树

随机森林和GBTs都是集成学习算法,它们通过集成多棵决策树来实现强分类器. 集成学习方法就是基于其他的机器学习算法,并把它们有效的组合起来的一种机器学习算法.组合产生的算法相比其中任何一种算法模型更强大.准确. 随机森林和梯度提升树(GBTs).两者之间主要差别在于每棵树训练的顺序. 随机森林通过对数据随机采样来单独训练每一棵树.这种随机性也使得模型相对于单决策树更健壮,且不易在训练集上产生过拟合. GBTs则一次只训练一棵树,后面每一棵新的决策树逐步矫正前面决策树产生的误差.随着树的添加,模型