決策樹的實際案例

決策樹作為一種直觀、易解釋的機器學習算法,在金融、醫療、電商、風控等多個領域都有廣泛的實際應用。以下將講解1個典型案例:貸款違約預測。

對于貸款違約預測,即在貸款人員在貸款之前對其進行預測,通過他的眾多特征情況判別是否可以為其辦理貸款業務及其可以辦多少額度的貸款項目。

場景背景:

銀行或金融機構在發放個人貸款時,需要評估申請人的還款能力和違約風險,避免因借款人違約導致的資金損失。傳統風控依賴人工審核,效率低且主觀性強,而決策樹可通過歷史數據自動構建風險評估模型。

核心需求:

基于申請人的基本信息(年齡、收入、職業)、信用記錄(征信逾期次數、信用卡負債)、貸款信息(貸款金額、期限)等特征,預測其未來是否會違約(二分類問題:違約 / 不違約)。

決策樹應用過程

數據收集與預處理
收集歷史貸款用戶數據,包括特征變量(如年齡、月收入、征信逾期次數、貸款金額、是否有房貸等)和目標變量(是否違約:1 = 違約,0 = 不違約)。處理缺失值(如用中位數填充收入缺失)、異常值(如剔除極端高收入樣本)。

模型構建
用決策樹算法對數據進行訓練,通過遞歸劃分特征空間:

第一層可能以 “征信逾期次數> 3 次” 為劃分節點,將高逾期用戶分到高風險分支;

低逾期分支再以 “月收入 < 5000 元” 劃分,收入較低者進入次高風險分支;

最終葉子節點輸出 “違約概率 80%” 或 “不違約概率 95%” 等結果。

實際價值

自動篩選高風險申請人,降低壞賬率;

規則可視化,便于風控人員理解和調整策略。

代碼實現:

import pandas as pd
import numpy as np
from sklearn import tree
from sklearn import metrics
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score
data = pd.read_excel('客戶數據.xlsx')
X = data.iloc[:,:-1]
y = data.iloc[:,-1]
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y ,test_size=0.2, random_state=42)
scores = []
sc = 0
dp = [5,6,7,8,9,10,11]   # min_samples_leaf min_samples_split
msl = [5,8,9,10,11,12]
mss = [7,8,9,10,11,12]
mln = [5,6,7,8,9,10,11]
for a in dp:for b in msl:for c in mss:for d in mln:dtr = tree.DecisionTreeClassifier(criterion='gini', max_depth=a,min_samples_leaf=b,min_samples_split=c,max_leaf_nodes=d,random_state=42)score = cross_val_score(dtr, X_train, y_train, cv=3, scoring='recall')score_mean = sum(score) / len(score)if score_mean > sc:sc = score_meanscore_mean = score_meanbest = [a,b,c,d]
print(best)
#             best_C = dp[np.argmax(scores)]
# print('最優深度為:{}'.format(best_C))
dtr = tree.DecisionTreeClassifier(criterion='gini', max_depth=best[0],min_samples_leaf=best[1],min_samples_split=best[2],max_leaf_nodes=best[3],random_state=42)
dtr.fit(X_train,y_train)
train_predicted = dtr.predict(X_train)
print(metrics.classification_report(y_train,train_predicted))
test_predicted = dtr.predict(X_test)
print(metrics.classification_report(y_test,test_predicted))

?上述代碼就是一個將數據帶入一個簡單的決策樹模型進行對貸款人員的信息進行篩選評判獲取可貸款人員,其中對決策樹的模型進行了參數的交叉驗證選出最優參數。

決策樹憑借直觀的規則、易解釋性和廣泛的適用性,在風控、醫療、營銷等領域成為經典的 “開箱即用” 算法。實際應用中需結合業務場景選擇合適的特征,通過剪枝、集成(如隨機森林、GBDT)等方法優化性能,充分發揮其在 “將復雜問題轉化為可執行規則” 上的優勢。

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

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

相關文章

bool 類型轉換運算符重載

以下是一個極簡且聚焦核心知識點的示例代碼&#xff0c;用最直觀的方式演示 bool 類型轉換運算符重載的觸發邏輯、使用場景和避坑點&#xff0c;幫你快速掌握&#xff1a;cpp運行#include <iostream> using namespace std;// 核心類&#xff1a;演示 bool 轉換運算符 cla…

