Skip to main content

评分卡模型实现函数模块 - 轻松解决逻辑回归建模

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

致谢

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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yihuier-0.2.0-py3-none-any.whl (43.3 kB view details)

Uploaded Python 3

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

Hashes for yihuier-0.2.0.tar.gz
Algorithm Hash digest
SHA256 eb921d3475906a05856edbb5cd6baafda0641803f374899d0897a3a83be1f2f1
MD5 ae0e162e6b5161650b04fa8749515edb
BLAKE2b-256 564bcfad98006329a062d3a011882495d2aa0ab69e7f50134ee72d5e515c5581

See more details on using hashes here.

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

Hashes for yihuier-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d155eb065b10ddcdf9c4276f9016b14b0a1f537161506e1fe41967892199bf33
MD5 35b18d6d6a2d25b56a9a1f465c42b34d
BLAKE2b-256 ac258730eb623dd50886f21d243fb2bee64b789b1b3c5f90c68540399751f72a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page