
【免费下载链接】supertreeImpress your boss with interactive Decision Tree visualization项目地址https://gitcode.com/gh_mirrors/su/supertree点击查看免费下载supertree 是一个在 Jupyter 中实现交互式决策树可视化的 Python 库支持 scikit-learn、LightGBM、XGBoost 和 ONNX 模型让决策树可视化支持缩放、折叠、动态深度调节与单样本路径追踪。本文完整解析 supertree 的 APISuperTree、Node、TreeData 三大核心类的参数、方法与数据流转机制帮助你快速掌握决策树可视化 API。 三大核心类一图看懂supertree 的核心代码集中在supertree/目录三个类的分工非常清晰核心类源码位置职责SuperTreesupertree/supertree.py决策树可视化入口校验模型、解析节点、渲染 HTML、导出 JSONNodesupertree/node.py单个决策树节点的数据结构分裂特征、阈值、样本数等TreeDatasupertree/treedata.py样本数据与可视化配置容器特征名、目标名、原始数据、调色板数据流转路径SuperTree.__init__接收训练好的模型 →convert_model_to_dict_array()把模型解析为节点字典列表 → 每个字典构建一个Node对象 → 用 DFS 算法 _create_node_dfs() 组织成树 → 最终与TreeData合并为 JSON交给前端 D3.js 渲染成可交互的决策树。 SuperTree决策树可视化主类构造参数详解SuperTree构造函数在 supertree/supertree.py 中定义负责全部参数校验参数必填默认值说明model✅—已训练的模型支持 20 种树模型见下文支持列表feature_data⬜None特征数据支持 list / np.ndarray / DataFrame / Series须与target_data同时提供target_data⬜None目标数据类型同上feature_names⬜None特征名列表不传时自动从 DataFrame 列名或feature0/1/2…推断target_names⬜None分类任务传类别名列表回归任务传单个字符串color_palette⬜1可视化配色方案编号从 1 开始show_palette_control⬜False是否在界面中显示配色切换控件 注意构造时会自动调用 is_model_fitted() 检查模型是否已fit()未训练会直接抛出Model is not fitted异常which_model()会自动识别这是分类还是回归模型。常用方法速查方法作用关键参数show_tree()在 notebook 中显示交互式决策树见下表save_html()保存为独立 HTML 文件默认output.html同 show_tree外加filenamesave_json_tree()导出决策树 JSON 数据同上get_max_tree_size()获取森林/梯度模型中的树数量—which_model()识别模型类型classification / regression—show_tree()的参数是日常使用中最常打交道的部分参数默认值说明which_tree0森林类模型中选第几棵树Random Forest 的第 3 棵树即show_tree(2)which_iteration0HistGradientBoosting 的迭代轮次start_depth5初始渲染深度大树可设小一点加速渲染max_samples7500最多渲染的样本点数大数据集提速关键show_sampleNone传入一个样本的[特征值]列表界面出现按钮可高亮该样本的决策路径widgetsFalse是否用 ipywidgets 输出带森林切换的上一棵/下一棵按钮支持的模型清单SuperTree内部通过 valid_model_classes 白名单校验模型目前支持scikit-learnDecisionTree*、ExtraTree*、ExtraTrees*、RandomForest*、GradientBoosting*、HistGradientBoosting*LightGBMLGBMClassifier、LGBMRegressor、BoosterXGBoostXGBClassifier、XGBRegressor、XGBRF*、BoosterONNXModelProto树模型自定义通过 ModelLoader 手动传入节点字典列表可视化任意框架的树 Node决策树节点数据结构Node类supertree/node.py描述树中的每一个节点由SuperTree在解析模型时自动创建一般不需要手动实例化。属性类型含义featureint分裂使用的特征索引叶子节点为 -1thresholdfloat分裂阈值impurityfloat不纯度指标Gini / 熵 / split gainsamplesint到达该节点的样本数class_distributionlist各类别样本分布回归为预测值treeclassstr该节点预测的类别is_leafbool是否叶子节点left_children/right_childrenint左右子节点在扁平数组中的索引left_node/right_nodeNode左右子节点的对象引用DFS 构建时挂载start_end_x_axislist每个特征的样本取值区间用于无样本数据时回溯统计两个关键方法to_dict()把节点递归转换为可 JSON 序列化的字典并自动处理 numpy 标量、ndarray、pandas Series 类型转换add_left() / add_right()在 DFS 遍历 _create_node_dfs() 过程中把子节点挂到父节点同时累积每个特征上的样本区间如petal_width 0.8且 0.6这就是悬停节点时能展示直方图/散点图的数据基础。️ TreeData样本数据与可视化配置容器TreeData类supertree/treedata.py由SuperTree.__init__自动构建保存数据侧的所有信息与Node的结构侧互补。核心属性属性说明feature_names/target_names特征名与目标名自动展平 DataFrame/ndarraydata_feature/data_target原始样本数据to_dict()时会按max_samples截断tree_typeclassification/regression无数据时为nodata*split_rule节点比较语义lt_gte 和 ≥sklearn 系或lte_gt≤ 和 LightGBM/ONNXwhich_tree/tree_count当前树索引与森林总树数驱动界面顶部的 Tree 3 / 100 切换器palette/show_palette_control配色方案与切换控件开关show_sample待高亮样本路径的特征值列表常用方法to_dict() 生成tree_data部分 JSONset_show_sample() 校验样本长度后设置高亮样本convert_target_strings() 把字符串标签自动映射为类别索引。 最终输出两部分 JSON 结构渲染时 _get_combined_data() 会把两部分合并成一个 JSON 传给前端{ node_data: {...}, # Node.to_dict() 递归生成的树结构 tree_data: {...} # TreeData.to_dict() 生成的数据与配置 }save_html()与save_json_tree()的区别就在于前者把该 JSON 嵌入 templatehtml.py 的 D3.js 模板后者仅导出纯 JSON 供二次开发使用。⚠️ 常见报错速查报错信息原因与解决Model is not fitted模型未训练先调用model.fit(...)Invalid model type. Expected one of [...]传入的模型不在支持列表内可用ModelLoader走自定义路径Target Data and Feature data should both exist or notfeature_data与target_data必须成对提供或都不提供Invalid target_names length分类任务的类别名数量与target_data实际类别数不一致渲染很慢调小max_samples默认 7500或start_depth 相关源码与文档主类实现supertree/supertree.py节点结构supertree/node.py数据容器supertree/treedata.py自定义模型加载器supertree/model_loader.py完整 API 文档docs/python_docs.md官方示例 Notebookexamples/MainExample.ipynb、examples/GradientBoostExample.ipynb掌握 SuperTree 的参数校验、Node 的树形组织与 TreeData 的数据封装这三块你就理解了 supertree 决策树可视化的全部 API 骨架——剩下的缩放、路径高亮、SVG 导出等交互能力都由前端自动接管。赞分享【免费下载链接】supertreeImpress your boss with interactive Decision Tree visualization项目地址https://gitcode.com/gh_mirrors/su/supertree点击查看免费下载相关推荐FLUX 3 Image Klein提示词技巧清单全场景描述、风格写法与7个实用图像编辑技巧FLUX 3 Image Klein提示词技巧清单全场景描述、风格写法与7个实用图像编辑技巧 FLUX 3 Image Klein 是 Black Fores人工智能大模型基础模型媒体生成多模态ErrorProne API参考核心类与方法详解ErrorProne API参考核心类与方法详解 ErrorProne是一个Java静态代码分析工具能够在编译时捕获常见的Java错误。本文将详细介绍Err静态分析代码质量开发工具wx4py API参考详解WeChatClient、chat_window、group_manager三大核心对象wx4py API参考详解WeChatClient、chat_window、group_manager三大核心对象 这是一份 wx4py 微信4.x自动化库的上一篇immortal-skill 安装与集成指南3步把数字分身接入 OpenClaw快速上手教程下一篇WelcomeCoordinator 完整入门addPage 添加页面与 4 大自定义属性详解创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考