决策树分裂可视化

本文深入探讨了决策树的学习过程,重点在于如何可视化展示决策树的节点分裂。通过实例,详细解释了如何利用可视化工具揭示决策树在特征选择和分割点确定上的策略,帮助读者更好地理解决策树算法的工作原理及其内在决策逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# -*- coding: utf-8 -*-
"""
Created on Mon Aug 16 10:43:40 2021

@author: 1
"""
import dtreeviz
import pandas as pd
import numpy as np
from sklearn.datasets import *
from sklearn import tree
'''
iris = load_iris()
df_iris = pd.DataFrame(iris['data'],columns = iris['feature_names'])
df_iris['target'] = iris['target']
'''
data = pd.read_csv('water_data.csv',index_col=0)
data['TN'] = data['TN'].apply(pd.to_numeric, errors='coerce')
data['TEMP'] = data['TEMP'].apply(pd.to_numeric, errors='coerce')
data['COND'] = data['COND'].apply(pd.to_numeric, errors='coerce')
data['TURB'] = data['TURB'].apply(pd.to_numeric, errors='coerce')

data_feature = data.drop(['lable'], axis=1)

feature_names=list(data)
feature_names.pop(9)
target_names=['0','1','2','3','4','5']
data['lable']=data['lable']-1



clf = tree.DecisionTreeClassifier()
clf.fit(data_feature,data['lable'])

import graphviz 
dot_data = tree.export_graphviz(clf, out_file=None, 
                     feature_names=feature_names,  
                     class_names=target_names,  
                     filled=True, rounded=True,  
                     special_characters=True)  

graph = graphviz.Source(dot_data)  
graph 

from dtreeviz.trees import dtreeviz
viz = dtreeviz(clf,
               data_feature,
               data['lable'],
               target_name='',
               feature_names=np.array(feature_names),
               class_names={0:'0',1:'1',2:'2',3:'3',4:'4',5:'5'},scale=3)


viz1 = dtreeviz(clf,
               data_feature,
               data['lable'],
               target_name='',
               feature_names=np.array(feature_names),
               class_names={0:'0',1:'1',2:'2',3:'3',4:'4',5:'5'},
               X=data_feature.loc[0]) 

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值