Python day18

@浙大疏锦行 python day 18.

内容:

  • 昨天学习了聚类算法的一些基本内容,今天继续学习相关知识
  • 分析簇的特征和相关含义(使用可视化来进行分析,也可以使用ai)

代码:

python 复制代码
shap.initjs()
# 初始化 SHAP 解释器
explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(x1) # 这个计算耗时
shap_values.shape # 第一维是样本数,第二维是特征数,第三维是类别数

shap.summary_plot(shap_values[:, :, 0], x1, plot_type="bar",show=False)  #  这里的show=False表示不直接显示图形,这样可以继续用plt来修改元素,不然就直接输出了
plt.title("SHAP Feature Importance (Bar Plot)")
plt.show()

# 绘制簇0的分布图
import matplotlib.pyplot as plt

# 总样本中的前四个重要性的特征分布图
fig, axes = plt.subplots(2, 2, figsize=(12, 8))
axes = axes.flatten()

for i, feature in enumerate(selected_features):
    axes[i].hist(X_cluster0[feature], bins=20)
    axes[i].set_title(f'Histogram of {feature}')
    axes[i].set_xlabel(feature)
    axes[i].set_ylabel('Frequency')

plt.tight_layout()
plt.show()
# 簇2
import matplotlib.pyplot as plt

# 总样本中的前四个重要性的特征分布图
fig, axes = plt.subplots(2, 2, figsize=(12, 8))
axes = axes.flatten()

for i, feature in enumerate(selected_features):
    axes[i].hist(X_cluster2[feature], bins=20)
    axes[i].set_title(f'Histogram of {feature}')
    axes[i].set_xlabel(feature)
    axes[i].set_ylabel('Frequency')

plt.tight_layout()
plt.show()
相关推荐
F_D_Z1 小时前
Encoder-Decoder Model编码器-解码器模型
python·深度学习·机器学习
AscendKing3 小时前
快速部署一个鉴黄服务
python·深度学习·机器学习·鉴黄
大数据魔法师4 小时前
Python网络爬虫(二) - 解析静态网页
爬虫·python
合作小小程序员小小店5 小时前
web网站开发,在线%射击比赛成绩管理%系统开发demo,基于html,css,jquery,python,django,model,orm,mysql数据库
python·mysql·django·jquery·html5
秋难降5 小时前
【数据结构与算法】———链表归并排序的优势
python·算法·排序算法
阿湯哥5 小时前
SkyPilot 的产生背景
后端·python·flask
吴佳浩5 小时前
Python 环境管理工具完全指南
后端·python
麻雀无能为力5 小时前
python自学笔记8 二维和三维可视化
开发语言·笔记·python
程序员二黑6 小时前
手把手搭建自动化测试环境:10分钟搞定Python/Java双环境
java·python·测试
猿榜6 小时前
Python基础-数据结构
大数据·数据结构·python