數據挖掘——決策樹分類

數據挖掘——決策樹分類

  • 決策樹分類
    • Hunt算法
    • 信息增益
    • 增益比率
    • 基尼指數
    • 連續數據
    • 總結

決策樹分類

樹狀結構,可以很好的對數據進行分類;

  • 決策樹的根節點到葉節點的每一條路徑構建一條規則;
  • 具有互斥且完備的特點,即每一個樣本均被且只能被一條路徑所覆蓋;
  • 只要提供的數據量足夠龐大真實,通過數據挖掘模式,就可以構造決策樹。
    在這里插入圖片描述

Hunt算法

D t D_t Dt?是與節點相關聯的訓練記錄集
算法步驟:

  1. 如果 D t D_t Dt?中所有記錄都屬于同一個類 y t y_t yt?,則t是葉節點,用 y t y_t yt?標記。
  2. 如果 D t D_t Dt?中包含屬于多個類的記錄,則選擇一個屬性測試條件,將記錄劃分成較小的子集
  3. 對于測試條件的每個輸出,創建一個子結點,并根據測試結果將 D t D_t Dt?中的記錄分布到子結點中。然后,對于每個子結點,遞歸地調用該算法。

Hunt算法采用貪心策略構建決策樹

  • 在選擇劃分數據的屬性時,采取一系列局部最優決策來構造決策樹。

決策樹歸納的設計問題

  • 如何分裂訓練記錄?
    • 怎樣為不同類型的屬性指定測試條件?
    • 怎樣評估每種測試條件?
  • 如何停止分裂過程?

怎樣為不同類型的屬性指定測試條件?

  • 依賴于屬性的類型

    • 標稱
    • 序數
    • 連續
  • 依賴于劃分的路數

    • 多路劃分
    • 二元劃分

怎樣選擇最佳劃分?
選擇最佳劃分的度量通常是根據劃分后子節點純性的程度。
純性的程度越高,類分布就越傾斜,劃分結果越好。
在這里插入圖片描述

信息增益

熵的定義如下:
Entropy ? ( S ) = ? ∑ i = 1 c p i log ? ( p i ) \operatorname{Entropy}(S)=-\sum_{i=1}^{c} p_{i} \log \left(p_{i}\right) Entropy(S)=?i=1c?pi?log(pi?)
信息增益定義如下:
Gain ? ( S , A ) = Entropy ? ( S ) ? ∑ v ∈ A ∣ S v ∣ ∣ S ∣ Entropy ? ( S v ) \operatorname{Gain}(S, A)=\operatorname{Entropy}(S)-\sum_{v \in A} \frac{\left|S_{v}\right|}{|S|} \operatorname{Entropy}\left(S_{v}\right) Gain(S,A)=Entropy(S)?vA?SSv??Entropy(Sv?)

信息增益表示的是:得知特征X的信息而使得分類Y的信息的不確定性減少的程度,如果某個特征的信息增益比較大,就表示該特征對結果的影響較大。

舉例說明:
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

增益比率

信息增益問題:取值比較多的特征比取值少的特征信息增益大
解決方案:使用增益率,K越大,SplitINFO越大,增益率被平衡
G a i n R A T I O s p l i t = GAIN? split? SplitINFO {{GainRATIO_{split}}}=\frac{\text { GAIN }_{\text {split }}}{\text { SplitINFO}} GainRATIOsplit?=?SplitINFO?GAIN?split???
S p l i t I N F O = ? ∑ n = 1 k n i n log ? n i n SplitINFO=-\sum_{n=1}^{k} \frac{n_{i}}{n} \log \frac{n_{i}}{n} SplitINFO=?n=1k?nni??lognni??

增益率準則對可取值數目較少的屬性有偏好,因此C4.5算法并不是直接選擇增益率最大的屬性作為分支標準,而是先從侯選屬性中找出信息增益高于平均水平的屬性,再從中選擇增益率最高的屬性。

基尼指數

在這里插入圖片描述

連續數據

  • 二元劃分 ( A < v ) o r ( A ≥ v ) (A<v)or (A≥v) A<vorAv
    • 考慮所有的劃分點,選擇一個最優劃分點v
  • 多路劃分 v i ≤ A < v i + 1 ( i = 1 , … , k ) v_i≤A<v_{i+1} (i=1,…,k) vi?A<vi+1?i=1,,k
    在這里插入圖片描述

