决策分类树可视化以及手写代码寻找最佳分裂标准

决策树绘制代码TreePlotter.py 【代码】决策树绘制代码TreePlotter.py 阅读详情

问题介绍

决策树是一种非线性解决回归或者分类的思路,这篇文章是从QQ的好友密度,日志密度,以及真实头像和QQ是否是真实用户的相关性出发,利用决策树分析问题。并且画出了决策树,还手写代码实现了决策树的分裂标准。

决策树可视化

# 导包
import pandas as pd 
import numpy as np
from sklearn.tree import DecisionTreeClassifier # tree模块中有回归树和分类树,此处导入分类树
from sklearn import tree

# 构建数据,s,m,l分别表示小,中,大
y = np.array(list('NYYYYYNYYN'))
X = pd.DataFrame({
   
   '日志密度':list('sslmlmmlms'),
                  '好友密度':list('slmmmlsmss'),
                  '真实头像':list('NYYYYNYYYY')})
X
日志密度 好友密度 真实头像
0 s s N
1 s l Y
2 l m Y
3 m m Y
4 l m Y
5 m l N
6 m s Y
7 l m Y
8 m s Y
9 s s Y
# 在算法中计算,必须是数字,对字符串做相应的转换
X['日志密度']=X['日志密度'].map({
   
   's':0,'m':1,'l':2})
X['好友密度']=X['好友密度'].map({
   
   's':0,'m':1,'l'
决策树模型知识点整理:从原理到实战(含可视化与调参) 决策树是一种直观且强大的机器学习模型,通过树状结构(根节点、决策节点、叶节点)实现数据分类或回归。其核心优势包括无需特征归一化、对共线性不敏感、可解释性强,并支持分类与回归任务。关键原理基于基尼不纯度计算,通过最优特征分裂提升节点纯度。实战中可使用Scikit-learn构建模型,配合可视化工具直观展示决策路径。为避免过拟合,需通过网格搜索调整max_depth等超参数。决策树凭借可解释性和通用性,成为机器学习入门和业务场景的理想选择。 阅读详情

相关推荐

Python 机器学习 回归决策树

决策树是一种常用于分类和回归的机器学习算法。在回归问题中,决策树用于预测连续值的输出,如价格或温度等。回归决策树是一种用于回归问题的决策树模型。与分类决策树(输出离散标签)不同,回归决策树的目标是预测一个连续的数值。回归决策树的工作原理与分类树相似,但在决定分支如何划分时,它们寻求最小化的是目标变量的方差或均方误差(MSE),而不是不纯度(如基尼不纯度或熵)。

weixin_42098295的博客 1460

深入解析数据挖掘中的决策树算法

数据挖掘是一个涉及使用统计学、机器学习、人工智能、数据库等技术,从大量数据中寻找模式、关联、异常和规则的过程。它允许企业从数据中发现宝贵的见解,辅助决策,预测未来趋势,优化业务流程,增强竞争优势。数据挖掘的应用领域非常广泛,包括但不限于金融、零售、医疗、通信等,对于挖掘复杂数据集的价值至关重要。数据挖掘的流程一般包括以下几个步骤:业务理解:明确业务需求并转化为数据挖掘问题。数据准备:收集并清洗数据,进行数据转换和归约。模型建立:选择适合的挖掘技术,构建并优化数据模型。

weixin_42168902的博客 713

Keil C51开发必看:详解data/xdata/bdata内存分配陷阱与避坑指南

本文深入解析Keil C51开发中的data/xdata/bdata内存分配陷阱,提供针对51芯片的高效避坑指南。通过真实案例揭示Keil编译器的隐藏规则,分享内存优化策略和调试技巧,帮助开发者解决data溢出、xdata访问异常等典型问题,提升嵌入式开发效率。

v6b7n8m9q0的博客 1070

MATLAB随机生成m个三维坐标点,且各个坐标点之间的距离不小于n

randi函数 randi(max,m,n); %生成均匀分布的随机整数,max生成的随机整数最大值,生成m行n列的矩阵 编写函数sampling function [x,y,z]=sampling(lowx,upx,lowy,upy,lowz,upz,m,n) %该函数用来产生不重复的随机整数矩阵 %low—随机整数下界;up—随机整数上界;m—坐标点个数;n—各个坐标点之间的最小距离 %编...

qq_45384561的博客 9436

CUDA 12.1环境下的动态库链接修复:从libcusparse.so.12的undefined symbol错误到libnvJitLink.so.12的正确加载

本文详细解析了在CUDA 12.1环境下,PyTorch因libcusparse.so.12找不到libnvJitLink.so.12中的__nvJitLinkAddData_12_1符号而报错的根本原因。通过诊断动态链接过程,提供了创建符号链接、修改环境变量等三种解决方案,并深入探讨了nvJitLink组件的作用及环境配置的最佳实践,帮助开发者彻底解决此类动态库链接问题。

c8d9e0f1的博客 204

C#构建高精度预测模型:从数据预处理到模型部署的实战指南

【代码】C#构建高精度预测模型:从数据预处理到模型部署的实战指南。

墨夶的博客 1260

使用自己的数据跑通mmsegmentation

使用自己的数据跑通mmsegmentation,解决以下报错:1)type object 'FileClient' has no attribute 'infer_client' 2)It is expected output_size equals to 2, but got size 3 3)训练测试结果报NAN 4)KeyError: 'MyDataset is not in the dataset registry' 5)预训练模型和加载的网络结构层名有差异,unexpected key .....

猫猫与橙子的博客 1656

告别定位不准!Inner-IoU助力YOLOv11边界框回归精度飙升

Inner-IoU 凭借辅助边框的创新设计,成功解决了传统 IoU 损失在小目标、遮挡场景下的收敛难题,为 YOLOv11 注入了更强的定位能力。从原理剖析到代码集成,本教程已为你铺就了一条“精度提升”的实战路径。现在,不妨亲自上手尝试,让你的目标检测模型在各类数据集上都能交出一份“精度优异”的答卷——相信我,当你看到检测框精准贴合目标的那一刻,你会明白这份尝试的价值。

FJN110的博客 188

DCDC电路断电时放电波形发生震荡和电压跳变问题,如何解决?

DCDC电路断电时放电波形发生震荡和电压跳变问题: 做的一个项目需要用单片机ADC采集电压,要让单片机感应到电压降到3.1V开始往FLASH里存数据,单片机2.4V基本上就工作不了,(根据单片机手册的,擦写的时间在40mS在左右)所以3.1V降到2.4V的时间必须要大于40mS岁以上,在单片机VCC处加了一个100nF的电容,理论仿真下来150mS左右发现存不进去,用示波器抓了一下波形,发现放电时震荡很严重,实际3.1V到2.4V时间只有10ms左右,这个肯定存不进去; 请教师傅说是应该时前级DCDC开关电

**My Coding Family** 1964

【漏洞复现】WordPress Plugin NotificationX 存在sql注入CVE-2024-1698

技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。WordPress和WordPress plugin都是WordPress基金会的产品。WordPress Plugin NotificationX 存在安全漏洞,该漏洞源于对用户提供的参数转义不充分以及对现有 SQL 查询缺乏充分的准备,很容易通过“type”参数受到 SQL 注入攻击。

失心少年 1380

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

上一篇: 高斯混合模型和KMeans算法可视化对比
下一篇: 决策树剪枝和可视化
python_xiaofeng
博客等级 码龄5年 11粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

python_xiaofeng

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

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

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

打赏作者

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

抵扣说明:

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

余额充值