邏輯回歸在銀行貸款審批中的應用:參數選擇與實踐

目錄

一、數據背景與預處理

1.數據前五行

2.數據預處理步驟

二、邏輯回歸的正則化參數選擇

1.交叉驗證選擇最優C

2.為什么選擇召回率作為評估指標?

三、參數選擇的核心結論

四、后續優化方向


在銀行貸款審批場景中,準確判斷貸款人是否符合貸款條件(允許貸款為 0,拒絕貸款為 1)是風險控制的核心環節。本文將以銀行貸款數據為例,詳解邏輯回歸模型的參數選擇過程,幫助提升貸款審批的準確性。

一、數據背景與預處理

本次使用的銀行貸款數據包含以下關鍵字段:

  • Time:貸款人標識(同一人可能在不同銀行有記錄)
  • Amount:貸款人收入(單位:萬元)
  • V1-V28:28 個匿名特征(可能包含信用評分、負債情況等)
  • Class:貸款審批結果(0 = 允許貸款,1 = 拒絕貸款)

1.數據前五行

"Time","V1","V2","V3","V4","V5","V6","V7","V8","V9","V10","V11","V12","V13","V14","V15","V16","V17","V18","V19","V20","V21","V22","V23","V24","V25","V26","V27","V28","Amount","Class"
0,-1.3598071336738,-0.0727811733098497,2.53634673796914,1.37815522427443,-0.338320769942518,0.462387777762292,0.239598554061257,0.0986979012610507,0.363786969611213,0.0907941719789316,-0.551599533260813,-0.617800855762348,-0.991389847235408,-0.311169353699879,1.46817697209427,-0.470400525259478,0.207971241929242,0.0257905801985591,0.403992960255733,0.251412098239705,-0.018306777944153,0.277837575558899,-0.110473910188767,0.0669280749146731,0.128539358273528,-0.189114843888824,0.133558376740387,-0.0210530534538215,149.62,"0"
0,1.19185711131486,0.26615071205963,0.16648011335321,0.448154078460911,0.0600176492822243,-0.0823608088155687,-0.0788029833323113,0.0851016549148104,-0.255425128109186,-0.166974414004614,1.61272666105479,1.06523531137287,0.48909501589608,-0.143772296441519,0.635558093258208,0.463917041022171,-0.114804663102346,-0.183361270123994,-0.145783041325259,-0.0690831352230203,-0.225775248033138,-0.638671952771851,0.101288021253234,-0.339846475529127,0.167170404418143,0.125894532368176,-0.00898309914322813,0.0147241691924927,2.69,"0"
1,-1.35835406159823,-1.34016307473609,1.77320934263119,0.379779593034328,-0.503198133318193,1.80049938079263,0.791460956450422,0.247675786588991,-1.51465432260583,0.207642865216696,0.624501459424895,0.066083685268831,0.717292731410831,-0.165945922763554,2.34586494901581,-2.89008319444231,1.10996937869599,-0.121359313195888,-2.26185709530414,0.524979725224404,0.247998153469754,0.771679401917229,0.909412262347719,-0.689280956490685,-0.327641833735251,-0.139096571514147,-0.0553527940384261,-0.0597518405929204,378.66,"0"
1,-0.966271711572087,-0.185226008082898,1.79299333957872,-0.863291275036453,-0.0103088796030823,1.24720316752486,0.23760893977178,0.377435874652262,-1.38702406270197,-0.0549519224713749,-0.226487263835401,0.178228225877303,0.507756869957169,-0.28792374549456,-0.631418117709045,-1.0596472454325,-0.684092786345479,1.96577500349538,-1.2326219700892,-0.208037781160366,-0.108300452035545,0.00527359678253453,-0.190320518742841,-1.17557533186321,0.647376034602038,-0.221928844458407,0.0627228487293033,0.0614576285006353,123.5,"0"

2.數據預處理步驟

首先對數據進行標準化和特征篩選(代碼來自銀行貸款(參數選擇).py):

