sklearn的DecisionTreeClassifier的参数random_state

2023-10-31

刚刚使用SKLearn学习机器学习进行数据分析,分享一些概念和想法,希望可以大家一起讨论,如果理解或者表达有不准确的地方,请多多指点,不吝赐教,非常感谢~~

本文将继续介绍sklearn的决策树模块的其他参数

涉及到的理论知识,请转至上篇《决策树和随机森林》:https://blog.csdn.net/weixin_42969619/article/details/98853206
涉及到数据集相关操作,请转至《探索sklearn的数据集》:https://blog.csdn.net/weixin_42969619/article/details/99294615
涉及决策树其他参数,请转至《DecisionTreeClassifier的参数criterion 与使用红酒数据集创建一个树)》:https://blog.csdn.net/weixin_42969619/article/details/98884082


  • DecisionTreeClassifier及重要参数:

class sklearn.tree.DecisionTreeClassifier (criterion=’gini’, splitter=’best’, max_depth=None,
min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=None,
random_state=None, max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split=None,
class_weight=None, presort=False)

  1. random_state 参数

用来设置分枝中的随机模式的参数,默认值None;
之前已经说过,决策树的生成是非常“随机”的,且维度越高,随机性越大。给 random_state 参数赋值任意整数,都可以使模型在同一个训练集和测试集下稳定。

  • 稳定一个树
from sklearn import tree
from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
import graphviz

# 数据集实例化,并划分训练集和测试集
# test_size 参数表示:测试集在数据集中的比例
wine = load_wine()
Xtrain, Xtest, Ytrain, Ytest = train_test_split(wine.data,wine.target,test_size=0.3)

clf=tree.DecisionTreeClassifier(criterion="entropy"
                               , random_state=30
                                 ,splitter="random")
clf=clf.fit(Xtrain,Ytrain)

#  画出一棵树
feature_name = ['酒精','苹果酸','灰','灰的碱性','镁','总酚','类黄酮','非黄烷类酚类','花青素','颜色强度','色调','od280/od315稀释葡萄酒','脯氨酸']
dot_data = tree.export_graphviz(clf
                               ,out_file = None
                               ,feature_names= feature_name			
                               ,class_names=["琴酒","雪莉","贝尔摩德"]			
                               ,filled=True		
                               ,rounded=True		
                               )
graph = graphviz.Source(dot_data)
graph

# 查看结果
score=clf.score(Xtest,Ytest)
score
# 查看特征变量的使用情况
[*zip(feature_name,clf.feature_importances_)]

------------------------
# 结果 
0.9444444444444444
[('酒精', 0.09675223719525075),
 ('苹果酸', 0.0),
 ('灰', 0.0),
 ('灰的碱性', 0.0),
 ('镁', 0.051731632744201506),
 ('总酚', 0.0),
 ('类黄酮', 0.34045893563278185),
 ('非黄烷类酚类', 0.0),
 ('花青素', 0.0),
 ('颜色强度', 0.0),
 ('色调', 0.08814246536013912),
 ('od280/od315稀释葡萄酒', 0.23390394552014476),
 ('脯氨酸', 0.18901078354748188)]

说明:
确定了random_state 参数,无论运行多少次“建模”,模型都没有改变;但是不同数据赋值给random_state,会有不同结果
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sklearn的DecisionTreeClassifier的参数random_state 的相关文章

  • RACI 职责分配矩阵 模型使用详解及案例分析

    一 RACI产生背景 RACI是项目管理中的人力资源管理方法 一个项目团 队的成员往往来自于不同背景的各个部门 这些成员受部门经理和项目经理的双重管辖 由于这些人往往是临时组织起来的 并且项目的各个阶段扮演不同的角色 而项目的任务又很紧迫
  • Spring详解(二)------IOC控制反转

    我相信提到 Spring 很多人会脱口而出IOC 控制反转 DI 依赖注入 AOP等等概念 这些概念也是面试官经常问到的知识点 那么这篇博客我们就来详细的讲解 IOC控制反转 ps 本篇博客源码下载链接 百度网盘 链接不存在 密码 oquc
  • 全国计算机等级考试题库二级C操作题100套(第100套)

    第100套 给定程序中 函数fun的功能是 在形参s所指字符串中寻找与参数c相同的字符 并在其后插入一个与之相同的字符 若找不到相同的字符则函数不做任何处理 例如 s所指字符串为 baacda c中的字符为 a 执行后s所指字符串为 baa

