Skip to content

更新日志

本文档记录 Yihuier 的所有重要变更。

格式基于 Keep a Changelog, 版本号遵循 Semantic Versioning

[Unreleased]

计划中

  • 添加更多分箱方法(决策树分箱、K-Means 分箱)
  • 支持分布式计算(Dask、Ray)
  • 添加自动化特征工程
  • 支持 GPU 加速

已知问题

  • ChiMerge 分箱在极端分布下可能失败
  • 大数据集(>100万样本)内存占用较高

[0.1.0] - 2024-01-22

Added

  • ✨ 初始版本发布
  • ✨ 完整的评分卡建模流程支持
  • ✨ 9 个功能模块
    • EDA 模块
    • 数据预处理模块
    • 分箱模块
    • 变量选择模块
    • 模型评估模块
    • 评分卡实现模块
    • 评分卡监控模块
    • 聚类模块
    • 流水线模块

Features

数据预处理

  • 缺失值处理(数值型和类别型)
  • 常变量删除
  • 目标变量缺失删除
  • 高缺失率变量删除

变量分箱

  • ChiMerge 卡方分箱
  • 等频分箱
  • 等距分箱
  • 单调性分箱
  • 类别型变量分箱
  • WOE 转换
  • IV 值计算

变量选择

  • XGBoost 特征重要性
  • 随机森林特征重要性
  • IV 筛选
  • 相关性分析(IV 优先/重要性优先)

模型评估

  • ROC 曲线
  • KS 曲线
  • 学习曲线
  • 交叉验证
  • 混淆矩阵
  • 分类报告

评分卡实现

  • 刻度参数计算(A, B, base_score)
  • 变量得分表生成
  • 分数转换
  • Cutoff 验证
  • PR 曲线
  • 提升图
  • 洛伦兹曲线

评分卡监控

  • PSI 计算
  • 分数分布对比
  • 变量稳定性分析
  • 变量偏移检测

聚类分析

  • K-Means 聚类
  • DBSCAN 聚类
  • 层次聚类
  • 聚类可视化

Documentation

  • 📖 完整的 API 文档
  • 📖 项目简介
  • 📖 快速开始指南
  • 📖 核心概念文档
    • WOE 和 IV 介绍
    • 评分卡基础
    • 模型评估指标
  • 📖 示例集合
    • 基础用法示例
    • 高级流程示例
  • 📖 最佳实践指南
  • 📖 模块详细文档(9 个模块)
  • 📖 系统架构文档
  • 📖 贡献指南

Testing

  • ✅ 61 个单元测试
  • ✅ 测试覆盖率约 30%(核心模块 100%)
  • ✅ 集成测试
  • ✅ 测试数据 fixture

Code Quality

  • 🎨 完整的类型提示(Python 3.13+)
  • 🎨 代码格式化(ruff)
  • 🎨 代码质量检查(41 个问题全部修复)
  • 🎨 常量定义文件

Examples

  • 📚 basic_usage.py - 基础用法示例
  • 📚 advanced_pipeline.py - 完整建模流程示例

Development

  • 🔧 pyproject.toml 配置
  • 🔧 ruff 配置
  • 🔧 pytest 配置
  • 🔧 .gitignore 配置

版本说明

语义化版本

Yihuier 遵循语义化版本规范:MAJOR.MINOR.PATCH

  • MAJOR:不兼容的 API 变更
  • MINOR:向后兼容的功能新增
  • PATCH:向后兼容的 Bug 修复

更新类型

  • Added:新增功能
  • Changed:功能变更
  • Deprecated:即将废弃的功能
  • Removed:已删除的功能
  • Fixed:Bug 修复
  • Security:安全相关修复

贡献指南

如果您想为 Yihuier 做贡献,请查看:

引用

如果 Yihuier 对您的研究或工作有帮助,请引用:

bibtex
@software{yihuier2024,
  title = {Yihuier: A Python Package for Credit Scoring Card Modeling},
  author = {Justin Gao},
  year = {2024},
  url = {https://github.com/encyc/yihuier}
}

许可证

本项目采用 MIT 许可证发布。


最后更新:2024-01-22

基于 MIT 许可证发布