總結

  1. 決策樹是一種構建分類(回歸)模型的非參數方法
  2. 不需要昂貴的的計算代價
  3. 決策樹相對容易解釋
  4. 決策樹是學習離散值函數的典型代表
  5. 決策數對于噪聲的干擾具有相當好的魯棒性
  6. 冗余屬性不會對決策樹的準確率造成不利影響
  7. 數據碎片問題:隨著樹的生長,可能導致葉結點記錄數太少,對于葉結點代表的類,不能做出具有統計意義的判決
  8. 子樹可能在決策樹中重復多次,使決策樹過于復雜
  9. 決策樹無法學習特征之間的線性關系,難以完成特征構造

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

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

相關文章

自動化文件監控與分類壓縮:實現高效文件管理

自動化文件監控與分類壓縮&#xff1a;實現高效文件管理 引言 在現代數據處理和文件管理中&#xff0c;如何高效地管理和歸檔大量文件是一個常見的挑戰。特別是在需要根據文件類型進行分類并定期歸檔的場景下&#xff0c;手動操作不僅耗時且容易出錯。為此&#xff0c;我們開…

小紅書怎么看ip所屬地?小紅書ip屬地為什么可以變

小紅書&#xff0c;作為當下熱門的社交電商平臺&#xff0c;不僅為用戶提供了豐富的購物與分享體驗&#xff0c;還通過展示用戶IP屬地信息&#xff0c;增強了網絡社交的透明度和真實性。然而&#xff0c;不少用戶發現&#xff0c;小紅書上的IP屬地并非一成不變&#xff0c;這引…

springboot使用hutool captcha +vue實現圖形驗證碼

一、效果 使用hutool captcha實現簡單的圖形驗證碼&#xff0c;可以參考官網概述 | Hutool 二、實現步驟 1、導入依賴 <!--hutool包--> <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.…

2501d,d的優勢之一與C互操作

原文 如前,我已將個人理財包從C移植到D語言,開始時,把里面的一些移植到Rust中,直到我再也受不了了. D和Rust版本中都有讀取從美國運通下載的.csv文件的工具之一,并把交易加載到包含財務數據的輕查數據庫中,試通過使用基于李文距離的算法的模糊比較問題的描述與現有問題,來為每…

vue3+Echarts+ts實現甘特圖

項目場景&#xff1a; vue3Echartsts實現甘特圖;發布任務 代碼實現 封裝ganttEcharts.vue <template><!-- Echarts 甘特圖 --><div ref"progressChart" class"w100 h100"></div> </template> <script lang"ts&qu…

EdgeX規則引擎eKuiper

EdgeX 規則引擎eKuiper 一、架構設計 LF Edge eKuiper 是物聯網數據分析和流式計算引擎。它是一個通用的邊緣計算服務或中間件,為資源有限的邊緣網關或設備而設計。 eKuiper 采用 Go 語言編寫,其架構如下圖所示: eKuiper 是 Golang 實現的輕量級物聯網邊緣分析、流式處理開源…

【AIGC-ChatGPT進階提示詞指令】AI美食助手的設計與實現:Lisp風格系統提示詞分析

引言 在人工智能助手的應用領域中&#xff0c;美食烹飪是一個既專業又貼近生活的方向。本文將詳細分析一個基于Lisp風格編寫的美食助手系統提示詞&#xff0c;探討其結構設計、功能實現以及實際應用效果。 提出你的菜系&#xff0c;為你分析&#xff0c;并生成圖片卡片 提示詞…

智能工廠的設計軟件 應用場景的一個例子:為AI聊天工具添加一個知識系統 之9 重新開始 之2

本文要點 對程序設計而言&#xff1a;前者基于一個自上而下的 分類體系--&#xff08;生物遺傳基因&#xff09;&#xff0c;后者者需要一個收集差異的自下而上的差異繼承路徑--&#xff08;系統繼承源流&#xff09; 就是 廣義和狹義 分類學。 共性對齊 和 差異收集 正是兩者…

MCA:用于圖像識別的深度卷積神經網絡中的多維協同注意力

摘要 大量先前的研究已經表明,注意力機制在提高深度卷積神經網絡(CNNs)性能方面具有巨大潛力。然而,現有的大多數方法要么忽略了在通道和空間維度上同時建模注意力,要么引入了更高的模型復雜度和更重的計算負擔。為了緩解這一困境,本文提出了一種輕量級且高效的多維協同…

halcon中圖像處理及圖像濾波

圖像濾波簡介 圖像濾波的方法主要分為兩大類:空間域方法和頻域方法。 空間域方法是以對圖像的像素直接進行處理為基礎,包括均值濾波、中值濾波、高斯濾波等;頻域方法則是以修改圖像在傅里葉變換空間的值為基礎的,包括高通濾波、低通濾波、同態濾波等。 1.空間域圖像濾波 圖…

