Python 信用风险建模
Michael Crabtree
Data Scientist, Ford Motor Company
loan_status 违约概率的简单决策树| Loan | True loan status | Pred. Loan Status | Loan payoff value | Selling Value | Gain/Loss |
|---|---|---|---|---|---|
| 1 | 0 | 1 | $1,500 | $250 | -$1,250 |
| 2 | 0 | 1 | $1,200 | $250 | -$950 |
xgboost Python 包,此处简称 xgb.fit() 训练# 创建逻辑回归模型
clf_logistic = LogisticRegression()
# 训练逻辑回归
clf_logistic.fit(X_train, np.ravel(y_train))
# 创建梯度提升树模型
clf_gbt = xgb.XGBClassifier()
# 训练梯度提升树
clf_gbt.fit(X_train,np.ravel(y_train))
.predict() 和 .predict_proba() 预测.predict_proba() 输出 0 到 1 之间的值.predict() 为 loan_status 输出 1 或 0# 预测违约概率
gbt_preds_prob = clf_gbt.predict_proba(X_test)
# 将 loan_status 预测为 1 或 0
gbt_preds = clf_gbt.predict(X_test)
# gbt_preds_prob
array([[0.059, 0.940], [0.121, 0.989]])
# gbt_preds
array([1, 1, 0...])
learning_rate:更小使每步更保守max_depth:限制每棵树的深度,越大越复杂xgb.XGBClassifier(learning_rate = 0.2,
max_depth = 4)
Python 信用风险建模