import numpy as np
import pandas as pd
from sklearn.preprocessing import StandardScaler# 讀取數據
data = pd.read_csv('creditcard.csv')# 標準化收入特征(消除量綱影響)
scaler = StandardScaler()
data['Amount'] = scaler.fit_transform(data[['Amount']])# 移除重復標識特征(Time為貸款人在不同銀行的記錄,對審批結果無直接影響)
data = data.drop(['Time'], axis=1)# 劃分特征與標簽
X = data.iloc[:, :-1]  # 所有特征(含V1-V28和標準化后的Amount)
y = data['Class']      # 審批結果(0/1)

預處理的核心目的是:

  1. 標準化連續特征(如收入),避免因數值范圍差異影響模型權重
  2. 剔除無關特征(如 Time),減少噪聲干擾

二、邏輯回歸的正則化參數選擇

邏輯回歸中,正則化參數C是控制模型復雜度的關鍵。C值越小,正則化強度越高,可有效防止過擬合(過度擬合訓練數據中的噪聲)。

1.交叉驗證選擇最優C

通過 8 折交叉驗證,在不同C值下評估模型的召回率(重點關注拒絕貸款的識別能力):

from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split, cross_val_score# 劃分訓練集(70%)和測試集(30%)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1000  # 固定隨機種子,保證結果可復現
)# 候選參數范圍
c_param_range = [0.01, 0.1, 1, 10, 100]
scores = []# 遍歷參數并評估
for c in c_param_range:# 初始化模型(L2正則化, solver選擇lbfgs)clf = LogisticRegression(C=c,               # 正則化參數penalty='l2',      # L2正則化(防止系數過大)solver='lbfgs',    # 優化算法max_iter=1000      # 增加迭代次數確保收斂)# 交叉驗證計算召回率(關注拒絕貸款的識別能力)recall_scores = cross_val_score(clf, X_train, y_train, cv=8, scoring='recall')mean_recall = recall_scores.mean()  # 平均召回率scores.append(mean_recall)print(f"C={c}時,平均召回率:{mean_recall:.4f}")# 選擇最優參數(召回率最高對應的C)
best_c = c_param_range[np.argmax(scores)]
print(f"\n最優懲罰因子為:{best_c}")

2.為什么選擇召回率作為評估指標?

在貸款審批中:

  • 召回率(針對 Class=1)= 正確拒絕的貸款申請 / 實際應拒絕的貸款申請
  • 高召回率可減少 "誤批" 風險(將本應拒絕的申請誤判為允許),降低銀行壞賬率

三、參數選擇的核心結論

  1. C值與模型的關系

    • 過小的C(如 0.01)會導致模型欠擬合(過度簡化,識別能力不足)
    • 過大的C(如 100)可能導致過擬合(過度關注訓練數據細節,泛化能力差)
  2. 業務導向的參數選擇
    銀行需在 "審批效率" 和 "風險控制" 間平衡:

    • 若側重風險控制(減少壞賬),應選擇召回率更高的C
    • 若側重用戶體驗(減少誤拒),可適當降低對召回率的要求

四、后續優化方向

  1. 結合采樣技術:對于不平衡數據(如拒絕貸款的樣本占比低),可采用上采樣(SMOTE)或下采樣平衡數據分布(參考銀行貸款2(下采樣).py和銀行貸款3(過采樣).py)。

  2. 閾值調整:邏輯回歸默認以 0.5 為分類閾值,可通過調整閾值進一步優化召回率(如降低閾值使模型更傾向于拒絕高風險申請)。

  3. 特征工程:深入分析 V1-V28 等匿名特征與貸款審批的關聯性,篩選更具預測力的特征。

通過科學的參數選擇和優化,邏輯回歸模型可為銀行貸款審批提供可靠的決策支持,在控制風險的同時提高審批效率。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/91716.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/91716.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/91716.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據結構前篇 - 深入解析數據結構之復雜度

目錄一、數據結構前言1.1 數據結構1.2 算法二、算法效率2.1 復雜度的概念三、時間復雜度3.1 大O的漸進表示法3.2 時間復雜度計算示例3.2.1 示例13.2.2 示例23.2.3 示例33.2.4 示例43.2.5 示例53.2.6 示例63.2.7 示例7四、空間復雜度4.1 空間復雜度計算示例4.1.1 示例14.1.2 示例…

