[LinearRegression]线性回归:评分卡模型-信用卡评分

评分卡模型经常用在描述程度的业务场景中,比如信用风险大小、购买意愿强烈等。本次案例用简单的线性回归模型来实现评分卡模型,还输出了具体的多元回归方程哟。

(数据集已上传kaggle,链接放评论啦~)

导入数据

df = pd.read_excel('/kaggle/input/credit-card/credit_card.xlsx')
df.head()

数据集有5个特征变量,包含了用户画像、授信额度和违约次数等信息,信用评分是目标变量;


 训练模型

X = df.drop(columns='信用评分')
Y = df['信用评分']
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X, Y)

用到的是线性回归模型LinearRegression();


查看多元线性回归方程

print('系数:' + str(model.coef_))
print('截距:' + str(model.intercept_))

代码讲解:

model在前面有赋值,model = LinearRegression(),代表的是多元线性回归;

coef_表示多元回归方程的系数,intercept_表示截距;

方程为 y=67.16+0.000558X1+0.162X2+0.218X3+0.00007X4-1.51X5;


 模型评估

import statsmodels.api as sm
X2 = sm.add_constant(X)
est = sm.OLS(Y, X2).fit()
print(est.summary())

代码讲解:

加载statsmodels 库;

add_constant,添加一个常量项,作为拟合线性模型时的截距项;

OLS()是指Ordinary Least Square,普通最小二乘法;

fit()方法对该 OLS 模型进行拟合,得到该模型的各项统计指标、参数值等信息;

性别的P值0.466,说明特征变量与目标变量没有显著相关性;


预测

# 测信用评分
predict_list = [[17783,29,0,32274,3]]
model_pre = model.predict(predict_list)
model_pre

 代入一组数,进行评分:在月薪1w多,29岁,女性,信用额度3w多,逾期3次的评分结果为79分。

猜你喜欢

转载自blog.csdn.net/Sukey666666/article/details/129573658