麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Python > 正文

決策樹的python實現方法

2020-02-23 06:10:29
字體:
來源:轉載
供稿:網友

本文實例講述了決策樹的python實現方法。分享給大家供大家參考。具體實現方法如下:

決策樹算法優缺點:

優點:計算復雜度不高,輸出結果易于理解,對中間值缺失不敏感,可以處理不相關的特征數據

缺點:可能會產生過度匹配的問題

適用數據類型:數值型和標稱型

算法思想:

1.決策樹構造的整體思想:

決策樹說白了就好像是if-else結構一樣,它的結果就是你要生成這個一個可以從根開始不斷判斷選擇到葉子節點的樹,但是呢這里的if-else必然不會是讓我們認為去設置的,我們要做的是提供一種方法,計算機可以根據這種方法得到我們所需要的決策樹。這個方法的重點就在于如何從這么多的特征中選擇出有價值的,并且按照最好的順序由根到葉選擇。完成了這個我們也就可以遞歸構造一個決策樹了

2.信息增益

劃分數據集的最大原則是將無序的數據變得更加有序。既然這又牽涉到信息的有序無序問題,自然要想到想弄的信息熵了。這里我們計算用的也是信息熵(另一種方法是基尼不純度)。公式如下:

數據需要滿足的要求:

① 數據必須是由列表元素組成的列表,而且所有的列白哦元素都要具有相同的數據長度
② 數據的最后一列或者每個實例的最后一個元素應是當前實例的類別標簽

函數:

calcShannonEnt(dataSet)
計算數據集的香農熵,分兩步,第一步計算頻率,第二部根據公式計算香農熵

splitDataSet(dataSet, aixs, value)
劃分數據集,將滿足X[aixs]==value的值都劃分到一起,返回一個劃分好的集合(不包括用來劃分的aixs屬性,因為不需要)

chooseBestFeature(dataSet)
選擇最好的屬性進行劃分,思路很簡單就是對每個屬性都劃分下,看哪個好。這里使用到了一個set來選取列表中唯一的元素,這是一中很快的方法

majorityCnt(classList)
因為我們遞歸構建決策樹是根據屬性的消耗進行計算的,所以可能會存在最后屬性用完了,但是分類還是沒有算完,這時候就會采用多數表決的方式計算節點分類

createTree(dataSet, labels)
基于遞歸構建決策樹。這里的label更多是對于分類特征的名字,為了更好看和后面的理解。

代碼如下:
#coding=utf-8
import operator
from math import log
import time

def createDataSet():
    dataSet=[[1,1,'yes'],
            [1,1,'yes'],
            [1,0,'no'],
            [0,1,'no'],
            [0,1,'no']]

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 99999久久久久久 | 免费在线性爱视频 | 精品亚洲免费 | lutube成人福利在线观看 | 黄色av免费网站 | 亚洲精品久久久久久久久久 | 日韩在线播放第一页 | 精品一区二区三区在线观看国产 | 色婷婷一区二区三区 | av免播放| 日韩在线播放第一页 | 国产成人在线播放视频 | 高清成人在线 | 国产影院一区 | 成人毛片网 | 久久影院一区二区三区 | 婷婷久久综合九色综合色多多蜜臀 | 福利免费在线 | 自拍偷拍亚洲图片 | 黄网站免费观看视频 | 国产乱子视频 | 色播久久| 好吊色欧美一区二区三区四区 | 全黄裸片武则天艳史 | 久久久青 | 亚欧在线免费观看 | 免费在线性爱视频 | 91精品国产成人 | 亚洲aⅴ在线观看 | 天堂成人国产精品一区 | 国产精品免费小视频 | 欧美人成在线视频 | 亚洲第一页在线观看 | 国产午夜精品久久久久久久蜜臀 | 国产成人高潮免费观看精品 | 伦理三区 | 男女做性免费网站 | 国产一区二区在线观看视频 | 久久久久久久网站 | 国产精品久久久久久久av | 国产毛片自拍 |