機器學習 決策樹 C

2021-10-10 17:21:40 字數 1083 閱讀 2640

有關決策樹(id3)的具體原理,可參考這篇文章,這裡只是簡單求了根節點,並未將整棵樹建立起來。

**僅供參考。(沒有注釋,可能比較難理解)

(來自於南京大學周志華教授《機器學習》一書)

#include #include #include #include #include #define maxn 27

#define n 17

using namespace std;

struct nodewm[maxn];

double entd;

double calc_ent(int x,int y)

}for(int i=1;i<=n;++i)

return (-res);

}double calc_gain(int x)

return entd-res;

}void init()

entd=calc_ent(0,0);

printf("entd=%lf\n",entd);

}void solve()

}printf("root=%d\n",root);

}int main()

/*1 2 1 2 3 1 2 1

2 3 1 1 3 1 2 1

3 3 1 2 3 1 2 1

4 2 1 1 3 1 2 1

5 1 1 2 3 1 2 1

6 2 2 2 3 2 1 1

7 3 2 2 2 2 1 1

8 3 2 2 3 2 2 1

9 3 2 1 2 2 2 2

10 2 3 3 3 3 1 2

11 1 3 3 1 3 2 2

12 1 1 2 1 3 1 2

13 2 2 2 2 1 2 2

14 1 2 1 2 1 2 2

15 3 2 2 3 2 1 2

16 1 1 2 1 3 2 2

17 2 1 1 2 2 2 2

*/

機器學習 決策樹

一 基本概念 決策樹 decision tree 是一種基本的分類與回歸方法。決策樹模型呈樹形結構,在分類問題中,表示屬於特徵對例項進行分類的過程,它可以認為是if then規則的集合,也可以認為是電議在特徵空間與類空空上的條件概率分布,其主要優點是模型具有可讀性,分類速度快。決策樹的學習通常包括3...

機器學習 決策樹

我覺得決策樹是機器學習所有演算法中最可愛的了 沒有那麼多複雜的數學公式哈哈 下圖是一棵決策樹,用來判斷西瓜是好瓜還是壞瓜 決策過程中提出的每個判定問題都是都對某個屬性的測試,每個測試結果要麼推導出最終結論,要麼匯出進一步判斷的問題,在上次決策結果限定的範圍內做進一步判斷。從上圖可以看出,葉節點對應決...

機器學習 決策樹

一 演算法簡介 決策樹一般都是自上而下來生成的,每個決策後事件 即自然狀態 都可能引出兩個或多個事件,導致結果的不同,把這種結構分支畫成形狀很像一棵樹的枝幹,故稱為決策樹。決策樹能夠讀取資料集合,並且決策樹很多任務都是為了資料中所蘊含的知識資訊,因此決策樹可以使用不熟悉的資料集合,並從中提取一系列規...