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で学ぶクレジットリスクモデリング