LVGL代碼框架簡介

LVGL代碼框架介紹LVGL&#xff08;Light and Versatile Graphics Library&#xff09;是一個輕量級、功能強大的嵌入式圖形庫。其代碼架構設計清晰&#xff0c;模塊化程度高。1. 整體架構層次LVGL采用分層架構設計&#xff0c;主要包含以下幾個層次&#xff1a;┌───────…

【云計算】云主機的親和性策略(三):云主機 宿主機

《云主機的親和性策略》系列&#xff0c;共包含以下文章&#xff1a; 1?? 云主機的親和性策略&#xff08;一&#xff09;&#xff1a;快樂旅行團2?? 云主機的親和性策略&#xff08;二&#xff09;&#xff1a;集群節點組3?? 云主機的親和性策略&#xff08;三&#xf…

【世紀龍科技】虛擬技術助力職教汽車自動變速器拆裝虛擬實訓軟件

在職業院校汽車專業實訓課堂上&#xff0c;教師常面臨這樣的兩難&#xff1a;學生圍在昂貴的自動變速器實物旁&#xff0c;卻因設備數量有限只能輪流操作&#xff1b;拆裝步驟稍有偏差便可能損壞精密部件&#xff0c;維修成本讓本就緊張的教學經費雪上加霜&#xff1b;傳統教學…

[LVGL] 配置lv_conf.h | 條件編譯 | 顯示屏lv_display

鏈接&#xff1a;https://docs.lvgl.io/master/ docs&#xff1a;LVGL LVGL&#xff08;Light and Versatile Graphics Library&#xff09;是用于在資源受限的嵌入式系統上創建圖形用戶界面&#xff08;GUI&#xff09;的開源解決方案。 它提供豐富的控件和靈活的**事件系…

sqli-labs通關筆記-第32關 GET寬字符注入(單引號閉合 手工注入+腳本注入兩種方法)

目錄 一、寬字符注入 二、代碼審計 1、代碼審計 2、SQL注入安全性分析 三、滲透實戰 1、進入靶場 2、id1探測 3、id%df-- 探測 4、手工注入 &#xff08;1&#xff09;獲取列數 &#xff08;2&#xff09;獲取回顯位 &#xff08;3&#xff09;獲取數據庫名 &…

MySQL的創建管理表:

目錄 基礎知識&#xff1a; 一條數據存儲的過程&#xff1a; 標識符命名規則&#xff1a; 創建和管理數據庫&#xff1a; 創建數據庫&#xff1a; 創建數據庫&#xff1a; 創建數據庫并指定字符集&#xff1a; 判斷數據庫是否存在&#xff0c;不存在則創建數據庫&#…

Linux Vi常用指令總結

Vi&#xff08;及其改進版 Vim&#xff09;是 Linux 中常用的文本編輯器&#xff0c;雖然入門有一定門檻&#xff0c;但熟練掌握后效率極高。以下是常見指令分類整理&#xff1a;1. 模式切換 普通模式&#xff08;命令模式&#xff09;&#xff1a;啟動后的默認模式&#xff0c…

解決遠程連接云服務器mysql編號1130問題

連接云服務器mysql失敗&#xff0c;可能是因為ip發生改變&#xff0c;被mysql攔截。我自己前后做了兩件事。大家趕時間可直接從二開始&#xff0c;不放心的就從一開始到結束一、在云服務器實例中為當前ip配置安全組權限。1.找到當前服務器的實例&#xff0c;進入安全組。為其增…

大數據存儲域——HDFS存儲系統

摘要本文介紹了HDFS存儲系統&#xff0c;包括其組件、工作機制、實戰經驗總結、使用場景以及與SpringBoot的實戰示例和優化設計。HDFS由Client、NameNode、SecondaryNameNode、DataNode等組件構成&#xff0c;通過特定的工作機制實現文件的讀取和寫入。它適用于多種場景&#x…

jdk動態代理如何實現

