评分卡模型实现函数模块 - 轻松解决逻辑回归建模
Project description
Yihuier
一会儿轻松解决信用评分卡建模
基于 Scorecard--Function 重构的面向对象版本。
特性
- 面向对象设计 - 统一的 Yihuier 类管理数据和状态
- 完整建模流程 - EDA → 数据处理 → 分箱 → 变量选择 → 模型评估 → 评分卡实现 → 监控
- 模块化架构 - 9个独立模块,职责清晰
- 类型提示 - 完整的类型注解,更好的IDE支持
快速开始
安装
# 使用 pip
pip install yihuier
# 或使用 uv
uv pip install yihuier
基础使用
import pandas as pd
from yihuier import Yihuier
# 加载数据
data = pd.read_csv('data.csv')
yh = Yihuier(data, target='dlq_flag')
# 数据预处理
data_clean = yh.dp_module.delete_missing_var(threshold=0.15)
# 变量分箱
bin_df, iv_value = yh.binning_module.binning_num(
col_list=['v1', 'v2', 'v3'],
max_bin=5,
method='ChiMerge'
)
# WOE转换
woe_df = yh.binning_module.woe_df_concat()
data_woe = yh.binning_module.woe_transform()
# 变量选择
xg_imp, xg_rank, xg_cols = yh.var_select_module.select_xgboost(
col_list=data_woe.drop(['dlq_flag'], axis=1).columns.tolist(),
imp_num=10
)
# 模型训练
from sklearn.linear_model import LogisticRegression
model = LogisticRegression()
model.fit(data_woe[xg_cols], data_woe['dlq_flag'])
# 模型评估
y_pred = model.predict_proba(x_test)[:, 1]
yh.me_module.plot_roc(y_test, y_pred)
yh.me_module.plot_model_ks(y_test, y_pred)
模块概览
| 模块 | 功能 | 文档 |
|---|---|---|
EDAModule |
探索性数据分析 | 📖 EDA 模块 |
DataProcessingModule |
数据预处理 | 📖 数据预处理 |
BinningModule |
变量分箱 | 📖 分箱模块 |
VarSelectModule |
变量选择 | 📖 变量选择 |
ModelEvaluationModule |
模型评估 | 📖 模型评估 |
ScorecardImplementModule |
评分卡实现 | 📖 评分卡实现 |
ScorecardMonitorModule |
评分卡监控 | 📖 评分卡监控 |
ClusterModule |
聚类分析 | 📖 聚类模块 |
PipelineModule |
流水线 | 📖 流水线模块 |
📚 完整文档
开发
# 克隆项目
git clone https://github.com/ency/yihuier.git
cd yihuier
# 安装开发依赖
uv pip install -e ".[dev]"
# 运行测试
pytest tests/ -v
# 代码格式化
ruff format yihuier/
ruff check yihuier/
许可证
MIT License
致谢
- 原项目: Scorecard--Function
- 相关文章: 知乎专栏
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
yihuier-0.2.0.tar.gz
(1.6 MB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
yihuier-0.2.0-py3-none-any.whl
(43.3 kB
view details)
File details
Details for the file yihuier-0.2.0.tar.gz.
File metadata
- Download URL: yihuier-0.2.0.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb921d3475906a05856edbb5cd6baafda0641803f374899d0897a3a83be1f2f1
|
|
| MD5 |
ae0e162e6b5161650b04fa8749515edb
|
|
| BLAKE2b-256 |
564bcfad98006329a062d3a011882495d2aa0ab69e7f50134ee72d5e515c5581
|
File details
Details for the file yihuier-0.2.0-py3-none-any.whl.
File metadata
- Download URL: yihuier-0.2.0-py3-none-any.whl
- Upload date:
- Size: 43.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d155eb065b10ddcdf9c4276f9016b14b0a1f537161506e1fe41967892199bf33
|
|
| MD5 |
35b18d6d6a2d25b56a9a1f465c42b34d
|
|
| BLAKE2b-256 |
ac258730eb623dd50886f21d243fb2bee64b789b1b3c5f90c68540399751f72a
|