決策樹演算法

2022-02-10 03:18:29 字數 2442 閱讀 1859

英文名字: decision tree

決策樹是一種典型的分類方法,首先對資料進行處理,利用歸納演算法生成可讀的規則和決策樹,然後使用決策對新資料進行分析。本質上決策樹是通過一系列規則對資料進行分類的過程。

決策樹是乙個監督式學習方法,主要用於分類和回歸。 演算法的目標是通過推斷資料特徵,學習決策規則從而建立乙個**目標變數的模型。

決策樹類似if-else結構,它的結果就是你要生成這樣乙個可以從樹根開始不斷判斷選擇到葉子節點的樹。 但是這裡的if-else判斷條件不是人工設定,而是計算機根據我們提供的演算法自動生成的。

是對幾種可能方案的選擇,即最後選擇的最佳方案。如果決策屬於多級決策,則決策樹的中間可以有多個決策點,以決策樹根部的決策點為最終決策方案。

代表備選方案的經濟效果(期望值),通過各狀態節點的經濟效果的對比,按照一定的決策標準就可以選出最佳方案。由狀態節點引出的分支稱為概率枝,概率枝的數目表示可能出現的自然狀態數目每個分枝上要註明該狀態出現的概率。

將每個方案在各種自然狀態下取得的損益值標註於結果節點的右端

決策樹的演算法有很多,有cart、id3、c4.5、c5.0等,其中id3、c4.5、c5.0都是基於資訊熵的, 而cart採用的是類似於熵的指數作為分類決策,形成決策樹後之後還要進行剪枝。

熵(entropy): 系統的凌亂程度

id3演算法是一種分類決策樹演算法。他通過一系列的規則,將資料最後分類成決策樹的形式,分類的根據是熵。

id3演算法是一種經典的決策樹學習演算法,由quinlan提出。 id3演算法的基本思想是,以資訊熵為度量,用於決策樹節 點的屬性選擇,每次優先選取資訊量最多的屬性,亦即能使熵值 變為最小的屬性,以構造一顆熵值下降最快的決策樹,到葉子節 點處的熵值為0。此時,每個葉子節點對應的例項集中的例項屬於 同一類。

通過id3演算法來實現客戶流失的預警分析,找出客戶流失的 特徵,以幫助電信公司有針對性地改善客戶關係,避免客戶流失

利用決策樹方法進行資料探勘,一般有如下步驟:資料預處 理、決策樹挖掘操作,模式評估和應用。

c4.5是id3的進一步延伸,通過將連續屬性離散化,去除了特徵的限制。c4.5將訓練樹轉換為一系列if-then的語法規則。可確定這些規則的準確性,從而決定哪些應該被採用。如果去掉某項規則,準確性能提高,則應該實行修剪。

c4.5與id3在核心的演算法是一樣的,但是有一點所採用的辦法是不同的,c4.5採用了資訊增益率作為劃分的根據,克服了id3演算法中採用資訊增益劃分導致屬性選擇偏向取值多的屬性。

c5.0較c4.5使用更小的記憶體,建立更小的決策規則,更加準確。

分類與回歸樹(cart——classification and regression tree)) 是一種非常有趣並且十分有效的非引數分類和回歸方法。它通過構建二叉樹達到**目的。 分類與回歸樹cart 模型最早由breiman 等人提出,已經在統計領域和資料探勘技術中普遍使用。它採用與傳統統計學完全不同的方式構建**準則,它是以二叉樹的形式給出,易於理解、使用和解釋。由cart 模型構建的**樹在很多情況下比常用的統計方法構建的代數學**準則更加準確,且資料越複雜、變數越多,演算法的優越性就越顯著。模型的關鍵是**準則的構建,準確的。 定義: 分類和回歸首先利用已知的多變數資料構建**準則, 進而根據其它變數值對乙個變數進行**。在分類中, 人們往往先對某一客體進行各種測量, 然後利用一定的分類準則確定該客體歸屬那一類。例如, 給定某一化石的鑑定特徵, **該化石屬那一科、那一屬, 甚至那一種。另外乙個例子是, 已知某一地區的地質和物化探資訊, **該區是否有礦。回歸則與分類不同, 它被用來**客體的某一數值, 而不是客體的歸類。例如, 給定某一地區的礦產資源特徵, **該區的資源量。

cart和c4.5很相似,但是它支援數值的目標變數(回歸)且不產生決策規則。cart使用特徵和閾值在每個節點獲得最大的資訊增益來構建決策樹。

scikit-learn 使用的是 cart 演算法

示例**: 

#

! /usr/bin/env python

#-*- coding:utf-8 -*-

from sklearn import

tree

import

numpy as np

#scikit-learn使用的決策樹演算法是cart

x = [[0,0],[1,1]]

y = ["

a","b"

]clf =tree.decisiontreeclassifier()

clf =clf.fit(x,y)

data1 = np.array([2.,2.]).reshape(1,-1)

print clf.predict(data1) #

**類別

print clf.predict_proba(data1) #

**屬於各個類的概率

好,就這些了,希望對你有幫助。

決策樹演算法.md

歡迎補充 

決策樹演算法

決策樹是一種樹型結構,其中每個內部結點表示在乙個屬性上的測試,每個分支代表乙個測試輸出,每個葉結點代表一種類別。決策樹學習是以例項為基礎的歸納學習,採用的是自頂向下的遞迴方法,其基本思想是以資訊熵為度量構造一棵熵值下降最快的樹,到葉子結點處的熵值為零,此時每個葉節點中的例項都屬於同一類。決策樹學習演...

決策樹演算法

本文主要介紹id3 c4.5和cart演算法 決策樹起源於概念學習系統 cls 概念學習模型 是乙個事先定義的範疇集合和一些有關例子是否落入給定範疇的判定 概念學習的主要任務 是判斷所給定事物的屬性或特性,並且正確地區分這些事物,將其劃分到某乙個範疇 對於如下決策樹模型 我們首先考慮他的屬性outl...

決策樹演算法

引 最近老師布置了課堂展示的作業,主題是決策樹,老師還舉了買西瓜的決策例子,感覺貼近生活也很有意思。在這之前沒有了解過這個概念,通過幾個禮拜的學習收穫不少。一 首先,什麼是決策樹?個人而言,決策樹就是將人在做決策時的思維脈絡以樹的形式展示出來的產物,即決策的過程模型。這是一棵去不去打高爾夫球的決策樹...