【西瓜書】4.決策樹

1 遞歸返回情況

? ? ? ? (1)結點包含樣本全為同一類別

? ? ? ? (2)屬性集為空,沒有屬性可供劃分了

? ? ? ? ? ? ? ? 或

? ? ? ? ? ? ? ? 有屬性,但是在屬性上劃分的結果都一樣

? ? ? ? (3)結點為空結點

**結束時判定該結點的類別遵循如下規則:

? ? ? ? (1)若全為一個類別,則該結點為該類別,如全為“好瓜”,則該結點為好瓜

? ? ? ? (2)若某一個類別比其他類別多,則該結點為該類別,如結點中的樣本“好瓜”>“壞瓜”,則該結點為好瓜。

? ? ? ? (3)若所有類別樣本數一樣,或為空集,則取其父節點的類別作為該結點的類別。

2.經典的屬性劃分方法
2.1.信息增益(選大)
  • 樣本集信息熵,信息熵越小,則集合越純,如果集合只屬于1個類別,那么信息熵為0
  • 每個屬性每個取值的信息熵,這些信息熵按比例相加
  • 每個屬性信息增益,等于樣本集信息熵減去該屬性的加權信息熵
  • 信息熵Ent(D)越小,數據集D的純度越高
  • 信息增益越大,則使用該屬性來進行劃分所獲得的“純度提升”越大
2.2.增益率(選大)
  • 信息增益對可取值數目較多的屬性有所偏好,所以用增益率克服這一缺點
  • 選擇增益率大的屬性,即選擇信息增益大分支少的屬性
2.3.基尼指數(選小)
  • 反映了從D中隨機抽取兩個樣本,其類別標記不一致的概率
  • Gini(D)越小,數據集D的純度越高
3.剪枝處理

????????劃分選擇的各種準則雖然對決策樹的尺寸有較大影響,但對泛化性能的影響很有限;而剪枝方法和程度對決策樹泛化性能的影響更為顯著。(也就是說選擇剪枝方法比選基尼指數、信息增益還是增益率這種劃分策略的影響更大)

? ? ? ? 是對付“過擬合”的主要手段,剪枝的基本策略:

3.1.預剪枝
  1. 采用基于分層采樣的留出法,初始認為所有樣本都是好的,此時可計算模型的正確率為驗證集中好瓜的比例。
  2. 運用一種屬性劃分方法選擇出一個最好的屬性進行劃分,劃分之后計算加了一層之后的正確率,并與未引入劃分的正確率進行比較,若劃分后的正確率>未劃分就生成,否則不生成。


3.2.后剪枝

????????先生成完整的決策樹,再倒著看每棵子樹是否有價值。如果剪枝后的樹>未剪枝的樹則剪枝,否則不剪,當正確率相等時不做操作,一方面是防止欠擬合,一方面是剪枝也會有一定的開銷。

4.連續值處理?
  • 與離散屬性不同,若當前結點劃分屬性為連續屬性,該屬性還可作為其后代結點的劃分屬性。也就是在某個點算出按密度<0.35和密度>0.35劃分,后面在計算時還要把密度納入考慮范圍,且下次的劃分點可能就不是0.35了。而別的離散屬性比如顏色,如果用過就從屬性集合中刪去了。
  • 方法:二分法
5.缺失值處理
  • 樣本賦權,權重劃分?

單變量決策樹

?

多變量決策樹

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

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

相關文章

『哈哥贈書 - 54期』-『架構思維:從程序員到CTO』

文章目錄 ?? 架構思維&#xff1a;從程序員到CTO?? 本書簡介?? 作者簡介?? 編輯推薦?? 不想成為架構師的程序員不是好CTO 在程序員的職業規劃中&#xff0c;成為軟件架構師是一個非常有吸引力的選擇。但是對于如何才能成為一名架構師&#xff0c;不少同學認為只要代碼…

python大作業:實現的簡易股票簡易系統(含源碼、說明和運行截圖)

