机器学习笔记1——分类树DecisionTreeClassifier

本文详细探讨了使用DecisionTreeClassifier在红酒数据集上的应用,重点介绍了重要参数如criterion、random_state、max_depth等,并通过训练和展示分类树,以及分析超参数学习曲线来理解模型性能。
摘要由CSDN通过智能技术生成

DecisionTreeClassifier与红酒数据集

1.重要参数

criterion

Criterion这个参数正是用来决定不纯度的计算方法的。sklearn提供了两种选择:
1)输入”entropy“,使用信息熵(Entropy)
2)输入”gini“,使用基尼系数(Gini Impurity)
不填默认基尼系数,填写entropy使用信息增益通常就使用基尼系数,数据维度很大,噪音很大时使用基尼系数。维度低,数据比较清晰的时候,信息熵和基尼系数没区别。当决策树的拟合程度不够的时候,使用信息熵

random_state & splitter

random_state用来设置分枝中的随机模式的参数,默认None,在高维度时随机性会表现更明显,低维度的数据随机性几乎不会显现。输入任意整数,会一直长出同一棵树,让模型稳定下来。

splitter是用来控制决策树中的随机选项的,有两种输入值。
输入”best",会优先选择更重要的特征进行分枝。
输入“random",树会因为含有更多的不必要信息而更深更大,并因这些不必要信息而降低对训练集的拟合。可防止过拟合。

max_depth

限制树的最大深度,超过设定深度的树枝全部剪掉。这是用得最广泛的剪枝参数,在高维度低样本量时非常有效。建议从max_depth = 3开始尝试,看看拟合的效果再决定是否增加设定深度,可以有效限制过拟合。

min_samples_leaf & min_samples_split

min_samples_leaf 限制一个子节点的分支至少包含多少个样本。
建议从min_samples_leaf = 5 开始检测拟合度进行调参。

max_features限制分枝时考虑的特征个数,超过限制个数的特征都会被舍弃,在不知道决策树中的各个特征的重要性时,可能会导致模型学习不足。

min_impurity_decrease

min_impurity_decrease限制信息增益的大小,信息增益小于设定数值的分枝不会发生

2.进行红酒数据集的训练

作出回归树
from sklearn import tree  # 导入树
from sklearn.datasets import load_wine  # 生成数据集的模块
from sklearn.model_selection import train_test_split  # 训练集测试集分类
import pandas as pd
import matplotlib.pyplot as plt
import graphviz  # 用于画出决策树

# 实例化数据
wine = load_wine()

# 使用pandas转化为表的形式
table = pd.concat([pd.DataFrame(wine.data),pd.DataFrame(wine.target)],
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值