決策樹算法學習總結

一、經典決策樹算法原理
(一)ID3 算法
核心思想:以 “信息增益” 作為劃分屬性的選擇標準,通過最大化信息增益來提升數據集的 “純度”。
關鍵概念 —— 信息增益:指某個屬性帶來的 “熵減”(即純度提升量)。具體來說,當用屬性 a 對數據集 D 進行劃分后,數據集的整體熵值會降低,降低的數值就是屬性 a 的信息增益。信息增益越大,說明使用該屬性劃分后,數據集的類別分布越集中(純度越高),因此更適合作為當前節點的劃分屬性。
局限性:信息增益準則對 “可取值數目較多的屬性” 存在天然偏好。例如,若數據集中存在 “編號” 這類屬性(每個樣本的編號唯一),用編號劃分時每個子集都只包含單個樣本,信息增益會非常大,但這種劃分對分類任務毫無意義,因為它完全過擬合了訓練數據,無法推廣到新樣本。
(二)C4.5 算法
改進目標:解決 ID3 算法對取值多的屬性偏好問題,通過引入 “信息增益率” 實現更合理的屬性選擇。
核心指標 —— 信息增益率:計算公式為 “信息增益 ÷ 屬性自身的熵”。其中,屬性自身的熵反映了該屬性取值的分散程度:取值越多且分布越均勻,自身熵越大。通過除以自身熵,信息增益率可以平衡屬性取值數量對結果的影響,避免優先選擇取值過多的屬性。例如,對于 “編號” 這類屬性,雖然信息增益大,但自身熵也極大,因此信息增益率會降低,從而避免被誤選為最優劃分屬性。
(三)CART 算法
核心指標 —— 基尼指數:用于衡量數據集的純度,其物理意義是 “從數據集 D 中隨機抽取兩個樣本,它們的類別標記不一致的概率”。

?
是數據集 D 中第 k 類樣本的占比。當某個類別在數據集中占比極高(
P?k
接近 1)時,基尼指數會很小,說明數據集純度很高;反之,若各類別占比接近,基尼指數會增大,純度降低。
特點:CART 樹是 “二叉樹”,每次劃分都將數據集分為兩個子集,因此無論是離散屬性還是連續屬性,都采用二分法處理,這與 ID3、C4.5 的多叉劃分不同。
二、連續值屬性的處理方法
在實際數據中,很多屬性是連續值(如收入、年齡等),無法直接像離散屬性那樣按取值劃分,需要通過 “離散化” 轉化為離散屬性,具體步驟如下:

排序:將連續屬性的所有取值按從小到大的順序排列。例如,某數據集中 “應稅收入(Taxable Income)” 的取值為 60K、70K、75K、85K、90K、95K、100K、120K、125K、220K,排序后保持原順序。
確定候選分界點:采用 “二分法” 時,候選分界點為相鄰兩個取值的中間值。對于有 n 個不同取值的連續屬性,候選分界點有 n-1 個。例如上述收入數據有 10 個取值,因此有 9 個候選分界點(如 65K、72.5K 等)。
選擇最優分界點:使用 “貪婪算法”,分別計算每個候選分界點對應的信息增益(或基尼指數),選擇能使劃分后純度提升最大的分界點作為最終分割點。例如,可將收入分割為 “TaxIn≤80K” 和 “TaxIn>80K”,或 “TaxIn≤97.5K” 和 “TaxIn>97.5K”,具體取決于哪種劃分的指標更優。
三、決策樹剪枝策略(解決過擬合問題)
(一)剪枝的必要性
決策樹具有很強的擬合能力,理論上可以通過不斷劃分,將訓練集中的每個樣本都分到單獨的葉子節點,實現 “零錯誤率”。但這種過度復雜的樹會 “記住” 訓練數據中的噪聲和細節,導致在新數據(測試集)上表現很差,即發生 “過擬合”。剪枝的目的就是通過簡化樹的結構,降低過擬合風險,提高模型的泛化能力。
(二)預剪枝
操作時機:在決策樹構建過程中同步進行剪枝,即邊建邊剪。
核心邏輯:通過設置 “停止條件”,提前終止某些分支的生長。例如:
限制樹的最大深度:當樹的深度達到預設閾值時,不再繼續劃分。
限制葉子節點的最小樣本數:若當前節點的樣本數小于閾值,即使信息增益仍為正,也停止劃分,將當前節點設為葉子節點。
限制信息增益閾值:若某屬性的信息增益小于預設閾值,不采用該屬性劃分,直接將當前節點設為葉子節點。
優點:計算效率高,能避免構建不必要的復雜分支;實用性強,在實際工程中應用廣泛。
(三)后剪枝
操作時機:先完整構建決策樹,再從葉子節點向上逐層剪枝。
核心邏輯:通過 “損失函數” 衡量剪枝前后的模型性能,保留性能更優的結構。損失函數公式為:最終損失 = 葉子節點的基尼系數(或熵)之和 + α× 葉子節點數量。其中:
第一項 “葉子節點的基尼系數之和” 反映模型對訓練數據的擬合程度,值越小擬合越好。
第二項 “α× 葉子節點數量” 是正則化項,α 為超參數,控制對樹復雜度的懲罰力度。α 越大,懲罰越強,越傾向于選擇簡單的樹(葉子節點少);α 越小,懲罰越弱,更注重擬合效果。
剪枝決策:對每個非葉子節點,計算 “剪枝后將其變為葉子節點” 的損失,與 “保留原分支” 的損失對比,若剪枝后損失更小,則進行剪枝。
實例效果:在 “好瓜 / 壞瓜” 分類案例中,原分支 “色澤 =?” 剪枝前驗證集精度為 57.1%,剪枝后提升至 71.4%;分支 “紋理 =?” 剪枝前精度 42.9%,剪枝后提升至 57.1%,均通過后剪枝顯著提升了泛化能力。
四、決策樹代碼實現關鍵參數(以 sklearn 為例)
在 Python 的 scikit-learn 庫中,使用DecisionTreeClassifier()類創建決策樹分類模型,以下是核心參數的詳細說明:

criterion:指定劃分屬性的評價指標,可選值為 “gini”(基尼指數)或 “entropy”(信息熵)。默認值為 “gini”,計算效率略高于熵,實際應用中兩者效果差異不大。
splitter:指定劃分點的選擇策略,可選值為 “best” 或 “random”。“best” 表示在所有特征中尋找最優劃分點,適合數據量較小的場景;“random” 表示在部分特征中隨機選擇劃分點,能減少過擬合風險,適合高維數據或需要加快訓練速度的場景。
整數 N:固定使用 N 個特征。該參數用于降低模型復雜度,避免過擬合。
max_depth:指定樹的最大深度,默認值為 None(不限制深度)。深度越大,樹越復雜,越容易過擬合。實際應用中推薦設置為 5-20 之間,需根據數據規模和復雜度調整。

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

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

相關文章

內網安全——出網協議端口探測

在實戰中難免會遇到各種各樣的情況,其中對于目標主機是否出網這是一個十分值得收集的信息,因為完全不出網你就獲取不到主機了 端口 Linux 系統 對于 Linux 系統,探測其允許出網的端口,這里使用的是 Linux 的自帶命令,所…

C#WPF實戰出真汁13--【營業查詢】

1、營業查詢介紹本模塊是最后一個模塊,該板塊需要的功能有:營業數據列表,查詢數據,導出數據,數據統計。2、UI設計布局TabControl 是 WPF 中用于創建多頁標簽式界面的控件,常用于組織多個子內容區域。每個子…

基于 Java 和 MySQL 的精品課程網站

基于 Java 和 MySQL 的精品課程網站設計與實現一、 畢業設計(論文)任務書摘要:近年來,教育信息化發展十分迅猛,人們的教育觀念、教育手段、學習方法、學習渠道等等都發生了重大的變化。知識性人才也已經日益成為了一個…

全球首款 8K 全景無人機影翎 A1 發布解讀:航拍進入“先飛行后取景”時代

全球首款 8K 全景無人機影翎 A1 發布解讀:航拍進入“先飛行后取景”時代 特別說明:本文所有圖片素材來源于影翎官網 影翎官方介紹稱:“全球首款”是指截至 2025 年,A1 是首臺全面整合的全景無人機:無需外掛全景相機配件…

androidstudio內存大小配置

help->Edit Custom Vm option-Xmx8096m或者其他數值 改成-Xmx10240m然后設置里面的內存大小也要修改一下

vue3和elementPlus中的el-dropdown-menu中的背景樣式修改

1. 效果展示2. 代碼展示在el-dropdown-menu下加載類名,class"my-dropdown-menu"<el-dropdown-menu class"my-dropdown-menu"><el-dropdown-item :command"{ action: upgrade, data }">升級</el-dropdown-item><el-dropdown…

計算機網絡--HTTP協議

1. 什么是 HTTP 協議全稱&#xff1a;Hyper Text Transfer Protocol&#xff08;超文本傳輸協議&#xff09;作用&#xff1a;用于在服務器與客戶端&#xff08;通常是瀏覽器&#xff09;之間傳輸超文本數據&#xff08;如文字、圖片、視頻、音頻&#xff09;的應用層協議。工作…

Bee1.17.25更新Bug,完善功能.不支持NOSQL,分庫分表Sharding(2.X版有)

Bee 1.17.25 正常的ORM功能都有,但不支持NOSQL, 分庫分表Sharding; 若需要可使用2.X版. Bee, 接口簡單&#xff0c;功能齊全&#xff0c;性能好&#xff0c;支持原生分頁性能更高&#xff1b;還有分庫分表 (Sharding 分片) 功能&#xff0c;也支持 MongoDB ORM. Bee Hiberna…

RAG流程全解析:從數據到精準答案

