日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【数据挖掘】决策树 分类 ( 抽取分类规则 | 过拟合 | 剪枝 | 先剪 | 后剪 | 连续数值离散化 | 最优化分点 | 增益率选择划分属性 )

發(fā)布時(shí)間:2025/6/17 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数据挖掘】决策树 分类 ( 抽取分类规则 | 过拟合 | 剪枝 | 先剪 | 后剪 | 连续数值离散化 | 最优化分点 | 增益率选择划分属性 ) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

        • I . 決策樹 分類規(guī)則抽取
        • II . 決策樹 過擬合 與 剪枝
        • III . 決策樹 剪枝 先剪 與 后剪 對比
        • IV . 連續(xù)屬性 離散化處理 ( 二分法 | 最優(yōu)劃分點(diǎn) )
        • V . 根據(jù) 增益率 選擇劃分屬性
        • VI . 根據(jù) 增益率 選擇劃分屬性 計(jì)算案例
        • VII . 決策樹 作用 及 優(yōu)勢



I . 決策樹 分類規(guī)則抽取



1 . 決策樹規(guī)則表示形式 : 決策樹 中蘊(yùn)含的 規(guī)則可以使用 IF-THEN 形式表示 ;


2 . 決策樹規(guī)則數(shù)量 : 從決策樹根節(jié)點(diǎn) , 到葉子節(jié)點(diǎn) , 每條路徑都對應(yīng)一條規(guī)則 , 規(guī)則數(shù)量就是葉子節(jié)點(diǎn)的數(shù)量 ;


3 . 中間內(nèi)部節(jié)點(diǎn)表示 : 使用 AND 將多個(gè)屬性判定組個(gè)在一起 , 相當(dāng)于 邏輯與 運(yùn)算 ;


4 . 葉子節(jié)點(diǎn)表示 : 葉子節(jié)點(diǎn)構(gòu)成 THEN 部分 , 表達(dá)其分類結(jié)果 ;


5 . IF-THEN 示例 : 下圖的決策樹 , 有 5 個(gè)葉子節(jié)點(diǎn) , 可以抽取出 5 條規(guī)則 , 下面列舉這 5 條路徑 :


① 下圖中的紅色路徑 : 該條路徑表示 , 如果年齡在 30 歲以下 , 是學(xué)生 , 就會(huì)購買商品 ;

IF age = "<=30" AND isStudent = "yes" THEN isBuy = "yes"

② 下圖中的藍(lán)色路徑 : 該條路徑表示 , 如果年齡在 30 歲以下 , 不是學(xué)生 , 就不會(huì)購買商品 ;

IF age = "<=30" AND isStudent = "no" THEN isBuy = "no"

③ 下圖中的紫色路徑 : 該條路徑表示 , 31 ~ 39 歲的 , 會(huì)購買商品 ;

IF age = ">= 31 && <= 39>" isBuy = "yes"

④ 下圖中的綠色路徑 : 該條路徑表示 , 在 40 歲以上 , 信用好的 , 會(huì)購買商品 ;

IF age = ">=40" AND credit= "good" THEN isBuy = "yes"

⑤ 下圖中的黑色路徑 : 該條路徑表示 , 在 40 歲以上 , 信用一般的 , 不會(huì)購買商品 ;

IF age = ">=40" AND credit= "normal" THEN isBuy = "no"



II . 決策樹 過擬合 與 剪枝



1 . 決策樹過擬合問題 :


① 完全服從 : 生成的決策樹 , 完全服從與訓(xùn)練集 ;

② 分支太多 : 這種過擬合的決策樹 , 出現(xiàn)很多類型的分支 , 有些分支出現(xiàn)次數(shù)很少 , 甚至在實(shí)際使用中從來不用 , 分支不具有代表性 ;

③ 消極結(jié)果 : 過擬合會(huì)導(dǎo)致模型準(zhǔn)確度很低 ;


2 . 解決過擬合問題 : 剪枝方法 ; 通過進(jìn)行剪紙 , 將部分分支路徑刪除 ;


① 先剪 : 在建立 決策樹 模型時(shí) , 訓(xùn)練模型過程中 , 如果該數(shù)據(jù)樣本分支很少 , 就不創(chuàng)建這個(gè)分支 ;

② 后剪 : 先將 完整的 決策樹模型 創(chuàng)建出來 , 然后將樣本少的路徑直接剪除 ;



