【菜菜的sklearn机器学习】(1)决策树

课程学习:1 2. 决策树:概述_哔哩哔哩_bilibili

课程1 -决策树DecisionTreeClassifier

决策树的基本流程 (找特征-计算不纯度-分)、八个参数、一个属性、四个接口、决策树绘图export_graphviz

八个参数:criterion、2随机参数(random_state、split)、

5剪枝参数(max_depth、min_samples_leaf、min_sample_split、max_feature、min_purity_decrease)

一个属性:feature_importances_

四个接口:fit、score、apply、predict

决策树:从一系列有特征和标签的数据中总结出决策规则。(表格转树)

非参数(不需要太多预处理)的有监督学习(输入标签)

Q1如何找出最佳节点和最佳分支

Q2如何让决策树停止生长 防止过拟合

sklearn.tree

建模的基本流程:

①实例化,建立模型评估对象:明确实例化时需要使用的参数

②通过模型接口训练模型(训练集放入1的评估对象):数据属性、数据接口

③通过模型接口提取需要的信息

from sklearn import tree

clf = tree.DecisionTreeClassifier()

clf = clf.fit(x_train, y_train)

result = clf.score(x_test, y_test)

DecisionTreeClassifier与红酒数据集

++++1、重要参数criterion:不纯度计算++++,越低则对训练集的拟合越好,需要不断优化

不纯度是基于节点计算的,子节点一定低于父节点。

计算全部特征的不纯度指标,选取不纯度最优的特征来分枝,在该特征分枝下再次计算不纯度,再选取最优,再...

输入:

entropy信息熵:父节点与子节点之间的信息增益,决策树的拟合程度不够的时候用

gini基尼系数:常用,默认,数据维度大,噪音大的时候用

数据维度大的时候用gini,维度低数据清晰时两者没有区别。可以都试试,不好就换另一个。

++++2、Random_state&splitter:控制决策树的随机性++++

Random_state用来设置分枝中的随机模式的参数,默认None,再高纬度时随机性表现明显,低纬度随机性几乎不显现(鸢尾花数据集4个特征)

Splitter也是用来控制随机性,best和random(特征很多,容易过拟合时)

3、剪枝参数

Max_depth:限制树的最大深度,超过的全剪掉;最广泛的剪枝参数,高维度低样本量时非常有效,建议从3开始. 一般用作树的精修

Min_samples_leaf一个节点在分支后的每个子节点都必须包含至少msl个训练样本,否则分支就不会发生;

min_samples_split:

max_features:限制分枝时考虑的特征个数,超过限制个数的特征都会被舍弃

和max_depth异曲同工

Min_impurity_decrease限制信息增益的大小,小于特定值的分枝不会发生

如何确定参数值呢?用matplotlib绘图

但是那么多参数,不可能一一绘制分别选最佳=>后面会调多参方法

加参不一定效果变好,数据本身

6、class_weight & min_weight_fraction_leaf:控制目标权重

7、重要属性和接口

所有接口中要求输入Xtrain和Xtest的部分,输入的特征矩阵必须至少是一个二维矩阵,sklearn不接受任何一维矩阵作为特征矩阵被输入。如果输入数据只有一个特征,那必须使用reshape(-1,1)来给矩阵增维;如果数据只有一个特征和一个样本,用reshape(1,-1)来给数据增维。

Clf.apply(Xtest)返回每个测试样本所在叶子节点的索引

Clf.predict返回每个测试样本的分类/回归结果

8、分类树不擅长环形数据。当一个模型怎么调整都不行的时候,可以换模型。

最擅长月亮型数据的是最近邻算法,RBF支持向量机和高斯过程;

最擅长环形数据的是最近邻算法和高斯过程;

最擅长对半分数据的是朴素贝叶斯、神经网络和随机森林。

相关推荐
向上的车轮16 小时前
AI Infra 是什么?AI Infra的发展趋势是怎样的?
人工智能
liangshanbo121516 小时前
Express SSE 流式输出实战:从入门 Demo 到 AI 生产级架构
人工智能·架构·express
安全指北针16 小时前
AI Agent自主入侵真实系统:OpenAI和Anthropic两大模型接连“失控“,给安全行业敲响了什么警钟?
人工智能·安全
2601_9657996816 小时前
2026 在线笔试平台深度测评与选型指南:从功能、稳定性、AI能力、防作弊全面分析
人工智能·笔记·功能测试
小玮看世界16 小时前
[Python]从“脏”数据到优雅实现:一个IoT滑动窗口最大值问题的测试驱动优化实录
linux·前端·python
2601_9494999417 小时前
芯瑞科技 DT-1414 光模块工程实测:完美兼容博通(安华高) HFBR-1414PTZ,VCSEL 替代方案
大数据·网络·人工智能·科技·光模块
城事漫游Molly17 小时前
研究论证的四要素:主张、理由、证据、保证——用AI逐一检验
人工智能·ai for science·论文发表·博士生必读·论证argument·科研论文投稿
字节跳动视频云技术团队17 小时前
AI 视频降本的三种做法,只有一种不牺牲画质
人工智能·aigc
自动化测试行业观察17 小时前
从“自动化”到“智能化”:TestMan AI测试平台引领软件测试范式转移
运维·自动化测试·人工智能·测试工具·自动化·app测试·移动应用测试
HyperAI超神经17 小时前
在线教程|ProteinGym 第一名!VenusREM 用「检索增强」预测蛋白突变影响,加速蛋白质设计
人工智能·深度学习·生物信息学·大模型推理·生物医学