實現一個簡單的股票交易模擬系統。該系統將包括以下幾個部分: 數據處理:從CSV文件中讀取股票數據。 股票交易算法:實現一個簡單的交易策略。 命令行界面(CLI):允許用戶查看股票數據和進行交易。 數據持久化:將用戶的交易記錄和當前資金存儲在數據庫中。 為了簡化這個示例…

uniadmin引入iconfont報錯

當在uniadmin中引入iconfont后&#xff0c;出現錯誤&#xff1a; [plugin:vite:css] [postcss] Cannot find module ‘E:/UniAdmin/uniAdmin/static/fonts/iconfont.woff2?t1673083050786’ from ‘E:\UniAdmin\uniAdmin\static\fonts\iconfont.css’ 這是需要更改為絕對路徑…

王炸級產品:字節跳動的Seed-TTS

在人工智能的快速發展中&#xff0c;文本到語音&#xff08;TTS&#xff09;技術已成為連接數字世界與人類溝通的重要橋梁。而字節跳動推出的Seed-TTS模型&#xff0c;無疑是這一領域的一個突破性進展&#xff0c;它以其卓越的性能和高度的自然度&#xff0c;被譽為TTS模型中的…

4句話學習-k8s節點是如何注冊到k8s集群并且kubelet拿到k8s證書的

一、kubelet拿著CSR&#xff08;簽名請求&#xff09;使用的是Bootstrap token 二、ControllerManager有一個組件叫CSRAppprovingController&#xff0c;專門來Watch有沒有人來使用我這個api. 三、看到有人拿著Bootstrap token的CSR來簽名請求了&#xff0c;CSRAppprovingContr…

排序---快速排序的4次優化

前言 個人小記 一、代碼 #include<stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #define MAX_ARR 10000000 #define SCOPE 16 #define swap(a,b)\ {\__typeof(a) __ca;\ab,b__c;\ } #define TEST(func,arr,l,r)\ {\printf(&…

父組件調用子組件方法(組合式 API版)

在 Vue 3 中&#xff0c;defineExpose 是一個用于在組合式 API (Composition API) 中暴露組件內部方法或屬性的函數。它允許父組件通過 ref 引用子組件實例&#xff0c;并調用子組件暴露的方法或訪問其屬性。 以下是子組件和父組件如何使用 defineExpose 和 ref 的詳細解釋和示…

如何快速分析并將一個簡單的前后端分離項目跑起來

一、前言 主要是前一段時間有小伙伴問我說自己剛入坑學后端不久&#xff0c;在開源網站上找了個簡單的前后端分離項目&#xff0c;但是自己不會跑起來&#xff0c;讓我給他說說&#xff0c;介于這玩意三兩句話不是很好說清楚&#xff0c;而且不清楚那個小伙伴的知識到何種地步…

規則引擎LiteFlow發布v2.12.1版本,決策路由特性

個人博客&#xff1a;無奈何楊&#xff08;wnhyang&#xff09; 個人語雀&#xff1a;wnhyang 共享語雀&#xff1a;在線知識共享 Github&#xff1a;wnhyang - Overview 簡介 標題其實是不準確的&#xff0c;了解過的會知道在LiteFlow的2.12.0已經有了決策路由的特性&…

【TB作品】MSP430 G2553 單片機口袋板,讀取單片機P1.4電壓顯示,ADC,電壓表

功能 讀取P1.4電壓&#xff0c;顯示到口袋板顯示屏&#xff0c;電壓越高亮燈越多。 部分程序 while (1){ADC10CTL0 | ENC ADC10SC; // Sampling and conversion startLPM0;adcvalue ADC10MEM; //原始數據 0到1023adtest (float) adcvalue / 1024.…

【算法訓練 day48 零錢兌換、完全平方數】

目錄 一、零錢兌換-LeetCode 322思路實現代碼問題總結 二、完全平方數-LeetCode 279思路實現代碼問題總結 一、零錢兌換-LeetCode 322 Leecode鏈接: leetcode 322 文章鏈接: 代碼隨想錄 視頻鏈接: B站 給你一個整數數組 coins &#xff0c;表示不同面額的硬幣&#xff1b;以及…

