日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

贷款违约预测--赛题理解

發布時間:2025/4/5 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 贷款违约预测--赛题理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 比賽連接https://tianchi.aliyun.com/competition/entrance/531830/introduction
  • 賽題理解:
    • 賽題以金融風控中的個人信貸為背景,根據貸款申請人的數據信息來預測其是否有違約的可能,以此判斷是否貸款,這是典型的二分類問題。
  • 賽題數據:
    • 貸款數據記錄介紹
      • id 為貸款清單分配的唯一信用證標識
      • loanAmnt 貸款金額
      • term 貸款期限(year)
      • interestRate 貸款利率
      • installment 分期付款金額
      • grade 貸款等級
      • subGrade 貸款等級之子級
      • employmentTitle 就業職稱
      • employmentLength 就業年限(年)
      • homeOwnership 借款人在登記時提供的房屋所有權狀況
      • annualIncome 年收入
      • verificationStatus 驗證狀態
      • issueDate 貸款發放的月份
      • purpose 借款人在貸款申請時的貸款用途類別
      • postCode 借款人在貸款申請中提供的郵政編碼的前3位數字
      • regionCode 地區編碼
      • dti 債務收入比
      • delinquency_2years 借款人過去2年信用檔案中逾期30天以上的違約事件數
      • ficoRangeLow 借款人在貸款發放時的fico所屬的下限范圍
      • ficoRangeHigh 借款人在貸款發放時的fico所屬的上限范圍
      • openAcc 借款人信用檔案中未結信用額度的數量
      • pubRec 貶損公共記錄的數量
      • pubRecBankruptcies 公開記錄清除的數量
      • revolBal 信貸周轉余額合計
      • revolUtil 循環額度利用率,或借款人使用的相對于所有可用循環信貸的信貸金額
      • totalAcc 借款人信用檔案中當前的信用額度總數
      • initialListStatus 貸款的初始列表狀態
      • applicationType 表明貸款是個人申請還是與兩個共同借款人的聯合申請
      • earliesCreditLine 借款人最早報告的信用額度開立的月份
      • title 借款人提供的貸款名稱
      • policyCode 公開可用的策略代碼=1新產品不公開可用的策略代碼=2
        n系列匿名特征 匿名特征n0-n14,為一些貸款人行為計數特征的處理
import pandas as pd train = pd.read_csv(r'./train.csv') test = pd.read_csv(r'./testA.csv') train.head()


數據中有字母和數值,也連續型變量和離散型變量,數據中存在許多缺失值

  • 評分體系

    • 比賽采用AUC作為評價指標。AUC(Area Under Curve)被定義為 ROC曲線 下與坐標軸圍成的面積。
  • 分類算法常用評價指標

    1、混淆矩陣(Confuse Matrix)

    (1)若一個實例是正類,并且被預測為正類,即為真正類TP(True Positive )(2)若一個實例是正類,但是被預測為負類,即為假負類FN(False Negative )(3)若一個實例是負類,但是被預測為正類,即為假正類FP(False Positive )(4)若一個實例是負類,并且被預測為負類,即為真負類TN(True Negative )

    2、準確率(Accuracy) 準確率是常用的一個評價指標,但是不適合樣本不均衡的情況。
    Accuracy=TP+TNTP+TN+FP+FN{Accuracy=} \frac{TP+TN}{TP+TN+FP+FN} \quadAccuracy=TP+TN+FP+FNTP+TN?
    3、精確率(Precision) 又稱查準率,正確預測為正樣本(TP)占預測為正樣本(TP+FP)的百分比。
    Precision=TPTP+FP{Precision=} \frac{TP}{TP+FP} \quadPrecision=TP+FPTP?
    4、召回率(Recall) 又稱為查全率,正確預測為正樣本(TP)占正樣本(TP+FN)的百分比。
    Recall=TPTP+FN{Recall=} \frac{TP}{TP+FN} \quadRecall=TP+FNTP?
    5、F1 Score 精確率和召回率是相互影響的,精確率升高則召回率下降,召回率升高則精確率下降,如果需要兼顧二者,就需要精確率、召回率的結合F1 Score。
    F1?Score=21precision+1recall{F1-Score=} \frac{2}{\frac{1}{precision} \quad+\frac{1}{recall} \quad} \quadF1?Score=precision1?+recall1?2?
    6、P-R曲線(Precision-Recall Curve) P-R曲線是描述精確率和召回率變化的曲線

    • P-R 曲線是描述精確率和召回率變化的曲線

    7、ROC(Receiver Operating Characteristic)

    • ROC空間將假正例率(FPR)定義為 X 軸,真正例率(TPR)定義為 Y 軸。
    • TPR:在所有實際為正例的樣本中,被正確地判斷為正例之比率。
      TPR=TPTP+FN{TPR=} \frac{TP}{TP+FN} \quadTPR=TP+FNTP?
    • FPR:在所有實際為負例的樣本中,被錯誤地判斷為正例之比率。
      FPR=FPFP+TN{FPR=} \frac{FP}{FP+TN} \quadFPR=FP+TNFP?

    8、AUC(Area Under Curve) AUC(Area Under Curve)被定義為 ROC曲線 下與坐標軸圍成的面積,顯然這個面積的數值不會大于1。又由于ROC曲線一般都處于y=x這條直線的上方,所以AUC的取值范圍在0.5和1之間。AUC越接近1.0,檢測方法真實性越高;等于0.5時,則真實性最低,無應用價值。