口語化答案好的&#xff0c;面試官。jdk 的動態代理主要是依賴Proxy類 和InvocationHandler 接口。jdk 動態代理要求類必須有接口。在進行實現的時候&#xff0c;首先要定義接口&#xff0c;比如MyService&#xff0c;這個接口就是我們的正常功能的實現。但是希望在不更改MySer…

自然語言處理的相關概念與問題

目錄 一、學科的產生與發展 1、什么是自然語言&#xff1f; 2、自然語言處理技術的誕生 二、技術挑戰 三、基本方法 1、方法概述 理性主義方法 經驗主義方法 2、傳統的統計學習方法 3、深度學習方法 詞向量表示 詞向量學習 開源工具 四、應用舉例 1、漢語分詞 …

Anthropic MCP架構深度解析:下一代AI工具集成協議的設計哲學

本文深入剖析Anthropic提出的模型通信協議(MCP),揭示其如何重構AI與工具生態的交互范式,打造安全高效的智能體基礎設施。 引言:AI工具集成的"巴別塔困境" 當前AI生態面臨的核心挑戰: #mermaid-svg-lSpYBxzxD5oiYwcL {font-family:"trebuchet ms",verd…

【注意】HCIE-Datacom華為數通考試,第四季度將變題!

最近&#xff0c;數據通信圈子可熱鬧壞啦&#xff01;好幾個渠道都證實了&#xff0c;HCIE - Datacom實驗考試馬上要有大變化咯&#xff01; 這可不是啥小道消息&#xff0c;也不是那種試點的傳言&#xff0c;而是從IE內部技術交流會上得到的確切消息。 這邊聯系了華為認證的好…

MySql 硬核解析系列 一 MySQL的鎖機制

MySQL 的鎖機制是其并發控制的核心,直接影響數據庫的性能、一致性與可用性。本文將從底層原理、鎖的分類、實現機制、鎖的粒度、鎖的兼容性、死鎖處理、InnoDB 的行鎖實現、MVCC 與鎖的關系等多個維度,進行硬核、深度解析,適用于希望深入理解 MySQL 并發控制機制的開發者與 …

7.軟件工程

軟件生命周期軟件生命周期什么是軟件工程&#xff1f;以工程化的原則和方法來開發軟件&#xff0c;其目的是提高軟件生產率、提高軟件質量、降低軟件成本。軟件工程3大組成部分&#xff1a;方法、工具、過程。什么是軟件生命周期&#xff1a;經過開發、使用和維護&#xff0c;直…

C 語言結構體與 Java 類的異同點深度解析

在編程語言的發展歷程中,C 語言的結構體與 Java 的類扮演著至關重要的角色。作為面向過程編程的經典代表,C 語言的結構體為數據封裝提供了基礎形式;而 Java 作為純面向對象語言,類則是其核心語法結構。二者既存在一脈相承的設計思想,又因編程語言范式的差異呈現出顯著區別…

C++、STL面試題總結(二)

1. 必須實現拷貝構造函數的場景 核心問題&#xff1a;默認拷貝構造的缺陷 C 默認的拷貝構造函數&#xff08;淺拷貝&#xff09;&#xff0c;會直接拷貝指針 / 引用成員的地址。若類包含引用成員或指向堆內存的指針&#xff0c;淺拷貝會導致 “多個對象共享同一份資源”&…

IntelliJ IDEA2024 錯誤‘http://start.spring.io/‘的初始化失敗,請檢查URL、網絡和代理設置。

下載新版本的intellij idea2024創建項目時&#xff0c;服務器URL報錯誤http://start.spring.io/的初始化失敗&#xff0c;請檢查URL、網絡和代理設置。錯誤消息&#xff1a;Cannot download http://start.spring.io/:Permission denied:getsockopt&#xff0c;具體如下圖&#…

從零開始的云計算生活——第三十八天,避坑落井,Docker容器模塊

一.故事背景 在綜合使用了之前全部的知識完成項目之后&#xff0c;接下來將學習更簡單的方法來對之前的命令進行使用&#xff0c;馬上進入容器模塊 二. Docker概述 Docker簡介 Docker&#xff0c;翻譯過來就是碼頭工人 Docker是一個開源的應用容器引擎&#xff0c;讓開發者…