1. 程式人生 > >機器學習回顧篇(7):決策樹演算法(ID3、C4.5)

機器學習回顧篇(7):決策樹演算法(ID3、C4.5)

 

注:本系列所有部落格將持續更新併發布在github上,您可以通過github下載本系列所有文章筆記檔案。

 

1 演算法概述¶

 

我們每天都做著各種形形色色的決策——週末怎麼嗨、是否買下衣服、出差選哪種交通工具等等,這些決策的過程我們用圖形的形式表現出來就是一種類似樹形的結構,將這種決策思想應用到機器學習演算法領域,那就是我們本文要說的決策樹演算法。

 

 

決策樹演算法屬於有監督學習演算法的一員,在決策前需要先根據先驗資料進行學習,構建並訓練出一個決策樹模型。決策樹模型中每一個非葉子結點代表著一個特徵屬性,其下每一個分支都代表對該特徵屬性值域的不同取值劃分,每一個葉子結點代表一個輸出分類。應用模型進行決策時,從第一個非葉子結點(根節點)開始,根據特徵屬性和值選擇分支直到最後的葉子結點,最後的葉子結點所代表的分類就是最終的決策結果。

 

決策樹演算法的本質是根據訓練資料進行學習,構建一顆最優的決策樹。之所以說最優,是因為對於同一個資料集,在不同的策略下可能構造出不一樣的決策樹。假設我們有如下一個資料集,用於判斷同事是否是程式設計師(純屬瞎編娛樂,請勿深究):

 

 

我們可能構建出下面這棵樹:

 

相關推薦

機器學習回顧7決策演算法ID3C4.5

  注:本系列所有部落格將持續更新併發布在github上,您可以通過github下載本系列所有文章筆記檔案。   1 演算法概述¶

python3.5機器學習實戰》學習筆記決策演算法實戰之預測隱形眼鏡型別

一、使用決策樹預測隱形眼鏡型別 在上一篇文章中,我們學習了決策樹演算法,接下來,讓我們通過一個例子講解決策樹如何預測患者需要佩戴的隱形眼鏡型別。 隱形眼鏡資料集是非常著名的資料集,它包含了很多患者眼部狀況的觀察條件以及醫生推薦的隱形眼鏡型別。隱形眼鏡

機器學習實戰》第三章決策1基本概念

有半個月沒來了。 最近一段時間...大多在忙專案組的事(其實就是改一改現有程式碼的bug,不過也挺費勁的,畢竟程式碼不是自己寫的)。另外就是自己租了幾臺美帝的vps,搭了$-$的伺服器 ,效果還不錯。自己搭的話就不用去買別人的服務了,不過租vps畢竟還是要成本的,光用來番茄

資料探勘十大演算法決策演算法 python和sklearn實現

學完到第三章——決策樹,python程式碼實現的僅是ID3演算法,sklearn為優化過的C4.5,這裡做一個詳細的總結包括(原理、程式碼、視覺化、scikit-learn實現),皆為親自實踐後的感悟。以下進入正文。 早前簡單瞭解了決策樹的原理,然後為了儘快使用便沒有深究直

機器學習回顧2最小二乘法

1 引言 在機器學習常用的優化演算法中,梯度下降法和最小二乘法佔盡了風騷。梯度下降法上一篇中已經詳細介紹過了,那麼這一篇,我們繼續說一說最小二乘法。 2 什麼是最小二乘法 描述預測模型準確程度有多重不同的方法: (1)誤差和最小化。這種方法存在的問題是正負誤差會相互抵消,導致描述不準確。 (2)誤差

機器學習回顧4邏輯迴歸

1 引言 邏輯不邏輯,迴歸非迴歸。 回想當年初次學習邏輯迴歸演算法時,看到”邏輯迴歸“這個名字,第一感覺是這是一個與線性迴歸類似的迴歸類別的演算法,只不過這個演算法突出”邏輯“,或者與某個以”邏輯“命名的知識點有關。可後來卻發現,這是

機器學習回顧5樸素貝葉斯演算法