金融風控常用評價指標

  • KS(Kolmogorov-Smirnov) KS統計量由兩位蘇聯數學家A.N. Kolmogorov和N.V. Smirnov提出。在風控中,KS常用于評估模型區分度。區分度越大,說明模型的風險排序能力(ranking ability)越強。
    KS=max(TPR?FPR){KS=}{max(TPR - FPR)}KS=max(TPR?FPR)
## 混淆矩陣 import numpy as np from sklearn.metrics import confusion_matrix y_pred = [0, 1, 0, 1] y_true = [0, 1, 1, 0] print('混淆矩陣:\n',confusion_matrix(y_true, y_pred)) ## accuracy from sklearn.metrics import accuracy_score y_pred = [0, 1, 0, 1] y_true = [0, 1, 1, 0] print('ACC:',accuracy_score(y_true, y_pred)) ## Precision,Recall,F1-score from sklearn import metrics y_pred = [0, 1, 0, 1] y_true = [0, 1, 1, 0] print('Precision',metrics.precision_score(y_true, y_pred)) print('Recall',metrics.recall_score(y_true, y_pred)) print('F1-score:',metrics.f1_score(y_true, y_pred)) ## P-R曲線 import matplotlib.pyplot as plt from sklearn.metrics import precision_recall_curve y_pred = [0, 1, 1, 0, 1, 1, 0, 1, 1, 1] y_true = [0, 1, 1, 0, 1, 0, 1, 1, 0, 1] precision, recall, thresholds = precision_recall_curve(y_true, y_pred) plt.plot(precision, recall) ## ROC曲線 from sklearn.metrics import roc_curve y_pred = [0, 1, 1, 0, 1, 1, 0, 1, 1, 1] y_true = [0, 1, 1, 0, 0, 0, 1, 1, 0, 1] FPR,TPR,thresholds=roc_curve(y_true, y_pred) plt.title('ROC') plt.plot(FPR, TPR,'b') plt.plot([0,1],[0,1],'r--') plt.ylabel('TPR') plt.xlabel('FPR') ## AUC import numpy as np from sklearn.metrics import roc_auc_score y_true = np.array([0, 0, 1, 1]) y_scores = np.array([0.1, 0.4, 0.35, 0.8]) print('AUC socre:',roc_auc_score(y_true, y_scores)) ## KS值 from sklearn.metrics import roc_curve y_pred = [0, 1, 1, 0, 1, 0, 1, 1, 1, 1] y_true = [0, 1, 1, 0, 1, 1, 0, 1, 1, 1] FPR,TPR,thresholds=roc_curve(y_true, y_pred) KS=abs(FPR-TPR).max() print('KS值:',KS) 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的贷款违约预测--赛题理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。