Toad:基于 Python 的标准化评分卡模型
大家好,我是东哥。
在信贷风控领域,评分卡模型是最为常见和经典的工具。评分卡通过为信贷客户分配分数,依据不同的源码伪装业务场景(贷前、贷中、贷后和反欺诈)进行评估,最终通过设置阈值给出评估结果。与XGB等机器学习模型相比,评分卡通常采用逻辑回归,因为它具有很强的特征解释性,属于广义线性回归模型。
今天要介绍的占星公式源码是一个开源评分卡工具——toad,它提供了一条龙服务,包括数据探索、特征分箱、筛选、WOE转换、建模、评估、分数转换等过程,极大地简化了建模人员的工作。toad的基本操作可以通过pip安装完成。
首先,使用read_csv读取数据,了解数据概览。套壳源码在测试数据中,有万条记录,包含个特征。数据的时间跨度为年5月至7月,我们将使用3月和4月的数据作为训练样本,5月、6月、7月的数据作为跨期样本(OOT)进行验证。
接下来,通过toad的EDA功能进行数据探索分析,包括统计性特征、缺失值、unique values等信息。天气程序源码在进行变量筛选时,可以使用toad的quality功能计算各种指标,如iv值、gini指数、熵等,结果按照iv值排序。对于数据量大或高维度数据,建议使用iv_only=True。同时,要删除主键、日期等高unique values且不用于建模的特征。
在完成初步筛选后,通过toad.selection.select函数进一步筛选变量,绿洲星球源码根据阈值设置进行特征选择,最终保留个变量,并得到筛选后的数据集和被删除的变量列表。
接下来是分箱过程,toad提供了多种分箱方法,包括等频分箱、等距分箱、卡方分箱、决策树分箱和最优分箱等。分箱结果对于WOE转换至关重要,toad支持数值型和离散型数据的分箱,并能单独处理空值。
在完成分箱后,进行WOE转换,将数据转换为更容易解释的分数形式。通过观察分箱结果并进行调整,确保WOE转换后的分数具有良好的单调性。
随后,应用逐步回归方法筛选特征,支持向前、向后和双向筛选。逐步回归通过使用sklearn的REF实现,通常情况下direction='both'效果最好。参数设置如正则化、样本权重等不在详细介绍范围内。
完成建模后,使用逻辑回归对数据进行拟合,并计算预测结果。风控模型常用评价指标包括KS、AUC、PSI等。toad提供了快速实现这些评价指标的方法。
评分卡转换是最后一步,将逻辑回归模型转换为标准评分卡,支持传入逻辑回归参数进行调整。
toad还支持GBDT编码,作为GBDT与LR建模的前置,以提高模型学习效果。
总结而言,toad提供了一套便捷的评分卡建模流程,大大简化了建模工作。在实际应用中,可以参考源码进行优化或扩展功能。
水波图实现原理
本文主要探讨了如何利用Canvas实现水波图的原理。首先,水波图通常采用正弦或余弦曲线来表示,但这里以正弦曲线为例。正弦曲线的基本参数包括振幅(A)、周期(2π/B)、相移(-C/B)和垂直位移(D)。在实现过程中,关键在于通过改变相移来模拟波浪的移动,同时调整曲线的高度、宽度和移动速度以产生起伏效果。
实现步骤如下:首先,设定Canvas的尺寸;然后,根据给定参数计算每个点的y坐标,公式为y = 波浪高度 * sin(x * 波浪宽度 + 水平位移);接着,通过不断改变水平偏移xOffset,使曲线动态移动;为了模拟球体效果,可以使用Canvas的clip()方法限制绘制区域;最后,通过调整水位,即曲线的垂直位移,来对应数据的百分比,并添加颜色和额外的曲线来增强波浪的视觉效果。
源代码可以在github.com/beyondxgb/wa...找到,如果你希望尝试其他形状的容器效果,可以通过修改裁切区域来实现。总的来说,通过灵活运用正弦曲线的参数和Canvas的绘图功能,可以创造出各种动态的水波图效果。
2024-12-24 01:02
2024-12-24 00:26
2024-12-24 00:22
2024-12-23 22:40
2024-12-23 22:38