III . 決策樹 剪枝 先剪 與 后剪 對比



1 . 時(shí)間消耗分析 :


① 先剪 : 訓(xùn)練模型時(shí)剪枝 , 訓(xùn)練時(shí)間會(huì)減少 , 相對于沒有剪枝的情況 , 測試的時(shí)間也會(huì)的減少 ;

② 后剪 : 在模型創(chuàng)建后剪枝 , 要生成完整的樹 , 訓(xùn)練時(shí)間會(huì)增加 , 訓(xùn)練完之后剪枝 , 相對于沒有剪枝的情況 , 測試的時(shí)間會(huì)減少 ;


2 . 擬合風(fēng)險(xiǎn) : 這里分為 過擬合 ( 擬合過度 ) 和 欠擬合 ( 擬合度不夠 ) ;


① 先剪 : 不會(huì)過擬合 , 但是 有可能欠擬合 ;

② 后剪 : 不會(huì)過擬合 , 欠擬合風(fēng)險(xiǎn)不變 ;


3 . 最佳實(shí)踐 : 推薦使用 后剪 剪枝策略 ;



IV . 連續(xù)屬性 離散化處理 ( 二分法 | 最優(yōu)劃分點(diǎn) )



1 . 連續(xù)值屬性 :


① 連續(xù)屬性離散化 : 決策樹要基于一個(gè)離散的值進(jìn)行分類 , 連續(xù)的值 , 無法根據(jù)屬性值劃分?jǐn)?shù)據(jù)集 , 需要將連續(xù)屬性值離散化 , 再使用決策樹分析 ;

② 示例 : 如學(xué)生成績 , 0 ~ 100 分 , 60 分以上劃分為 及格 , 60 分以下劃分為 不及格 ;


2 . 二分法處理連續(xù)屬性值 :


① 連續(xù)屬性 DDD : 數(shù)據(jù)集中的 DDD 屬性 , 其取值是連續(xù)的數(shù)值 ;

② 屬性值排序 : DDD 屬性的 nnn 個(gè)不同的連續(xù)取值從小到大排序 {a1,a2,?,an}\{ a_1 , a_2, \cdots , a_n \}{a1?,a2?,?,an?} ;

③ 劃分點(diǎn) ttt : 劃分點(diǎn) tttDDD 屬性的一個(gè)取值 , 將 DDD 屬性的值分為 子集 Dt?D_t^-Dt??Dt+D_t^+Dt+? ;

Dt?D_t^-Dt?? 子集 : 該子集中的屬性值 , 小于等于 ttt ;

Dt+D_t^+Dt+? 子集 : 該子集中的屬性值 , 大于 ttt ;


3 . 最優(yōu)劃分點(diǎn) :


① 候選劃分點(diǎn) : DDD 屬性有 nnn 個(gè)取值 , 可以有 n?1n-1n?1 個(gè)候選劃分點(diǎn) ;

② 某兩個(gè)屬性值之間的劃分點(diǎn)確定 : {a1,a2,?,an}\{ a_1 , a_2, \cdots , a_n \}{a1?,a2?,?,an?} 取值集合中 , 將兩個(gè)數(shù)值之間的中點(diǎn) , 作為劃分點(diǎn) ;

③ 最優(yōu)化分點(diǎn)確定 : 需要選擇最優(yōu)的劃分點(diǎn) , 以達(dá)到最終決策樹分類的目的 ;



V . 根據(jù) 增益率 選擇劃分屬性



1 . 信息增益弊端 : 如果數(shù)據(jù)集中 , 某個(gè)屬性有很多值 , 其信息增益比較大 , 很容易將分支多的屬性放在樹根 ;

示例說明 : 如 人的性別 , 其取值只有 男 和 女 兩種 , 其只有兩項(xiàng) , 人的年齡 有 130 種取值范圍 , 其計(jì)算出來信息增益比較大 ;


2 . 增益率引入 : ID3 使用信息增益確定樹根屬性 , C4.5 使用增益率確定樹根屬性 ;


3 . 增益率 ( Gain Ratio ) 計(jì)算公式 :


AAA 表示屬性類型 ;

DDD 表示樣本的總個(gè)數(shù) ;

vvv 表示當(dāng)前的 AAA 屬性不同取值個(gè)數(shù) , 取值集合為 {a1,a2,?,av}\{a_1, a_2 , \cdots , a_v\}{a1?,a2?,?,av?}

