sklearn(一)、决策树
决策树的工作原理
决策树(Decision Tree)是一种非参数的有监督学习方法,它能够从一系列有特征和标签的数据中总结出决策规则,并用树状图的结构来呈现这些规则,以解决分类和回归问题。决策树算法容易理解,适用各种数据,在解决各种问题时都有良好表现,尤其是以树模型为核心的各种集成算法,在各个行业和领域都有广泛的应用。
例如,根据物种的所有特征来判断属于什么物种
我们的目标是将物种分为哺乳类与非哺乳类,决策树的计算结果如下:
根据决策树,要判断一种动物是不是哺乳动物,只需要看它的体温是不是恒温,胎生还是卵生就可以了,体温与胎生就是判断的特征。
综上,可以看出,在这个决策过程中,我们一直在对记录的特征进行提问。最初的问题所在的地方叫做根节点,在得到结论前的每一个问题都是中间节点,而得到的每一个结论(动物的类别)都叫做叶子节点。
决策树算法的核心就是解决两个问题:
1、如何在数据表中找出最佳节点与分支
2、如何限制树的大小,防止过拟合
(过拟合:即在训练集中表现得很好,在测试集中表现得非常糟糕;原理为树长得太大,包含了很多的训练集噪声等,不具有普遍性)
sklearn中的决策树
模块sklearn.tree
tree.DecisionTreeClassifier 分类树
tree.DecisionTreeRegressor 回归树
tree.export_graphviz 将生成的决策树导出为DOT格式,画图专用
tree.ExtraTreeClassifier 高随机版本的分类树
tree.ExtraTreeRegressor 高随机版本的回归树
接下来,我们介绍一下sklearn的基本建模流程
1、实例化,建立评估对象模型【确定模型需要用到的参数】
2、通过模型接口训练模型【输入数据】
3、通过模型接口提取需要的信息【输出决策树结果】
然后我们实战建立一棵分类树:
第一步,导入相应的库
#导入sklearn的树模块
from sklearn import tree
#导入sklearn的红酒数据集
from sklearn.datasets import load_wine
#导入分类模块,把数据集分为训练集与测试集
from sklearn.model_selection import train_test_split
第二步,实例化数据集
#将红酒数据集实例化
wine = load_wine()
#并且查看数据集的维度
wine.data.shape
返回的结果如上,表示数据共有13个特征,共有178行数据(数据的长度)
Xtrain, Xtest, Ytrain, Ytest = train_test_split(wine.data,wine.target,test_size = 0.3)
#返回训练集的数据维度
Xtrain.shape
#返回测试集的数据维度
Xtest.shape
#实例化
clf = tree.DecisionTreeClassifier(criterion="entropy")
#用训练集数据训练模型
clf = clf.fit(Xtrain, Ytrain)
#导入测试集,从接口中调用需要的信息
score = clf.score(Xtest, Ytest) #返回预测的准确度
score
我们求得的准确度为94.4%
#为数据集的特征命名,并且作图观察
feature_name = ['酒精','苹果酸','灰','灰的碱性','镁','总酚','类黄酮','非黄烷类酚类','花青素','颜色强度','色调','od280/od315稀释葡萄酒','脯氨酸']
#导入绘图模块
import graphviz
dot_data = tree.export_graphviz(clf,feature_names= feature_name,class_names=["琴酒","雪莉","贝尔摩德"],filled=True,rounded=True)
graph = graphviz.Source(dot_data)
graph
决策树如下所示:
到这里,一棵决策树就算完成啦,从树中,我们可以观察到,根据特征的精确划分,越往下,颜色越深,代表酒的品种准确度越高。
sklearn(一)、决策树相关推荐
- 【机器学习入门】(5) 决策树算法实战:sklearn实现决策树,实例应用(沉船幸存者预测)附python完整代码及数据集
各位同学好,今天和大家分享一下python机器学习中的决策树算法,在上一节中我介绍了决策树算法的基本原理,这一节,我将通过实例应用带大家进一步认识这个算法.文末有完整代码和数据集,需要的自取.那我们开 ...
- python中sklearn实现决策树及模型评估_sklearn实现决策树
sklearn是一个功能非常强大的工具,可以用几行代码实现丰富的机器学习算法. 本文介绍使用sklearn实现决策树 决策树是经典的机器学习算法,很多复杂的机器学习算法都是由决策时演变而来.它是一种使 ...
- ID3决策树 Python实现 + sklearn库决策树模型的应用
本文介绍机器学习中决策树算法的python实现过程 共介绍两类方法: (1)亲手实习Python ID3决策树经典算法 (2)利用sklearn库实现决策树算法 关于决策树的原理,指路:机器学习 第四 ...
- 【Python-ML】SKlearn库决策树(DecisionRegression) 使用
# -*- coding: utf-8 -*- ''' Created on 2018年1月15日 @author: Jason.F @summary: Scikit-Learn库决策树算法 '''f ...
- python sklearn 绘制决策树模型的节点图
绘制决策树的图片可以使用sklearn.tree.plot_tree这个方法 详情可以参考官方文档:https://scikit-learn.org/stable/modules/generated/ ...
- sklearn 决策树例子_使用 sklearn 构建决策树并使用 Graphviz 绘制树结构
决策树最大的优点是我们可以查看最终的树结构,上一篇日志中,我们通过 matplotlib 展示了我们自己的树结构 但是 matplotlib 绘制树结构较为复杂,我们这里来了解一个更为易用的绘图工具 ...
- Python 机器学习 利用sklearn构建决策树的实现 2
决策树 import numpy as npimport os%matplotlib inlineimport matplotlibimport matplotlib.pyplot as pltplt ...
- 机器学习之使用sklearn构造决策树模型
一.任务基础 导入所需要的库 import matplotlib.pyplot as plt import pandas as pd%matplotlib inline 加载sklearn内置数据集 ...
- python中sklearn实现决策树及模型评估_Python sklearn决策树算法实践
scikit-learn简称sklearn,支持包括分类.回归.降维和聚类四大机器学习算法.还包含了特征提取.数据处理和模型评估三大模块.sklearn是Scipy科学计算库的扩展,建立在NumPy和 ...
- sklearn实现决策树,随机森林,逻辑回归,KNN,贝叶斯,SVM,以葡萄干数据集为例
数据集介绍 本次使用的数据集为葡萄干数据集,来源于UCI中: https://archive.ics.uci.edu/ml/datasets/Raisin+Dataset 介绍为: Images of ...
最新文章
- 所有类是object的子类,但是又可以继承一个其他类解析
- 我到底要选择一种什么样的生活方式,度过这一辈子呢:人生自由与职业发展方向(下)...
- Java on Windows Mobile
- zemax评价函数编辑器_ZEMAX与光学设计案例:激光扩束系统详细设计与公差分析(二)...
- 去除Xcode6创建工程时自带的storyboard
- [转载] Python 完整实现的简单遗传算法(SGA)
- Android LoaderManager原理剖析
- 分布式文件存储FastDFS之基础知识篇
- JAVA输入输出流实现文件复制
- mysql如何自定义分组_mysql 使用自定义规则分组
- 小型微型计算机系统杂志好投么,小型微型计算机系统杂志
- Unity图片闪烁效果
- linux 目录 问号 原因,linux – 在目录的ls中显示的问号. IO错误也是如此
- 正则表达式常用语法速查+一个简单使用案例
- 自编码器(Autoencoder)基本原理与模型实现
- office右键没有新建word,Visio等解决办法
- win7 android usb驱动,在win7系统下安装手机usb驱动软件的教程
- 用python画象棋棋盘_Python turtle绘画象棋棋盘
- (ch9) Deep Learning for Anomaly Detection: A Survey
- 怎么卸载mac上的软件