随机推荐

  • LU分解

    在高等工程数学一书中 LU分解 LU Decomposition 是矩阵分解中最普通的一种 也是最经典的一种 它可以将一个矩阵分解为一个单位下三角矩阵和一个上三角矩阵的乘积 有时是它们和一个置换矩阵的乘积 LU分解主要应用在其数值分析中 用
  • Java远程连接Redis时出现: java.net.SocketTimeoutException: connect timed out的解决办法

    今天连接Redis报了了连接超时的错误 搞了半天终于把问题给解决了 这里来梳理一下我解决问题的思路 1 redis已经在linux上安装成功了 也已经正常启动了 端口6379 2 使用idea连接redis报连接超时 第一想法是没有开启re
  • ROI Align 解析

    ROI Align 是何凯明在2017年的论文Mask RCNN中提出的 该方法很好地解决了ROI Pooling操作中两次量化造成的区域不匹配 mis alignment 问题 本文将先从实验结果入手 然后分析ROI Pooling产生局
  • 电商运营中的五个数据陷阱

    来源 新媒之家 电商 看懂数据是基本功 软件可以解决繁琐的计算 但解读还需要运营人员有基本的数据分析能力 本文列举了五个常见的数据陷阱 了解和掌握后可以有效避免一些分析结果的偏差 如今 大数据 的概念被炒得沸沸扬扬 不可否认 数据确实是越来
  • java服务压测连接中断org.apache.catalina.connector.ClientAbortException: java.io.IOException: 远程主机强迫关闭了一个现有的连

    1 服务压测出问题 2021 06 16 09 04 51 062 http nio 8089 exec 78 ERROR o a c core ContainerBase Tomcat localhost Exception Proces
  • Java项目部署完整步骤(腾讯云服务器)

    步骤一 购买服务器 小项目2核4G够用 2 4个启动器 多了服务器扛不住 xshell默认是不携带宝塔面板的需要输入命令进行下载 Centos安装脚本 yum install y wget wget O install sh https d
  • Spring Boot使用ApplicationRunner实现项目启动之后直接执行业务操作

    前言 如果我们希望在项目启动成功后自动执行某些操作或者业务的话 可以有很多方法 比如 在Application主程序里面写 或者是 这两个接口分别为CommandLineRunner和ApplicationRunner 这里简单的介绍另外一
  • 判断字符串是否为空

    一 判断一个字符串为空的方法有 str null equals str str null str length 0 str null str isEmpty 注意 1 length是属性 一般集合类对象拥有的属性 取得集合的大小 例如 数组
  • faker.js 创建者希望 GitHub 恢复他的权利;微软公布 VS Code 2022 年路线图;Java 18 的新特性

    整理 宋彤彤 责编 屠敏 开源吞噬世界的趋势下 借助开源软件 基于开源协议 任何人都可以得到项目的源代码 加以学习 修改 甚至是重新分发 关注 开源日报 一文速览国内外今日的开源大事件吧 一分钟速览新闻点 faker js 创建者希望 Gi
  • Linux定时服务

    目录 1 定时器操作 2 cron表达式的语法规则 参考链接 1 定时器操作 sudo crontab e 选择2 进入进行配置 需要按下 i sh home xx crontabsh test sh的意思是 让sh解释器调用test sh
  • cannot import name ‘mean_squared_erro‘ from ‘sklearn.metrics‘

    sklearn中模块包的导入报错 根据其他博主的意见 sklearn更新的版本中有很多包调整了层次结构 以至于我们在跑代码的时候会出现导入包错误 这时候我们需要做的就是打开sklearn的官网 https scikit learn org
  • 【华为OD机试真题2023B卷 JAVA&JS】增强的strstr

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 增强的strstr 知识点字符串 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 C 语言有一个库函数 char strstr const char haystack
  • 聚观早报

    今日要闻 滴滴被处罚 80 26 亿元罚款 百度发布第六代量产无人车Apollo RT6 特斯拉出售比特币资产 套现近10亿美元 字节跳动估值跌破3000亿美元 哪吒汽车完成超 30 亿元 D3 轮融资 滴滴被处罚 80 26 亿元罚款 据
  • 时序预测

    时序预测 MATLAB实现CNN 卷积神经网络 时间序列预测 预测效果一览 以下介绍程序设计过程 加载数据与数据集划分 常用load载入 mat文件 划分数据集 计算数据长度
  • 在window10 WSL 中编译 OpenJDK13

    简介 最新的OpenJDK13已经发布到git上 可以git pull 然后编译了 这里介绍了直接在windows 10 的WSL环境中进行build并测试 准备 在Open JDK13的网站文档中说 很简单的几步操作就好 下载源码 hg
  • 破局之作:首部开源 AIGC 软件工程应用电子书《构筑大语言模型应用:应用开发与架构设计》...

    TL DR 版 在线 https aigc phodal com 下载 1 https github com phodal aigc releases 下载 2 https pan baidu com s 1wGc75vVHaZwvZyHe
  • 数据结构与算法绪论

    什么是数据结构 明白以下两点即可领悟 程序设计 数据结构 算法 数据结构就是一种 数据元素 间一种或多种特定关系的表征 数据结构的分类 分为 逻辑结构 和 物理结构 逻辑结构 是指 数据元素 间相互关系 物理结构 是指 数据的逻辑结构 在计
  • elsevier中elsarticle模板如何使用apa引用格式

    我们知道latex的默认引用 cite 是长这样的 那elsevier下面的很多期刊要求我们使用apa 美国心理学会 的引用格式 其是长这样的 方法 这个问题折磨我好久 网上说使用 usepackage apacite 包 可是我一在els
  • 「深度小课堂」虚拟化技术入门科普

    云计算已经成为了服务器端的潮流 通过它 我们可以有效支持弹性计算 隔离兼容等一系列的需求 计算力可以像水电一样为人们所使用 而虚拟化技术正是云计算中最重要的技术 虚拟化技术一般可以被分为两类 分别是虚拟机 VM Virtual Machin
  • sklearn的DecisionTreeClassifier的参数random_state

    刚刚使用SKLearn学习机器学习进行数据分析 分享一些概念和想法 希望可以大家一起讨论 如果理解或者表达有不准确的地方 请多多指点 不吝赐教 非常感谢 本文将继续介绍sklearn的决策树模块的其他参数 涉及到的理论知识 请转至上篇 决策