解决方案:用决策树算法如何生成决策树图及生成SQL规则

文章目录


一、现象

一开始没有做过生成决策树图及生成SQL规则,一时犯了难,百度很多找到了解决方法,于是乎,写一篇博客,这样下次就能直接拿来使用咯

二、解决方案

见最后三块代码,为了区分做个标记(#********************,以下)

python 复制代码
import numpy as np
import pandas as pd
df = pd.read_csv("data.csv")


# 构建特征和标签集
y = df.Exited.values
X = df.drop(['flag'], axis = 1)


from sklearn.model_selection import train_test_split  # 拆分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X,y,test_size = 0.2,random_state=0)


# 进行特征缩放
from sklearn import preprocessing
scaler = preprocessing.MinMaxScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)


from sklearn.metrics import (f1_score, confusion_matrix) # 导入评估指标
from sklearn.tree import DecisionTreeClassifier # 导入模型
dt = DecisionTreeClassifier() # 分类决策树
dt.fit(X_train, y_train) # 拟合模型
y_pred = dt.predict(X_test) # 预测结果
dt_acc = dt.score(X_test,y_test)*100 # 准确率
dt_f1 = f1_score(y_test, y_pred)*100 # F1分数
print("决策树测试集准确率:: {:.2f}%".format(dt_acc))
print("决策树测试集F1分数: {:.2f}%".format(dt_f1))
print('决策树混淆矩阵:\n', confusion_matrix(y_test,y_pred))


#********************
df_copy = df.drop(columns = ['user_id', 'flag'])
col_tree = df_copy.columns[:]
class_flag = ['no', 'yes']


from sklearn.tree import plot_tree
plt.figure(figsize=(32, 20), dpi=300)
dot_data = plot_tree(dt, feature_names = col_tree, class_names = class_flag, filled = True, rounded = True)
plt.savefig('dt_pic.pdf', format = 'pdf', bbox_inches = 'tight')


from sklearn.tree import export_text
text_sql = export_text(dt, feature_names = list(col_tree))
print(text_sql)

代码部分参考(为了做个完整案例):
机器学习_常见算法比较模型效果(LR、KNN、SVM、NB、DT、RF、XGB、LGB、CAT)

解决方案:网上各种资料尝试一番

相关推荐
Georgeviewer2 小时前
商业落地评测|实体门店GEO优化性价比与服务体系深度复盘
大数据·人工智能
GuWenyue3 小时前
分不清AI Workflow与Agent?3个实战案例彻底讲透,做AI应用不再踩选型坑
人工智能
彩讯股份3006344 小时前
彩讯股份与心洲科技签署战略合作协议,共建企业级模型后训练能力
人工智能·科技
迅易科技4 小时前
从场景验证到Agent上线:迅易 × WorkBuddy如何帮助企业建设AI能力?
人工智能·ai·腾讯云
PNP Robotics4 小时前
多伦多大学机器人峰会|物理AI与具身智能落地新趋势
人工智能·深度学习·机器学习·机器人
GIR1234 小时前
官方出品 | 多通道土壤呼吸测量系统市场现状与十五五规划深度报告:行业分析+趋势预测全收录
大数据·人工智能·机器学习
绿算技术4 小时前
绿算技术亮相第十八届HPC AI中国年会,擘画AI基础设施全栈协同新图景
人工智能
Litluecat5 小时前
2026年7月22日科技热点新闻
人工智能·科技·新闻·每日·速览
To_OC5 小时前
别再傻傻分不清:Workflow 和 Agent 到底不是一回事
人工智能·agent·workflow
触底反弹5 小时前
🔥 2026 大模型选择指南:别再只看 Benchmark 了,这些维度才是关键!
人工智能·面试