1 引言 說到樸素貝葉斯演算法,很自然地就會想到貝葉斯概率公式,這是我們在高中的時候就學過的只是,沒錯,這也真是樸素貝葉斯演算法的核心,今天我們也從貝葉斯概率公式開始,全面擼一擼樸素貝葉斯演算法。 2 貝葉斯概率公式 2.1 聯合概率與全概率公式 定義1:完備事件組 ${A_1} \cup {A_2

機器學習回顧6KNN演算法

  1 引言¶   本文將從演算法原理出發,展開介紹KNN演算法,並結合機器學習中常用的Iris資料集通過程式碼例項演示KNN演算法用法和實現。

機器學習回顧8CART決策演算法

注:本系列所有部落格將持續更新併發布在github和gitee上,您可以通過github、gitee下載本系列所有文章筆記檔案。 1 引言 上一篇部落格中介紹了ID3和C4.5兩種決策樹演算法,這兩種決策樹都只能用於分類問題,而本文要說的CART(classification and regression

機器學習回顧10感知機模型

  注:本系列所有部落格將持續更新併發布在github和gitee上,您可以通過github、gitee下載本系列所有文章筆記檔案。   1 引言¶ 感知機是一種簡單且易於實現的二分類判別模型,主要思想是通過誤分類

機器學習回顧11支援向量機SVM

  1. 引言¶ SVM,Support Vector Machine,也就是我們中文名的支援向量機,我相信,只要是與機器學習有過照面的童鞋或多或少都聽說過這個名字。作為機器學習家族中的老牌成員,其經典自不必說。從原理和特性上講,SVM

機器學習回顧12整合學習之Bagging與隨機森林

  1 引言¶ 整合學習演算法是當下炙手可熱的一類演算法,在諸多機器學習大賽中都頻繁出現它的身影。準確來說,整合學習演算法並不是一個單獨的機器學習演算法,而是通過構建多個學習器,博採眾家之長,共同求解問題的一種思想。古語有云:&ldquo

機器學習回顧13整合學習之AdaBoost

  在上一篇部落格中,我們總結了整合學習的原理,並展開介紹了整合學習中Bagging和隨機森林這一分枝演算法,在本篇部落格中,我們繼續介紹另一個分枝——Boosting,並對Boosting系列中的經典演算法Adaboost

機器學習回顧14主成分分析法PCA

  1 引言¶ 在展開資料分析工作時,我們經常會面臨兩種困境,一種是原始資料中特徵屬性太少,“巧婦難為無米之炊”,很難挖掘出潛在的規律,對於這種情況,我們只能在收集這一環節上多下功夫;另一種困境剛好相反,那就是特徵

機器學習回顧15整合學習之GDBT

          1 引言¶ 梯度提升樹演算法(Gradient Boosting Decision Tree,GBDT)是一個非常經典的機器學習演算法,和我們前面介紹過的Adaboost演算法一樣,都是提

機器學習回顧16蒙特卡洛演算法

          蒙特卡羅(MC,Monte Carlo)方法是一種隨機取樣模擬求解的方法,又被稱統計試驗方法或者統計模擬方法。起初,蒙特卡羅方法的提出是20世紀40年代馮·諾伊曼,

機器學習實戰教程決策實戰之為自己配個隱形眼鏡

原文連結:cuijiahua.com/blog/2017/1… 一、前言 上篇文章機器學習實戰教程(二):決策樹基礎篇之讓我們從相親說起講述了機器學習決策樹的原理,以及如何選擇最優特徵作為分類特徵。本篇文章將在此基礎上進行介紹。主要包括: 決策樹構建 決策樹視覺化 使用決

Python3《機器學習實戰》學習筆記決策實戰之為自己配個隱形眼鏡

轉載請註明作者和出處: http://blog.csdn.net/c406495762 執行平臺: Windows Python版本: Python3.x IDE: Sublime text3 一 前言     上篇文章,Python3《

我的機器學習之旅決策

family 分配 根據 drop chrom labels arch ntp -o 決策樹概念: 分類決策樹模型是一種描述對實例進行分類的樹形結構。決策樹由結點和有向邊組成。結點有兩種類型:內部節點和葉節點,內部節點表示一個特征或屬性,葉節點表示一個類。 分類的時候,從根

機器學習筆記決策

決策樹(decision tree)是機器學習中最常見的方法之一,本文主要對決策樹的定義,生成與修剪以及經典的決策樹生成演算法進行簡要介紹。目錄如下 一、什麼是決策樹 二、決策樹的生成 三、決策樹的修剪 四、一些經典的決策樹生成演算法   一、什麼是決策樹 顧名