每一個企業,都值得擁有自己專屬的AI大模型!

前言 在數字化浪潮席卷全球的今天&#xff0c;人工智能&#xff08;AI&#xff09;已不再是遙不可及的科幻概念&#xff0c;而是成為了企業創新、轉型、升級的必備工具。尤其是AI大模型&#xff0c;憑借其強大的數據處理能力和深度學習能力&#xff0c;正在為企業帶來前所未有…

【2024最新華為OD-C/D卷試題匯總】[支持在線評測] 字符串序列判定(100分) - 三語言AC題解(Python/Java/Cpp)

?? 大家好這里是清隆學長 ,一枚熱愛算法的程序員 ? 本系列打算持續跟新華為OD-C/D卷的三語言AC題解 ?? ACM銀牌??| 多次AK大廠筆試 | 編程一對一輔導 ?? 感謝大家的訂閱? 和 喜歡?? ??在線評測鏈接 字符串序列判定(100分) ?? 評測功能需要訂閱專欄后私信聯系…

Leetcode:四數之和

題目鏈接&#xff1a;18. 四數之和 - 力扣&#xff08;LeetCode&#xff09; 普通版本&#xff08;排序 雙指針&#xff09; 主旨&#xff1a;類似于三數之和的解法&#xff0c;但需要多加一些限制&#xff0c;同時為了防止多個數組元素的相加之和出現整型溢出問題還要將整型…

基于python可伸縮JSON格式列表實現

對于消息體為一個json格式列表&#xff0c;列表長度變化的代碼設計&#xff0c;如下實現可供參考。 1、python語言實現(直接取值) #codingutf-8n 2 # 行項目數 productCode [11111,222222,333333] unit [H06,H07,H08] qty [6,7,8] items []for i in range(0, n):item …

數據分析每周挑戰——心衰患者特征數據集

這是一篇關于醫學數據的數據分析&#xff0c;但是這個數據集數據不是很多。 背景描述 本數據集包含了多個與心力衰竭相關的特征&#xff0c;用于分析和預測患者心力衰竭發作的風險。數據集涵蓋了從40歲到95歲不等年齡的患者群體&#xff0c;提供了廣泛的生理和生活方式指標&a…

spring事務實現原理

Spring事務的實現原理主要是基于AOP&#xff08;面向切面編程&#xff09; 事務的開啟與提交/回滾 開啟事務&#xff1a;當Spring容器中的AOP代理檢測到一個匹配的切點方法被調用時&#xff0c;它會首先開啟一個新的事務或者加入到現有的事務中&#xff08;這取決于事務傳播行…

【讀腦儀game】

讀腦儀&#xff08;Brain-Computer Interface&#xff0c;BCI&#xff09;游戲是一種利用腦電信號來控制游戲的新型交互方式。這類游戲通常需要專業的硬件設備來讀取用戶的腦電信號&#xff0c;并將這些信號轉化為游戲中的控制信號。編寫這樣的游戲代碼涉及到多個方面&#xff…

瀚高數據庫相關設置

瀚高數據庫相關設置 一、配置瀚高數據庫局域網訪問 需要修改兩個文件&#xff1a;postgresql.conf和pg_hba.conf 1&#xff09;在postgresql.conf中找到下述配置&#xff0c;把listen_addresses前面的注釋去掉&#xff0c;值修改為* # - Connection Settings -#listen_addresse…

IO進程線程(九)線程的同步 進程間通信

文章目錄 一、 線程的同步&#xff08;一&#xff09;無名信號量sem1. 定義和初始化2.獲取信號量3.釋放信號量4. 銷毀5. 使用示例 &#xff08;二&#xff09;條件變量1. 定義和初始化2. 獲取條件變量3. 釋放條件變量4. 銷毀條件變量 二、進程間通信&#xff08;一&#xff09;…