机器学习

浅入浅出:PageRank算法 使用 TextRank 算法为文本生成关键字和摘要 基于物品的协同过滤 如何使用MapReduce实现基于物品的协同过滤(1) 如何使用MapReduce实现基于物品的协同过滤(2) 浅入浅出:K近邻算法 使用mahout下的朴素贝叶斯分类器对新闻分类 使用Affinity Propagation进行聚类 K-medoids聚类 矩阵分解在推荐系统中的应用:NMF和经典SVD实战 使用特征递归消除筛选特征 如何分配权重 比较NMF、PCA和VQ 方差和协方差 基于SVD的协同过滤 逻辑斯谛回归代码实现 隐语义模型和NMF(非负矩阵分解) 使用PCA处理MNIST数据集 使用GBDT选取特征 基于贝叶斯的文本分类系统的数据库设计 在hadoop1.2.1上安装mahout 0.9 Hadoop 2.4 实现Kmeans聚类算法 在Iris数据集上对比PCA、LDA、NMF 基于贝叶斯的文本分类实战 单层决策树 Logistic regression(逻辑斯蒂回归) 基于用户的协同过滤 词袋模型与文档-词矩阵 如何实现拼音与汉字的互相转换 梯度下降法 如何判定相似度 MovieLens数据集介绍 基于KNN的文本分类实战 Jasper文本分类系列博客阅读摘录 使用 Mean Shift进行聚类 朴素贝叶斯的三个常用模型:高斯、多项式、伯努利 使用决策树处理iris数据集 浅入浅出:从Kmeans到Kmeans++ 如何持久化scikit-learn中训练好的模型 浅入浅出:DBSCAN聚类算法(1) 浅入浅出:DBSCAN聚类算法(2) 2015阿里移动推荐算法比赛第一赛季总结 爬山算法 使用朴素贝叶斯分类器划分邮件 层次聚类 基于MapReduce的频繁项集挖掘 搜狗实体关系提取比赛

单层决策树


#机器学习


2014-05-23

如果你未满18周岁,那么你会被归类为未成年人,否则,你会被归类为成年人。这种归类方法仅仅是根据你的一个特征(即年龄)来归类,同时这种分类符合if..then..else..这种逻辑,可以用下面的决策树来表示:

这种简单的分类方法称为单层决策树。单层决策树是决策树的一种,在实际使用中它是一个弱分类器,这是因为其分类/预测效果并没有多好,不过肯定需要比随机猜测要好一些。单层决策树可以认为是决策树的基础,同时它也可以在AdaBoost等方法中使用。

如何构建一个效果较好的单层决策树

一般情况下需要对阈值比较方法进行组合,阈值就好比上面的18周岁,而相应的比较方法有两个:一个是若未满18周岁,则通过这一路经判定其为未成年人,通过这一路径判定其为成年人;另一个是若满18周岁,则通过这一路经判定其为成年人,通过这一路径判定其为未成年人

样本的特征分为标称型数据和数值型数据。标称型数据是指等二元判断以及类似的多元判断类型的数据,这种数据只能判断相互之间的关系是等于还是不等于;数值型数据可以进行大小的比较。

那么在训练单层决策树的时候怎样找到一个分类效果好的单层决策树?方法很简单,就是将阈值比较方法组合后,找出让预测分类与实际分类误差最小的一个组合。这个误差这样计算:

误差 = 预测错误的样本数/样本总数

对于标称型数据,阈值多是两种。对于数值型数据,假设已知这个数值型数据的值上限为10,下限为0,这时候需要根据实际情况选择阈值,例如选择0、1、2、3、4、5、6、7、8、9、10这11个整数值作为阈值


( 本文完 )