机器学习中---分类模型--决策树模型

决策树模型

决策树(DecisionTree, DT)是一种常见的用于分类和回归的非参数监督学习方法,目标是创建一个模型,通过从数 据特性中推导出简单的决策规则来预测目标变量的值。
决策树模型的优点在于:1,简单容易理解,数据结构可以可视化表达。2,需要很少的数据准备,其他技术通常需 要数据标准化,需要创建虚拟变量,并删除空白值。3,能够处理多输出问题。 决策树模型的缺点在于:1,决策树学习可能会生成过于复杂的数结构,不能代表普遍的规则,即模型容易过拟 合,修剪机制,设置叶子节点所需的最小样本数目或设置树的最大深度是避免决策树过拟合的必要条件。2,决策 树可能不稳定,因为数据中的小变化可能导致生成完全不同的树。这个问题可以通过在一个集合中使用多个决策树 来减轻。3,实际的决策树学习算法是基于启发式算法的,例如在每个节点上进行局部最优决策的贪婪算法。这种 算法不能保证返回全局最优决策树。通过在集合学习中训练多个树,可以减少这种情况,在这里,特征和样本是随 机抽取的。

#分析数据

from sklearn import datasets

# sklearn自带的datasets中就有Boston房价数据集

housing_data=datasets.load_boston()

dataset_X=housing_data.data

# 获取影响房价的特征向量,作为feaure X

dataset_y=housing_data.target # 获取对应的房价,作为label y #

print(dataset_X.shape) # (506, 13)

# 一共有506个样本,每个样本有13个features #

print(dataset_y.shape) # (506,)

print(dataset_X[:5,:]) # 打印看看features的数值类型和大小,貌似已经normalize.

# 上面的数据集划分也可以采用下面的方法:

from sklearn.model_selection import train_test_split

train_X,test_X,train_y,test_y=train_test_split(dataset_X,dataset_y,test_size=0.2,random_state=37 )

#构建数据模型

from sklearn.tree import DecisionTreeRegressor
decision_regressor = DecisionTreeRegressor(max_depth=4)
decision_regressor.fit(train_X,train_Y)
#用决策树预测新数据,并打印分数:MSE和解释方差分

y_pre_trainY=decision_regressor.predict(test_X)

from sklearn import metrics
#误差越小,模型越好,得分越大,模型越好

print("均方误差MSE:{}".format(metrics.mean_squared_error(y_pre_trainY,test_Y)))
print("解释方差分:{}".format(metrics.explained_variance_score(y_pre_trainY,test_Y)))

决策树模型的优化

一般的,可以先从数据集上优化,但本项目的数据集是非常成熟的案例,进一步优化的空间不大,所以只能从模型 上下手。此处我采用两种优化方法,第一种是优化决策树模型中的各种参数,比如优化max_depth,判断是否可以 改进MSE,第二种方式是使用AdaBoost算法来增强模型的准确性。

原文地址:https://www.cnblogs.com/liang715200/p/10682386.html

时间: 2024-11-09 05:19:16

机器学习中---分类模型--决策树模型的相关文章

机器学习中分类与聚类的本质区别

机器学习中分类与聚类的本质区别 机器学习中有两类的大问题,一个是分类,一个是聚类. 在我们的生活中,我们常常没有过多的去区分这两个概念,觉得聚类就是分类,分类也差不多就是聚类,下面,我们就具体来研究下分类与聚类之间在数据挖掘中本质的区别. 分类 分类有如下几种说法,但表达的意思是相同的. 分类(classification):分类任务就是通过学习得到一个目标函数f,把每个属性集x映射到一个预先定义的类标号y中. 分类是根据一些给定的已知类别标号的样本,训练某种学习机器(即得到某种目标函数),使它

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

前言: 决策树这种算法有着很多良好的特性,比如说训练时间复杂度较低,预测的过程比较快速,模型容易展示(容易将得到的决策树做成图片展示出来)等.但是同时,单决策树又有一些不好的地方,比如说容易over-fitting,虽然有一些方法,如剪枝可以减少这种情况,但是还是不够的. 美国金融银行业的大数据算法:随机森林模型+综合模型 模型组合(比如说有Boosting,Bagging等)与决策树相关的算法比较多,这些算法最终的结果是生成N(可能会有几百棵以上)棵树,这样可以大大的减少单决策树带来的毛病,有

机器学习中分类问题