【從零開始入門unity游戲開發之——C#篇42】C#補充知識——隨機數(Random)、多種方法實現string字符串拼接、語句的簡寫

文章目錄 一、隨機數1、Random.Next()生成隨機整數示例&#xff1a;生成一個隨機整數生成指定范圍內的隨機整數 2、Random.NextSingle生成隨機浮點數示例&#xff1a;生成隨機浮點數 3、 生成隨機字母或字符示例&#xff1a;生成隨機字母示例&#xff1a;生成隨機小寫字母 二、…

吐卡機開發——指令合集—未來之窗行業應用跨平臺架構

序號指令10A 09 02 01 01 0D DE20A 09 02 02 01 FD DE30A 09 02 03 01 6D DF40A 09 02 04 01 5D DD50A 09 02 05 01 CD DC60A 09 02 06 01 3D DC70A 09 02 07 01 AD DD80A 09 02 08 01 5D D890A 09 02 09 01 CD D9100A 09 02 10 01 5D D2110A 09 02 11 01 CD D3120A 09 02 12 0…

fpga系列 HDL:verilog 常見錯誤與注意事項 位寬不匹配+case 語句中沒有覆蓋所有情況

位寬不匹配問題 信號或操作數的位寬不匹配&#xff0c;可能導致仿真或綜合錯誤。 module top (input wire [3:0] a,output wire [7:0] b );assign b a; endmodulecase 語句中沒有覆蓋所有情況 module top (input wire [1:0] sel,input wire [7:0] a,input wire [7:0] b,in…

Linux中操作中的無痕命令history技巧

當我們需要查看Linux下的操作記錄時&#xff0c;就可以用history命令來查看歷史記錄 1、關閉history記錄功能&#xff0c;如果不想讓別人看到自己在Linux上的操作命令&#xff0c;可以用這個命令 set o history 2、打開history記錄功能 set -o history3、清空記錄 histor…

計算機網絡練習題

學習這么多啦&#xff0c;那就簡單寫幾個選擇題鞏固一下吧&#xff01; 1. 在IPv4分組各字段中&#xff0c;以下最適合攜帶隱藏信息的是&#xff08;D&#xff09; A、源IP地址 B、版本 C、TTL D、標識 2. OSI 參考模型中&#xff0c;數據鏈路層的主要功能是&#xff08;…

優化租賃小程序提升服務效率與用戶體驗的策略與實踐

內容概要 在這個快速發展的商業環境中&#xff0c;租賃小程序成為了提升服務效率和用戶體驗的重要工具。通過對用戶需求的深入挖掘&#xff0c;我們發現他們對于功能的便捷性、響應速度和界面的友好性有著極高的期待。因此&#xff0c;針對這些需求&#xff0c;完善租賃小程序…

【數據結構】樹鏈刨分

1 u v k&#xff0c;修改路徑上節點權值&#xff0c;將節點 uu 和節點 vv 之間路徑上的所有節點&#xff08;包括這兩個節點&#xff09;的權值增加 kk。2 u k&#xff0c;修改子樹上節點權值&#xff0c;將以節點 uu 為根的子樹上的所有節點的權值增加 kk。3 u v&#xff0c;詢…

pandas.Grouper() 在實際項目中非常有用,尤其是在處理時間序列數據、財務數據或多級索引數據時

pandas.Grouper() 在實際項目中非常有用&#xff0c;尤其是在處理時間序列數據、財務數據或多級索引數據時。以下是幾個實際場景的例子&#xff0c;展示了如何使用 pandas.Grouper() 進行數據分組&#xff0c;并用數值示例說明。 1. 按月分組進行銷售數據匯總 場景&#xff1…

private static final Logger log = LoggerFactory.getLogger()和@Slf4j的區別

一、代碼方面 - private static final Logger log LoggerFactory.getLogger()方式 詳細解釋 這是一種傳統的獲取日志記錄器&#xff08;Logger&#xff09;的方式。LoggerFactory是日志框架&#xff08;如 Log4j、Logback 等&#xff09;提供的工廠類&#xff0c;用于創建Lo…

醫療數倉Hive安裝部署

Hive安裝部署 Hive安裝部署 1&#xff09;把hive-3.1.3.tar.gz上傳到linux的/opt/software目錄下 2&#xff09;解壓hive-3.1.3.tar.gz到/opt/module/目錄下面 [atguiguhadoop102 software]$ tar -zxvf /opt/software/hive-3.1.3.tar.gz -C /opt/module/3&#xff09;修改hive…