评分卡建模初探之特征选取与建模环节

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from cal import cal_woe_iv, feature_selection, vif_cal, replace_woe
from statsmodels.stats.outliers_influence import variance_inflation_factor
from sklearn.metrics import roc_curve, auc
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
%matplotlib inline
pd.options.display.max_rows = 200
pd.options.display.max_columns = 200

这里的cal这个文件里的函数是参考以下的文章,然后自己写的,不好看就先不贴了。
https://cloud.tencent.com/developer/article/1092198
https://www.statsmodels.org/dev/generated/statsmodels.stats.outliers_influence.variance_inflation_factor.html
https://www.jianshu.com/p/b1b1344bd99f

1.特征选取

df = pd.read_csv('../data/rough_clean_data.csv')
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 238636 entries, 0 to 238635
Data columns (total 55 columns):
emp_length                    238636 non-null object
home_ownership                238636 non-null object
annual_inc                    238636 non-null float64
verification_status           238636 non-null object
purpose                       238636 non-null object
dti                           238636 non-null float64
inq_last_6mths                238636 non-null float64
open_acc                      238636 non-null float64
revol_bal                     238636 non-null float64
revol_util                    238636 non-null float64
total_acc                     238636 non-null float64
tot_cur_bal                   238636 non-null float64
open_acc_6m                   238636 non-null float64
open_act_il                   238636 non-null float64
open_il_12m                   238636 non-null float64
open_il_24m                   238636 non-null float64
mths_since_rcnt_il            238636 non-null float64
total_bal_il                  238636 non-null float64
il_util                       238636 non-null float64
open_rv_12m                   238636 non-null float64
open_rv_24m                   238636 non-null float64
max_bal_bc                    238636 non-null float64
all_util                      238636 non-null float64
total_rev_hi_lim              238636 non-null float64
inq_fi                        238636 non-null float64
total_cu_tl                   238636 non-null float64
inq_last_12m                  238636 non-null float64
acc_open_past_24mths          238636 non-null float64
avg_cur_bal                   238636 non-null float64
bc_open_to_buy                238636 non-null float64
bc_util                       238636 non-null float64
mo_sin_old_il_acct            238636 non-null float64
mo_sin_old_rev_tl_op          238636 non-null float64
mo_sin_rcnt_rev_tl_op         238636 non-null float64
mo_sin_rcnt_tl                238636 non-null float64
mort_acc                      238636 non-null float64
mths_since_recent_bc          238636 non-null float64
mths_since_recent_inq         238636 non-null float64
num_actv_bc_tl                238636 non-null float64
num_actv_rev_tl               238636 non-null float64
num_bc_sats                   238636 non-null float64
num_bc_tl                     238636 non-null float64
num_il_tl                     238636 non-null float64
num_op_rev_tl                 238636 non-null float64
num_rev_accts                 238636 non-null float64
num_rev_tl_bal_gt_0           238636 non-null float64
num_sats                      238636 non-null float64
num_tl_op_past_12m            238636 non-null float64
pct_tl_nvr_dlq                238636 non-null float64
percent_bc_gt_75              238636 non-null float64
tot_hi_cred_lim               238636 non-null float64
total_bal_ex_mort             238636 non-null float64
total_bc_limit                238636 non-null float64
total_il_high_credit_limit    238636 non-null float64
class                         238636 non-null int64
dtypes: float64(50), int64(1), object(4)
memory usage: 100.1+ MB

可以看到经过前一篇数据处理之后,变量数量从145个

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 评分在金融领域中广泛应用于信用评估、风险评估和决策支持等方面。而在建立评分模型时,MATLAB是一款强大的工具,可以帮助我们进行数据的处理和模型的建立。 首先,评分建模的第一步是准备数据。MATLAB可以方便地导入和处理大量的数据。我们可以利用MATLAB的数据处理函数对数据进行清洗、筛选和补充。同时,MATLAB还提供了强大的可视化工具,可以帮助我们理解和分析数据的特征。 接下来,我们可以利用MATLAB进行特征工程。特征工程是评分建模中非常重要的一步,它可以提取和构建与目标变量相关的特征。MATLAB提供了丰富的函数和工具,可以帮助我们进行特征的选择、转化和组合。这些函数包括特征选择算法、主成分分析、多项式特征和正则化等。 然后,我们可以使用MATLAB建立评分模型。MATLAB提供了多种机器学习和统计模型的函数和工具。可以根据实际情况选择逻辑回归、支持向量机、决策树等算法进行建模。MATLAB还提供了模型评估和参数优化的函数,可以对模型进行评估和调整,以提高模型的准确性和稳定性。 最后,MATLAB还可以帮助我们进行模型的部署和应用。可以将建立好的评分模型整合到实际应用中,进行信用评估、风险评估等工作。MATLAB提供了与其他编程语言和软件的接口,可以方便地与其他系统进行数据交互和模型部署。 综上所述,使用MATLAB进行评分建模可以帮助我们高效地进行数据处理、特征工程、模型建立和模型应用。MATLAB提供了丰富的函数和工具,可以满足评分建模的需求,并帮助我们取得准确和可靠的建模结果。 ### 回答2: MATLAB评分建模是一种使用MATLAB软件进行建模评分的技术。评分建模是一种常见的信用评估方法,用于预测个人或企业的信用等级。 在MATLAB中,可以使用数据分析和建模工具箱来创建评分模型。评分模型的核心是根据历史数据和目标变量(如违约行为)构建信用评分模型,然后将模型应用于新的样本数据来预测信用等级。 评分建模的一般步骤包括: 1. 数据准备:收集相关数据,并进行数据清洗和预处理,如缺失值处理、异常值处理等。 2. 特征工程:根据业务知识和统计分析方法,选择合适的特征,并进行特征变换、选择和构建,以提高模型的预测能力。 3. 建模:选择合适的建模算法,如逻辑回归、决策树等,在训练集上拟合模型,得到模型参数。 4. 模型评估:使用验证集或交叉验证等方法评估模型的性能,并调整模型参数以提高模型效果。 5. 模型应用:使用优化的评分模型对新的数据进行评分,预测信用等级或违约风险。 MATLAB提供了丰富的数据分析和建模工具,如统计学方法、机器学习算法等,可以有效地支持评分建模的各个环节。此外,MATLAB还具有灵活的可视化和报告功能,可以帮助用户更好地理解和解释评分模型的结果。 总之,MATLAB评分建模是一种使用MATLAB软件进行建模评分的技术,可以帮助用户预测个人或企业的信用等级并评估违约风险。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值