Rag流程分析第一部分&#xff1a;數據處理與向量化 原始文檔進入系統&#xff0c;先經過格式識別&#xff0c;把 pdf、docx、pptx、掃描圖片等統一轉成文字流。文字流丟進分段器&#xff0c;按固定長度或語義邊界切成若干文本塊&#xff0c;每個塊再生成唯一 id。如果文檔里有表…

Matplotlib數據可視化實戰:Matplotlib圖表注釋與美化入門

圖表注釋與標簽&#xff1a;提升數據可視化效果 學習目標 通過本課程的學習&#xff0c;學員將掌握如何使用Matplotlib在圖表中添加文本注釋、圖例、標題和軸標簽&#xff0c;從而提高圖表的可讀性和信息傳達能力。本課程將通過實際案例&#xff0c;幫助學員理解每個元素的作用…

GitLab 安全漏洞 CVE-2025-7739 解決方案

本分分享極狐GitLab 補丁版本 18.2.2, 18.1.4, 18.0.6 的詳細內容。這幾個版本包含重要的缺陷和安全修復代碼&#xff0c;我們強烈建議所有私有化部署用戶應該立即升級到上述的某一個版本。對于極狐GitLab SaaS&#xff0c;技術團隊已經進行了升級&#xff0c;無需用戶采取任何…

C端高并發項目都有哪些

C端&#xff08;用戶端&#xff09;高并發項目通常涉及大規模用戶直接訪問的服務&#xff0c;其核心挑戰是如何在海量用戶同時請求下&#xff0c;保證系統的穩定性、高性能、高可用和一致性。以下是一些典型的C端高并發項目類型和具體案例&#xff1a;?核心類型與典型案例&…

OSCP - Proving Grounds - Shenzi

主要知識點 路徑爆破小技巧 windows AlwaysInstallElevated 提權 具體步驟 依舊是nmap開始&#xff0c;其中80/443/139/445端口值得關注一下 Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-01-01 15:06 UTC Nmap scan report for 192.168.53.55 Host is up (0.0008…

結合BI多維度異常分析(日期-> 商家/渠道->日期(商家/渠道))

技術手段&#xff1a; BI工具&#xff08;finereport &#xff09;、python、sql 數據更新&#xff1a; 每日零點更新數據。&#xff08;獨立開發&#xff09; 商業智能分析平臺 | Python/FineReport/SQLAlchemy 項目描述 業務價值 &#xff1a;解決原有系統無法快速定位傭金異…

計算機畢設Spark項目實戰:基于大數據技術的就業數據分析系統Django+Vue開發指南

&#x1f393; 作者&#xff1a;計算機畢設小月哥 | 軟件開發專家 &#x1f5a5;? 簡介&#xff1a;8年計算機軟件程序開發經驗。精通Java、Python、微信小程序、安卓、大數據、PHP、.NET|C#、Golang等技術棧。 &#x1f6e0;? 專業服務 &#x1f6e0;? 需求定制化開發源碼提…

如何讓FastAPI任務系統在失敗時自動告警并自我修復?

url: /posts/2f104637ecc916e906c002fa79ab8c80/ title: 如何讓FastAPI任務系統在失敗時自動告警并自我修復? date: 2025-08-20T08:18:42+08:00 lastmod: 2025-08-20T08:18:42+08:00 author: cmdragon summary: FastAPI 和 Celery 結合提供了強大的異步任務處理能力,但在分布…

Gitee倉庫 日常操作詳細步驟

新建倉庫 → 上傳代碼 步驟1、打開Gitee倉庫網站&#xff1a;開源軟件 - Gitee.com 步驟2、點擊右上角加號 點擊新建倉庫。 步驟3、設置倉庫名 &#xff0c;選擇是否開源 &#xff0c;點擊創建。 步驟4、記住遠程倉庫URL 步驟5、本地新建文件夾&#xff0c;然后進行上傳代碼…

Python采集易貝(eBay)商品詳情API接口,json數據返回

Python采集易貝(eBay)商品詳情API接口要采集eBay商品詳情&#xff0c;你可以使用eBay官方提供的API。以下是使用Python通過eBay Finding API獲取商品詳情的完整示例&#xff1a;準備工作注冊賬號并獲取API密鑰&#xff1a;選擇適合的API&#xff08;如Finding API、Shopping AP…

如何將任意文件一鍵轉為PDF?

無論你用什么軟件打開文件&#xff08;Word、Excel、網頁、CAD圖紙、圖片等&#xff09;&#xff0c;只要能打印&#xff0c;就可以通過虛擬打印機將其轉為PDF&#xff0c;確保對方收到的文件看起來和你看到的一模一樣。它是小巧實用的PDF虛擬打印工具&#xff0c;采用安裝包形…

遷移學習+多模態融合破解跨域難題,解鎖視覺感知新范式

在近期的頂會頂刊中&#xff0c;遷移學習與多模態融合的熱度居高不下&#xff0c;相關成果頻出&#xff0c;部分模型在特定任務里性能提升極為顯著。登上頂刊 TPAMI 2025 的某篇研究&#xff0c;借助語言引導的關系遷移&#xff0c;大幅提升了少樣本類增量學習中模型的泛化能力…