Master Prompt:AI時代的萬能協作引擎

1. Master Prompt:為什么它正在重塑AI協作范式大模型落地的最大痛點不是技術本身,而是人機協作的斷裂。當企業采購了昂貴的AI系統,卻發現輸出內容反復偏離預期,團隊成員抱怨“AI總聽不懂我要什么”,這種場景每天在無數…

《Kubernetes部署篇:基于Kylin V10+ARM架構CPU使用containerd部署K8S 1.33.3容器板集群(一主多從)》

總結:整理不易,如果對你有幫助,可否點贊關注一下? 更多詳細內容請參考:企業級K8s集群運維實戰 一、架構圖 如下圖所示: 二、環境信息 基于x86_64+aarch64架構使用containerd部署K8S 1.33.3集群資源合集(一主多從) 2、部署規劃 主機名 K8S版本 系統版本 CPU架構 內核版…

一次性接收大量上傳圖片,后端優化方式

文章目錄1. 分塊接收與流式處理2. 異步處理3. 內存映射與臨時文件4. 數據庫優化5. 緩存策略6. 壓縮與格式優化7. 限流與并發控制8. 分布式存儲9. 響應優化10. 監控與錯誤處理11. 數據庫連接池優化1. 分塊接收與流式處理 使用流式處理避免將所有圖片加載到內存中: …

二分查找(基礎)

競賽中心 - 藍橋云課 #include <iostream> #include<bits/stdc.h> using namespace std; #define int long long int N; struct NO {int A,B; }a[10001]; bool ok(int V) {for (int i 0; i < N; i){if (a[i].A / V ! a[i].B){return false;}}return true; } …

流式編程學習思路