regression与线性回归(linear regression) 线性回归(linear regression): 有监督学习 => 学习样本为D={(xi,yi)}a 输出/预测的结果yi为连续值变量 需要学习映射f:x-y 假定输入x和输出y之间有线性相关关系   损失函数(loss function) 我们要找到最好的权重/参数Θ 怎么去衡量"最好"? 定义损失函数 最小化损失函数 梯度下降(Gradient descend) 逐步最小化损失函数的过程 如同下山,找准方

机器学习中常见的过拟合解决方法

在机器学习中,我们将模型在训练集上的误差称之为训练误差,又称之为经验误差,在新的数据集(比如测试集)上的误差称之为泛化误差,泛化误差也可以说是在模型在总体样本上的误差.对于一个好的模型应该是经验误差约等于泛化误差,也就是经验误差要收敛于泛化误差,根据霍夫丁不等式可知经验误差在一定条件下是可以收敛于泛化误差的. 当机器学习模型对训练集学习的太好的时候(再学习数据集的通性的时候,也学习了数据集上的特性,这些特性是会影响模型在新的数据集上的表达能力的,也就是泛化能力),此时表现为经验误差很小,当往往此

机器学习中特征的处理及选择

基础概念 特征工程是通过对原始数据的处理和加工,将原始数据属性通过处理转换为数据特征的过程,属性是数据本身具有的维度,特征是数据中所呈现出来的某一种重要的特性,通常是通过属性的计算,组合或转换得到的.比如主成分分析就是将大量的数据属性转换为少数几个特征的过程.某种程度而言,好的数据以及特征往往是一个性能优秀模型的基础. 既然叫特征工程,自然涵盖了很多内容,而其中涉及到的比较重要的部分是特征的处理及选择. 特征处理包含: 数据清洗 数据规范化 特征构造与衍生 特征选择包含: 特征过滤 wrappe

机器学习中常见的损失函数

损失函数是机器学习中常用于优化模型的目标函数,无论是在分类问题,还是回归问题,都是通过损失函数最小化来求得我们的学习模型的.损失函数分为经验风险损失函数和结构风险损失函数.经验风险损失函数是指预测结果和实际结果的差别,结构风险损失函数是指经验风险损失函数加上正则项.通常表示为: θ*是我们通过损失函数最小化要求得的参数,一般都是通过梯度下降法来求得 1.0-1损失函数 0-1损失函数的表达式如下,常见于感知机模型中,预测正确则损失为0,预测错误则损失为1: 2.绝对值损失函数 3.log对数损失

机器学习笔记-监督学习之决策树

0机器学习中分类和预测算法的评估: 准确率 速度 健壮性 可规模性 可解释性 1决策树(判定树)的概念 决策树是一个类似于流程图的树结构(可以是二叉树或多叉树):其中,每个内部结点表示在一个属性上的测试,每个分支代表一个属性输出,而每个树叶结点代表类或类分布.树的最顶层是根结点.机器学习中分类方法中的一个重要算法. 2.熵(entropy)概念 信息和抽象如何度量?1948年,香农提出"信息熵"的概念. 一条信息的信息量大小和它的不确定性有直接的关系,要搞清楚一件非常非常不确定的事情,

机器学习(三)——决策树(decision tree)算法介绍

0.机器学习中分类和预测算法的评估标准 准确率 速度 强壮性 可规模性 可解释性 1.什么是决策树/判定树(decision tree)? 判定树是一个类似于流程图的树结构:其中,每个内部节点表示一个属性上的测试,每个分支代表一个属性的输出,而每个树叶节点代表类或者类分布.树的最顶层是根节点. 2.机器学习中分类方法的重要算法是决策树 3.构造决策树的基本算法 3.1熵(entropy)概念    信息和抽象,如何度量?1948年,香农提出了 "信息熵(entropy)"的概念,一条信

机器学习基础 | 分类模型评估指标

目录 成对指标 综合指标 图形指标 在处理机器学习的分类问题中,我们需要评估分类结果的好坏以选择或者优化模型,本文总结二分类任务中常用的评估指标.对于多分类任务的评估指标,可以参考这篇文章 先从我们最熟知的混淆矩阵(confusion matrix)说起. source 鉴于混淆矩阵看着比较抽象,可以参考下图 常用的评估指标可以分为3类: 成对指标,包括正确率(精度)&错误率,Precision&Reall,TPR(Sentitivity)&TNR(Specificity)等; 综