当前位置: 首页 > news >正文

Day 36 官方文档的阅读

@浙大疏锦行

官方文档的检索方式:GitHub和官网

官方文档的阅读和使用:要求安装的包和文档为同一个版本

类的关注点:

a.实例化所需要的参数

b.普通方法所需要的参数

c.普通方法的返回值

绘图的理解:对底层库的调用

import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import load_iris from pdpbox.info_plots import InteractTargetPlot # 导入核心类 # ===================== 1. 全局配置 & 数据准备 ===================== # 解决中文显示问题(matplotlib引擎) plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False # 加载鸢尾花数据集并格式化 iris = load_iris() iris_df = pd.DataFrame( data=np.c_[iris.data, iris.target], columns=[ 'sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'target' ] ) # 目标变量为整数(0/1/2对应3类鸢尾花),无需额外编码 # ===================== 2. 初始化 InteractTargetPlot 类 ===================== # 核心:分析花瓣长度+花瓣宽度的交互与目标类别的关系 interact_target_plot = InteractTargetPlot( df=iris_df, # 包含特征和目标的DataFrame features=['petal_length', 'petal_width'], # 待分析的两个交互特征(列名) feature_names=['花瓣长度 (cm)', '花瓣宽度 (cm)'], # 特征显示名称(用于绘图标注) target='target', # 目标变量列名 num_grid_points=10, # 每个特征的网格点数(分箱数,默认10) grid_types='percentile', # 网格划分方式:percentile(分位数)/ equal(等距) percentile_ranges=None, # 分位数范围(None=0-100%) grid_ranges=None, # 自定义网格范围(如[[0,7],[0,3]]) cust_grid_points=None, # 自定义网格点(优先级高于num_grid_points) show_outliers=False, # 是否显示异常值 endpoints=True # 是否包含网格端点 ) # ===================== 3. 绘制交互目标图(Matplotlib引擎) ===================== # 适配多分类任务,绘制所有类别(也可指定which_classes=[0,1]仅绘前两类) fig, axes, summary_df = interact_target_plot.plot( which_classes=None, # 绘制所有类别(0/1/2) show_percentile=True, # 显示特征分位数标注 figsize=(14, 10), # 图表尺寸 dpi=300, # 分辨率(仅matplotlib生效) ncols=2, # 子图列数(多分类时自动分栏) annotate=True, # 标注每个网格点的详细信息(样本数/均值) plot_params={ # 自定义绘图样式 'cmap': 'viridis', # 配色方案 'title_fontsize': 16, 'label_fontsize': 12, 'tick_fontsize': 10 }, engine='matplotlib', # 绘图引擎:matplotlib/plotly template='plotly_white' # plotly模板(仅plotly生效) ) # 调整布局并保存/显示 plt.tight_layout() plt.savefig('iris_interact_target_matplotlib.png', bbox_inches='tight') plt.show() # ===================== 4. 扩展:Plotly引擎(交互式图表) ===================== # Plotly引擎生成可交互图表(支持缩放/悬停查看详情) fig_plotly, _, summary_df_plotly = interact_target_plot.plot( which_classes=[0, 1, 2], # 显式指定绘制所有3类 show_percentile=True, figsize=(14, 10), annotate=True, plot_params={ 'color_continuous_scale': 'RdBu_r' }, engine='plotly', # 切换为plotly交互式引擎 template='plotly_dark' # plotly深色模板 ) # 显示Plotly图表(Jupyter/浏览器中可交互) fig_plotly.show() # 保存Plotly图表为HTML fig_plotly.write_html('iris_interact_target_plotly.html') # ===================== 5. 查看统计结果 ===================== print("=== 交互特征网格统计摘要 ===") print(summary_df.head(10)) # 输出每个网格的目标变量统计(均值/样本数等) print(f"\n目标类别数:{interact_target_plot.n_classes}") # 查看推断的类别数(3) print(f"特征列名:{interact_target_plot.feature_cols}") # 查看特征列名

http://www.jsqmd.com/news/79193/

相关文章:

  • 青少年编程学习:考级与竞赛如何平衡
  • 2025 Autel MaxiVCI V150 Wireless Dongle: CAN FD/DOIP for Autel 900 Series Scanners
  • 【UI Qt】入门笔记
  • WSL安装方法
  • Ubuntu环境中LLaMA Factory 的部署与配置—构建大语言模型微调平台 - 实践
  • 2025贵阳公墓/公益公墓top5推荐!贵阳优质生态陵园榜单发布,合规保障与人文关怀兼具的安息之所推荐 - 全局中转站
  • 【题解】Luogu P2354 [NOI2014] 随机数生成器
  • 基于Django的农场管理系统
  • rsync交叉编译步骤
  • 下载UCI数据集《Secondary Mushroom》
  • 【题解】P11453 [USACO24DEC] Deforestation S
  • 03 以上版本 Excel 文件解压替换图片
  • 【题解】Luogu P13977 数列分块入门 2
  • AI核心知识50——大语言模型之Scaling Laws(简洁且通俗易懂版)
  • MySQL 深分页查询优化实践与经验总结
  • P2014 [CTSC1997] 选课
  • 彻底讲清 MySQL InnoDB 锁机制:从 Record 到 Next-Key 的全景理解
  • 超越宣传:基于数据与案例的软件人才外包服务商价值评估指南
  • MCU的启动流程你了解么?
  • 电机多目标优化与灵敏度分析:探索电机性能提升之道
  • I2C通信最全面的讲解:从协议到硬件设计
  • 打造下一个爆款!专业短剧APP全栈开发解决方案,解锁万亿级市场红利
  • 毕业论文选题AI推荐:9大工具+热门方向合集
  • 【题解】Luogu P10752 [COI 2024] Sirologija
  • PFC2D预制裂隙巴西劈裂试验模拟:探索岩石破裂奥秘
  • Python字符串:别只用来打印!这5个高级用法让代码效率翻倍
  • PSRR仿真教程:解锁电路抗噪能力的密钥
  • C51_AH3144霍尔传感器
  • C51_74HC595串口转并口
  • 【题解】Atcoder ABC432 C