金融数据挖掘—科学计算语言---算法篇—决策树分类算法

金融数据挖掘—科学计算语言—算法篇

决策树分类算法

决策树分类算法:根据历史数据提炼出规则,并以现有信息为基础形成决策,称之为决策树分类算法。

决策树(Decision Tree)是一种十分常用的分类方法,属于监督学习(Supervised Learning)。

监督学习:就是给出一批样本,每个样本都有一组属性和一个分类结果(即类标签已知),算法通过学习这些样本,得到一个决策树,这个决策树能够对新的数据给出合适的分类。

决策树概念主要是通过连续的逻辑判断来得到最后的结论,其关键点在于如何建立出这样一颗树来。决策树模型的建树依据主要用基尼系数(gini)。

基尼系数:用于计算一个系统中的失序现象,即系统的混乱程度。基尼系数越高,系统混乱程度越高,建立决策树模型的目的就是通过合适的分类来降低系统的混乱程度,其计算公式如下:
在这里插入图片描述
其中 pi 为类别 i 在样本 T 中出现的频率,即类别为 i 的样本占总样本个数的比率。

练习1.

在这里插入图片描述

from sklearn.tree import DecisionTreeClassifier
x = [[1,2],[3,4],[5,6],[7,8],[9,10]]
y = [1,0,0,1,1]
model = DecisionTreeClassifier(random_state=0)
model.fit(x,y)
model.predict([[5,5]])
from sklearn.tree import export_graphviz
import graphviz
import os

在这里插入图片描述

#对训练的决策树模型进行可视化
os.environ['PATH'] = os.pathsep + r"E:\Graphviz\bin"
d = export_graphviz(model, out_file=None, class_names=['0','1'])  # 将搭建的决策树模型转换为字符串格式,需设置out_file=None
graph = graphviz.Source(d)  # 转化为可视化格式
graph
graph.render("决策树")  #保存成pdf形式

在这里插入图片描述

练习2.

在这里插入图片描述

from sklearn.tree import DecisionTreeRegressor
X = [[1,2],[3,4],[5,6],[7,8],[9,10]]
Y = [1,2,3,4,5]
model1 = DecisionTreeRegressor(max_depth=3,random_state=0)
model1.fit(X,Y)
model1.predict([[5,5]])

在这里插入图片描述

d1 = export_graphviz(model1,out_file=None) # 回归决策树就没有class分类参数了
graph1 = graphviz.Source(d1) # 转化为可视化格式
graph1
graph.render("决策树1")  #保存成pdf格式

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只敲代码的嗷呜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值