DjD_jDj? 表示樣本取值 aja_jaj? 的樣本個(gè)數(shù) ;

SplitInfoA(D)=?∑j=1vDjDlog2DjDSplitInfo_A(D) = - \sum_{j=1}^{v} \frac{D_j}{D} log_2 \frac{D_j}{D}SplitInfoA?(D)=?j=1v?DDj??log2?DDj??


增益率公式 :

GainRatio(A)=Gain(A)/SplitInfo(A)GainRatio ( A ) = Gain(A) / SplitInfo(A)GainRatio(A)=Gain(A)/SplitInfo(A)



VI . 根據(jù) 增益率 選擇劃分屬性 計(jì)算案例



1 . 計(jì)算案例 :

參考之前的 信息增益計(jì)算案例 : 信息增益計(jì)算 案例


2 . 信息增益計(jì)算結(jié)果 : 依次計(jì)算 各個(gè)屬性的 信息增益 :


① 年齡 屬性的信息增益 : Gain(年齡)=0.246Gain ( 年齡 ) = 0.246Gain()=0.246

② 收入 屬性的信息增益 : Gain(收入)=0.029Gain ( 收入 ) = 0.029Gain()=0.029

③ 是否是學(xué)生 屬性的信息增益 : Gain(是否是學(xué)生)=0.151Gain ( 是否是學(xué)生 ) = 0.151Gain(學(xué))=0.151

④ 信用等級(jí) 屬性的信息增益 : Gain(信用等級(jí))=0.048Gain ( 信用等級(jí) ) = 0.048Gain(級(jí))=0.048

⑤ 樹根 屬性選擇: 年齡屬性的 信息增益 最大 , 選擇年齡屬性作為樹根 ;


3 . 這里計(jì)算收入 屬性的增益率 : 14 個(gè)樣本中, 4 個(gè)高收入 , 6 個(gè)中等收入 , 4 個(gè)低收入 ;


SplitInfoA(D)=?∑j=1vDjDlog2DjD==?414log2414?614log2614?414log2414=0.926\begin{array}{lcl} SplitInfo_A(D) &=& - \sum_{j=1}^{v} \frac{D_j}{D} log_2 \frac{D_j}{D} \\\\ &=& = - \frac{4}{14} log_2 \frac{4}{14} - \frac{6}{14} log_2 \frac{6}{14} - \frac{4}{14} log_2 \frac{4}{14} \\\\ &=& 0.926 \end{array}SplitInfoA?(D)?===??j=1v?DDj??log2?DDj??=?144?log2?144??146?log2?146??144?log2?144?0.926?


GainRatio(A)=Gain(A)/SplitInfo(A)=0.0290.926=0.031GainRatio ( A ) = Gain(A) / SplitInfo(A) = \frac{0.029}{0.926} = 0.031GainRatio(A)=Gain(A)/SplitInfo(A)=0.9260.029?=0.031


4 . 樹根選擇 : 同樣增益率最大的屬性 , 會(huì)被設(shè)置為 劃分屬性 ;



VII . 決策樹 作用 及 優(yōu)勢



1 . 大數(shù)據(jù)分類 : 在大數(shù)據(jù)分類中 , 要求快速的對幾百萬的樣本 , 涉及幾十上百的屬性進(jìn)行分類 ;


2 . 決策樹 算法優(yōu)勢 :


① 可伸縮性 : 隨著數(shù)據(jù)量增大 , 復(fù)雜度線性增長 , 不是指數(shù)級(jí)增長 ;

② 學(xué)習(xí)速度快 : 學(xué)習(xí)速度比其它分類方法快 ;

③ 規(guī)則轉(zhuǎn)化 : 可以抽取轉(zhuǎn)化分類規(guī)則 ;

④ 數(shù)據(jù)庫結(jié)合 : 可以使用 SQL 查詢數(shù)據(jù)庫中的數(shù)據(jù) ;

⑤ 準(zhǔn)確性高 : 使用決策樹分類 , 準(zhǔn)確性有保障 ;

總結(jié)

以上是生活随笔為你收集整理的【数据挖掘】决策树 分类 ( 抽取分类规则 | 过拟合 | 剪枝 | 先剪 | 后剪 | 连续数值离散化 | 最优化分点 | 增益率选择划分属性 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。