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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python机器学习决策树算法

發布時間:2024/1/1 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python机器学习决策树算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、概述:
1、信息熵:
公式:H[x] = -∑p(x)log2p(x)
不確定性越大,信息熵越大
2、決策樹評價:
優點:小規模數據集有效
缺點:處理連續變量不好;類別較多時,錯誤增加的比較快;不能處理大量數據

二、決策樹生成算法:
1、ID3算法:
選擇最大化信息增益來對結點進行劃分。

缺點:偏向于具有大量值的屬性,在訓練集中,某個屬性所取的不同值的個數越多,那么越有可能拿它來作為分裂屬性。
比如一個訓練集有10個元素,按某個屬性(該屬性下有10個類)分類,此時信息增益最大,但是毫無意義。
Ex:14個樣本的電腦購買情況

2、C4.5算法:
信息增益的方法傾向于首先選擇因子數較多的變量。
信息增益的改進,信息增益率
信息增益率 = 信息增益 / 分裂信息

Ex:機器學習例題-就業情況
3、CART算法:
CART用基尼(Gini)系數最小化準則來進行特征選擇,生成二叉樹;
分別計算它們的Gini系數增益,取Gini系數增益值最大的屬性作為決策樹的根節點屬性
公式如下:

Ex:10個樣本是否拖欠貸款

注意:
由于CART算法構建的是二叉樹,因此對于有多個類的屬性(如婚姻)需要進行預分類;對于類連續的屬性(如年收入),需要預先指定一個中間值,以滿足二分類的要求,如下:
婚姻狀況:

年收入:

4、剪枝
(1)預剪枝:
在建立決策樹之前,根據自己的經驗,把一些不太重要的屬性去掉
(2)后剪枝:
用所有的屬性構建決策樹之后,再砍掉決策樹的一部分;
作用:在有限度地損失一部分精確度的前提下,明顯地降低決策樹的復雜度,可以抵抗決策樹的過擬合情況。

三、決策樹非線性二分類:
1、非線性二分類存在的問題:
非線性二分類的決策邊界,比線性二分類的決策邊界復雜。
因此在構建決策樹的時候,會發現此時樹的結構很復雜、不實用;
同時,還很容易出現過擬合的情況(訓練集的結果很完美,但預測集的結果較差)
2、解決方法:剪枝
(1)設置樹的最大深度:max_depth
(2)設置內部節點再劃分所需的最小樣本數:min_samples_split
當某個節點包含的樣本數足夠小時,即使該節點中的樣本并非一類,也不對其再劃分
(3)通過剪枝,雖然可能會損失一些訓練集精度,但是卻明顯降低了樹結構的復雜度;同時也可以抵抗過擬合

四、sklearn生成決策樹的分析:

1、最上面一行0.5的意思是在獨熱矩陣x_data中,各列參數(如age、student、credit_rating等)的取值都是0(no)或者1(yes),因此0.5就是用來判斷是0還是1;
2、value中兩個值的意思是當前樣本中no和yes分別的個數,因此value中兩值之和總等于當前的sample;

五、相關代碼展示:
這次代碼太多了,就不一個一個貼了,直接上鏈接:
相關代碼

總結

以上是生活随笔為你收集整理的python机器学习决策树算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。