流式編程學習思路 作為Java初級工程師,想要掌握流式編程并向高級工程師進階,需要從基礎到進階逐步掌握,結合實戰場景深化理解。以下是為你量身定制的學習清單和思路: 一、基礎階段:吃透 Java Stream 核心API 1. 掌握 Stream 的基本概念 什么是 Stream:理解它與集合(Co…

13-14linux三劍客grep,sed,awk

目錄 三劍客支持擴展正則寫法 grep命令 sed命令 sed指定行查找&#xff1a; sed模糊過濾文件內容 sed之刪除&#xff1a; sed之替換&#xff1a; sed追加插入替換&#xff1a; sed后向引用&#xff1a; awk命令 awk按照行查找 awk模糊過濾文件內容 awk取列 awk指…

損失函數和調度器相關類代碼回顧理解 |nn.CrossEntropyLoss\CosineAnnealingLR

目錄 nn.CrossEntropyLoss CosineAnnealingLR nn.CrossEntropyLoss loss_func nn.CrossEntropyLoss(reduction"sum") 定義nn.CrossEntropyLoss交叉熵損失函數&#xff0c;reduction參數設置為"sum"&#xff0c;表示將所有樣本的損失相加。reduction 參…

中國不同類型竹林分布數據

中國竹林分布的主要特點簡介&#xff1a;總體分布格局&#xff1a;核心區域&#xff1a; 主要分布在長江流域及以南的廣大亞熱帶和熱帶地區。北界&#xff1a; 大致以黃河流域為北界&#xff0c;但天然成片竹林在秦嶺-淮河一線以南才比較普遍。人工引種或特殊小環境下&#xff…

Sqlserver備份恢復指南-完整備份恢復

博主會用簡單清晰的方式&#xff0c;帶你系統學習使用T-SQL命令行的方式 給SQL Server 做備份與恢復。我們按照從零開始、逐步深入的路線來講解&#xff01; 完整備份恢復-差異增量備份恢復-事務日志備份恢復 &#x1f538; SQL Server 備份類型&#xff1a;類型說明完整備份&a…

AI 調酒師上崗!接管酒吧吧臺

7月29日&#xff0c;馬老師的 HHB 音樂酒吧在阿里巴巴西溪園區正式開業&#xff0c;開業這天迎來了一位神秘嘉賓“AI 調酒師”&#xff01; 這位 AI 調酒師不僅能根據你的MBTI、今日情緒、星座運勢、江湖花名等為你特調一杯雞尾酒&#xff0c;還能為這杯酒配上故事和詩文。 點…

【C++進階】一文吃透靜態綁定、動態綁定與多態底層機制(含虛函數、vptr、thunk、RTTI)

【C進階】一文吃透靜態綁定、動態綁定與多態底層機制&#xff08;含虛函數、vptr、thunk、RTTI&#xff09;作者&#xff1a;你的C教練 日期&#xff1a;2025-08-01目錄 靜態綁定 vs 動態綁定非虛函數的三大坑多態的四要素虛析構函數為什么必須寫&#xff1f;探秘 vptr/vftable…

VUE基礎知識2

1.計算屬性&#xff1a;使用計算屬性來描述依賴響應式狀態的復雜邏輯。關鍵字computed:{}//計算屬性&#xff0c;使用的時候和函數方法不一樣&#xff0c;不需要加括號。簡單來說就是模板方法的復雜邏輯放到了計算屬性中去。2.計算屬性緩存VS方法&#xff1a;計算屬性值會基于其…

在PyCharm中將現有Gitee項目重新上傳為全新項目

如果你想將當前本地的Gitee項目重新上傳為一個全新的Gitee項目&#xff08;保留本地代碼但斷開與原倉庫的關聯&#xff09;&#xff0c;可以按照以下步驟操作&#xff1a; 刪除舊的Git遠程倉庫關聯 打開PyCharm&#xff0c;進入你的項目 點擊頂部菜單 Git > Manage Remotes …

設計模式1:創建型模式

設計模式1&#xff1a;創建型模式 設計模式2&#xff1a;結構型模式&#xff08;編寫中&#xff09; 設計模式3&#xff1a;行為型模式&#xff08;編寫中&#xff09; 前言 設計模式是軟件開發中經過驗證的可復用解決方案&#xff0c;它們源自實踐、提煉于經驗&#xff0c;并…

React--》規劃React組件庫編碼規范與標準 — Button篇

目前前端組件化已經成為前端開發的核心思想之一&#xff0c;在這篇文章中將深入探討如何規劃一個規范的Button組件&#xff0c;讓它不僅能高效支持不同的功能需求還能確保跨項目、跨團隊的一致性&#xff0c;拋磚引玉的方式引出后面組件庫的其他組件的開發&#xff01; 目錄 B…

中科米堆CASAIM金屬件自動3d測量外觀尺寸三維檢測解決方案

金屬零部件的外觀尺寸檢測直接關系到產品的裝配精度和使用性能。CASAIM基于激光掃描技術的自動化三維掃描系統&#xff0c;為金屬加工行業提供了高效的自動3D測量解決方案&#xff0c;有效解決了傳統檢測方式效率低、覆蓋面有限等問題。激光掃描技術在金屬件測量中優勢明顯。與…

開源數據同步中間件,支持MySQL、Oracle

DBSyncer&#xff08;英[dbs??k??(r)]&#xff0c;美[dbs??k??(r) 簡稱dbs&#xff09;是一款開源的數據同步中間件&#xff0c;提供MySQL、Oracle、SqlServer、PostgreSQL、Elasticsearch(ES)、Kafka、File、SQL等同步場景。支持上傳插件自定義同步轉換業務&#xff0…

中英混合的語音識別XPhoneBERT 監督的音頻到音素的編碼器結合 f0 特征LID

完整項目包獲取點擊文末名片完成一個 Code-Switching&#xff08;中英混合&#xff09;的語音識別系統&#xff0c;整個流程如下思路進行&#xff1a; 163. (Step 1) 訓練音頻到音素的編碼器&#xff08;Audio → Phoneme Encoder&#xff09; 你已經完成了此部分。核心思路是利…

Param關鍵字的使用

1&#xff1a;當一個方法的某一個參數個數不固定的時候&#xff0c;可以使用Param2:可變的方法參數必須定義為數組類型3&#xff1a;該參數必須放在方法參數的最后&#xff0c;應且只有一個4&#xff1a;參數必須為一維數組5&#xff1a;params不能和ref和out組合使用namespace…