婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python機器學習算法之決策樹算法的實現(xiàn)與優(yōu)缺點

Python機器學習算法之決策樹算法的實現(xiàn)與優(yōu)缺點

熱門標簽:騰訊外呼線路 白銀外呼系統(tǒng) 公司電話機器人 唐山智能外呼系統(tǒng)一般多少錢 海南400電話如何申請 廣告地圖標注app 激戰(zhàn)2地圖標注 陜西金融外呼系統(tǒng) 哈爾濱ai外呼系統(tǒng)定制

1.算法概述

決策樹算法是在已知各種情況發(fā)生概率的基礎(chǔ)上,通過構(gòu)成決策樹來求取凈現(xiàn)值的期望值大于等于零的概率,評價項目風險,判斷其可行性的決策分析方法。

分類算法是利用訓練樣本集獲得分類函數(shù)即分類模型(分類器),從而實現(xiàn)將數(shù)據(jù)集中的樣本劃分到各個類中。分類模型通過學習訓練樣本中屬性集與類別之間的潛在關(guān)系,并以此為依據(jù)對新樣本屬于哪一類進行預測。

決策樹算法是直觀運用概率分析的一種圖解法,是一種十分常用的分類方法,屬于有監(jiān)督學習。

決策樹是一種樹形結(jié)構(gòu),其中每個內(nèi)部結(jié)點表示在一個屬性上的測試,每個分支代表一個測試輸出,每個葉子結(jié)點代表一種類別。

決策樹學習是以實例為基礎(chǔ)的歸納學習,它采用自頂向下的遞歸方法,其基本思想是以信息熵為度量構(gòu)造一顆熵值下降最快的樹,到葉子結(jié)點處的熵值為零,此時每個葉子節(jié)點中的實例都屬于同一類。

決策樹學習算法的最大優(yōu)點是,它可以自學習,在學習的過程中不需要使用者了解過多的背景知識,只需要對訓練實例進行較好的標注,就能夠進行學習。

2.算法種類

ID3算法

  • ID3算法中根據(jù)信息論的信息增益評估和選擇特征。每次選擇信息增益最大的候選特征,作為判斷模塊。
  • 信息增益與屬性的值域大小成正比。屬性取值種類越多,越有可能成為分裂屬性。
  • ID3也不能處理連續(xù)分布的數(shù)據(jù)。

C4.5算法

  • C4.5算法使用信息增益率代替信息增益,進行特征選擇,克服了信息增益選擇特征時偏向于特征值個數(shù)較多的不足。
  • C4.5算法具體算法步驟與ID3類似。
  • C4.5能夠完成對連續(xù)屬性的離散化處理,能夠?qū)Σ煌暾麛?shù)據(jù)進行處理。

C5.0算法

  • C5.0算法是Quinlan在C4.5算法的基礎(chǔ)上提出的商用改進版本,目的是對含有大量數(shù)據(jù)的數(shù)據(jù)集進行分析。
  • C5.0算法與C4.5算法相比有以下優(yōu)勢:
    • 決策樹構(gòu)建時間要比C4.5算法快上數(shù)倍,同時生成的決策樹規(guī)模也更小,擁有更少的葉子結(jié)點數(shù)
    • 使用了提升法(boosting),組合多個決策樹來做出分類,使準確率大大提高
    • 提供可選項由使用者視情況決定,例如是否考慮樣本的權(quán)重、樣本錯誤分類成本等

CART算法

  • CART決策樹的生成就是遞歸地構(gòu)建二叉決策樹的過程。
  • CART用基尼系數(shù)最小化準則來進行特征選擇,生成二叉樹。
  • Gini系數(shù)計算公式:

3.算法示例

在機器學習中,決策樹是一種預測模型,它代表的是對象屬性與對象值之間的一種映射關(guān)系。

決策樹的目的是擬合一個可以通過指定輸入值預測最終輸出值得模型。

4.決策樹構(gòu)建示例

描述

分析

計算

結(jié)論

5.算法實現(xiàn)步驟

選擇屬性是構(gòu)建一顆決策樹非常關(guān)鍵的一步,被選擇的屬性會成為決策樹的一個節(jié)點,并且不斷遞歸地選擇最優(yōu)的屬性就可以最終構(gòu)建決策樹。

計算數(shù)據(jù)集S中的每個屬性的熵 H(xi)選取數(shù)據(jù)集S中熵值最?。ɑ蛘咝畔⒃鲆孀畲?,兩者等價)的屬性在決策樹上生成該屬性節(jié)點使用剩余結(jié)點重復以上步驟生成決策樹的屬性節(jié)點

 6.算法相關(guān)概念

1948年,香農(nóng)提出了“信息熵”的概念,熵是接收的每條信息中所包含信息的平均量,是不確定性的量度,而不是確定性的量度,因為越隨機的信源的熵越大。熵被定義為概率分布的對數(shù)的相反數(shù)。

信息熵的公式:

信息增益

“信息增益”是用來衡量一個屬性區(qū)分數(shù)據(jù)樣本的能力,當使用某一個屬性作為一棵決策樹的根節(jié)點時,該屬性的信息增益量就越大。決策樹會選擇最大化信息增益來對結(jié)點進行劃分。

7.算法實現(xiàn)代碼

import numpy as np
import math
from collections import Counter

# 創(chuàng)建數(shù)據(jù)
def create_data():
    X1 = np.random.rand(50, 1)*100
    X2 = np.random.rand(50, 1)*100
    X3 = np.random.rand(50, 1)*100
    
    def f(x):
        return 2 if x > 70 else 1 if x > 40 else 0
    
    y = X1 + X2 + X3
    Y = y > 150
    Y = Y + 0
    r = map(f, X1)
    X1 = list(r)
    
    r = map(f, X2)
    X2 = list(r)
    
    r = map(f, X3)
    X3 = list(r)
    x = np.c_[X1, X2, X3, Y]
    return x, ['courseA', 'courseB', 'courseC']


# 計算集合信息熵的函數(shù)
def calculate_info_entropy(dataset):
    n = len(dataset)
    # 我們用Counter統(tǒng)計一下Y的數(shù)量
    labels = Counter(dataset[:, -1])
    entropy = 0.0
    # 套用信息熵公式
    for k, v in labels.items():
        prob = v / n
        entropy -= prob * math.log(prob, 2)
    return entropy

# 實現(xiàn)拆分函數(shù)
def split_dataset(dataset, idx):
  	# idx是要拆分的特征下標
    splitData = defaultdict(list)
    for data in dataset:
      	# 這里刪除了idx這個特征的取值,因為用不到了
        splitData[data[idx]].append(np.delete(data, idx))
    return list(splitData.values()), list(splitData.keys())

# 實現(xiàn)特征的選擇函數(shù)
def choose_feature_to_split(dataset):
    n = len(dataset[0])-1
    m = len(dataset)
    # 切分之前的信息熵
    entropy = calculate_info_entropy(dataset)
    bestGain = 0.0
    feature = -1
    for i in range(n):
      	# 根據(jù)特征i切分
        split_data, _ = split_dataset(dataset, i)
        new_entropy = 0.0
        # 計算切分后的信息熵
        for data in split_data:
            prob = len(data) / m
            new_entropy += prob * calculate_info_entropy(data)
        # 獲取信息增益
        gain = entropy - new_entropy
        if gain > bestGain:
            bestGain = gain
            feature = i
    return feature

# 決策樹創(chuàng)建函數(shù)
def create_decision_tree(dataset, feature_names):
    dataset = np.array(dataset)
    counter = Counter(dataset[:, -1])
    # 如果數(shù)據(jù)集值剩下了一類,直接返回
    if len(counter) == 1:
        return dataset[0, -1]
    
    # 如果所有特征都已經(jīng)切分完了,也直接返回
    if len(dataset[0]) == 1:
        return counter.most_common(1)[0][0]
    
    # 尋找最佳切分的特征
    fidx = choose_feature_to_split(dataset)
    fname = feature_names[fidx]
    
    node = {fname: {}}
    feature_names.remove(fname)
    
    # 遞歸調(diào)用,對每一個切分出來的取值遞歸建樹
    split_data, vals = split_dataset(dataset, fidx)
    for data, val in zip(split_data, vals):
        node[fname][val] = create_decision_tree(data, feature_names[:])
    return node

# 決策樹節(jié)點預測函數(shù)
def classify(node, feature_names, data):
  	# 獲取當前節(jié)點判斷的特征
    key = list(node.keys())[0]
    node = node[key]
    idx = feature_names.index(key)
    
    # 根據(jù)特征進行遞歸
    pred = None
    for key in node:
      	# 找到了對應(yīng)的分叉
        if data[idx] == key:
          	# 如果再往下依然還有子樹,那么則遞歸,否則返回結(jié)果
            if isinstance(node[key], dict):
                pred = classify(node[key], feature_names, data)
            else:
                pred = node[key]
                
    # 如果沒有對應(yīng)的分叉,則找到一個分叉返回
    if pred is None:
        for key in node:
            if not isinstance(node[key], dict):
                pred = node[key]
                break
    return pred

8.算法優(yōu)缺點

 優(yōu)點:小規(guī)模數(shù)據(jù)集有效

缺點

  • 處理連續(xù)變量不好
  • 類別比較多時,錯誤增加得比較快
  • 不能處理大量數(shù)據(jù)

9.算法優(yōu)化

決策樹算法是一種非常經(jīng)典的算法,其訓練過程中主要依靠獲得數(shù)據(jù)間的熵及信息增益作為劃分依據(jù),分類效果較好。但一般情況下我們訓練決策樹均是在數(shù)據(jù)量較小的數(shù)據(jù)集進行,當訓練分類器所用的訓練數(shù)據(jù)足夠大時,決策樹會出現(xiàn)樹身過高、擬合效果差等問題。因此,如何高效準確的構(gòu)建決策樹成為模式識別領(lǐng)域的一項研究熱點。

使用增量訓練的方式迭代訓練決策樹
融合Bagging與Boosting技術(shù)訓練多棵決策樹
對于波動不大、方差較小的數(shù)據(jù)集, 可以探尋一種比較穩(wěn)定的分裂準則作為解決辦法

總結(jié)

到此這篇關(guān)于Python機器學習算法之決策樹算法的文章就介紹到這了,更多相關(guān)Python決策樹算法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python機器學習之決策樹
  • python機器學習實現(xiàn)決策樹
  • Python機器學習算法庫scikit-learn學習之決策樹實現(xiàn)方法詳解
  • python機器學習理論與實戰(zhàn)(二)決策樹
  • Python機器學習之決策樹算法
  • python機器學習之決策樹分類詳解
  • Python機器學習之決策樹算法實例詳解
  • 機器學習python實戰(zhàn)之決策樹
  • 分析機器學習之決策樹Python實現(xiàn)

標簽:益陽 黑龍江 常德 惠州 四川 上海 鷹潭 黔西

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Python機器學習算法之決策樹算法的實現(xiàn)與優(yōu)缺點》,本文關(guān)鍵詞  Python,機器,學習,算法,之,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python機器學習算法之決策樹算法的實現(xiàn)與優(yōu)缺點》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python機器學習算法之決策樹算法的實現(xiàn)與優(yōu)缺點的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩成人精品在线| 国产麻豆日韩欧美久久| 日韩美女视频一区二区| 亚洲精品美国一| 日韩精品乱码免费| 成人午夜激情视频| 欧美日韩情趣电影| 亚洲精品在线免费观看视频| 中文字幕一区二区不卡| 日本欧美久久久久免费播放网| 国产制服丝袜一区| 色噜噜久久综合| 欧美岛国在线观看| 亚洲欧美色综合| 激情丁香综合五月| 欧美日韩一二区| 亚洲国产精品成人综合| 樱桃视频在线观看一区| 国产精品中文字幕日韩精品| 欧美亚洲综合色| 国产精品久久午夜| 国内成人精品2018免费看| 欧美三级在线看| 国产精品毛片久久久久久久| 蜜桃精品视频在线观看| 91久久奴性调教| 国产精品免费丝袜| 国产美女主播视频一区| 欧美精品一卡二卡| 国产精品免费免费| 狠狠狠色丁香婷婷综合激情| 欧美在线看片a免费观看| 国产精品视频一二| 国产成人免费在线视频| 日韩欧美成人一区| 亚洲v中文字幕| 在线影院国内精品| 亚洲女人****多毛耸耸8| 国产精品一线二线三线精华| 正在播放亚洲一区| 日日摸夜夜添夜夜添精品视频| 色综合久久天天综合网| 欧美激情一区二区在线| 国产一区二三区好的| 日韩欧美一二三区| 久久成人免费电影| 精品国产乱子伦一区| 美女一区二区在线观看| 欧美日本视频在线| 午夜伊人狠狠久久| 欧美日韩五月天| 国内外成人在线| 欧美成人艳星乳罩| 麻豆91在线看| 精品日韩欧美在线| 韩日精品视频一区| 亚洲精品一区二区三区四区高清 | 在线免费亚洲电影| 亚洲三级视频在线观看| 91一区一区三区| 18成人在线观看| 91国模大尺度私拍在线视频| 依依成人综合视频| 欧美三级韩国三级日本三斤| 一区二区三区久久| 91色婷婷久久久久合中文| 亚洲免费色视频| 欧美理论在线播放| 久久国产视频网| 国产夜色精品一区二区av| 国产91精品久久久久久久网曝门| 国产免费成人在线视频| 91亚洲永久精品| 亚洲国产精品久久久久秋霞影院 | 在线欧美日韩国产| 五月综合激情日本mⅴ| 91精品国产一区二区| 国产一区二区三区久久久 | 国产午夜精品一区二区三区视频 | 国产精品成人在线观看| 日本精品一级二级| 免费在线看一区| 国产丝袜欧美中文另类| jizzjizzjizz欧美| 亚洲国产综合色| 精品播放一区二区| 色综合久久久久综合99| 日产欧产美韩系列久久99| 国产偷v国产偷v亚洲高清| 色天使色偷偷av一区二区| 五月婷婷色综合| 国产无遮挡一区二区三区毛片日本| 国产农村妇女精品| 色综合视频在线观看| 青椒成人免费视频| 亚洲欧洲韩国日本视频| 欧美日韩视频在线观看一区二区三区| 日韩中文欧美在线| 精品免费99久久| 91女厕偷拍女厕偷拍高清| 日本一不卡视频| 亚洲欧美中日韩| 日韩欧美中文一区| 91美女在线观看| 国产毛片一区二区| 毛片一区二区三区| 亚洲欧美综合另类在线卡通| 精品女同一区二区| 色欧美片视频在线观看在线视频| 久久99蜜桃精品| 一色屋精品亚洲香蕉网站| 日韩亚洲欧美在线观看| 国产中文一区二区三区| 天天综合天天做天天综合| 久久综合狠狠综合久久综合88| 欧美在线观看你懂的| 高清免费成人av| 国产一区不卡精品| 亚洲一级在线观看| 中文字幕精品一区二区三区精品| 欧美一级一级性生活免费录像| 色综合色狠狠综合色| 国产91精品一区二区| 日本免费新一区视频| 亚洲线精品一区二区三区 | 欧美电影免费观看高清完整版| 欧洲生活片亚洲生活在线观看| 粉嫩嫩av羞羞动漫久久久| 麻豆一区二区在线| 青青国产91久久久久久| 亚洲不卡一区二区三区| 亚洲自拍偷拍网站| 亚洲一区视频在线观看视频| 亚洲视频图片小说| 亚洲欧美一区二区三区孕妇| 国产精品私房写真福利视频| 久久精品视频一区| 国产无遮挡一区二区三区毛片日本| 欧美tk丨vk视频| 日韩精品一区二区三区在线观看| 欧美一卡在线观看| 日韩视频一区二区三区| 欧美电影一区二区| 91精品国产免费久久综合| 欧美v国产在线一区二区三区| 日韩午夜三级在线| 日韩欧美专区在线| 2014亚洲片线观看视频免费| 久久亚洲私人国产精品va媚药| 久久精品这里都是精品| 国产精品沙发午睡系列990531| 中文在线一区二区| 亚洲欧美偷拍另类a∨色屁股| 亚洲欧美另类综合偷拍| 一区二区三区四区不卡视频| 亚洲国产三级在线| 免费人成在线不卡| 国产精品系列在线观看| 99在线热播精品免费| 欧美日韩精品系列| 制服丝袜成人动漫| 国产偷国产偷精品高清尤物| 国产精品传媒视频| 天堂久久一区二区三区| 精品中文字幕一区二区小辣椒| 国产精品自拍网站| 91国偷自产一区二区三区观看| 欧美少妇性性性| 欧美精品一区男女天堂| 国产精品久久久久影院色老大 | 一本色道久久综合亚洲91| 欧美日韩一区在线观看| 欧美精品一区二区三区在线| 亚洲丝袜自拍清纯另类| 美女尤物国产一区| a在线播放不卡| 欧美日韩三级视频| 日本一区二区视频在线观看| 一区二区三区欧美亚洲| 久久精品国产99| 色菇凉天天综合网| 亚洲精品一线二线三线无人区| 亚洲精品日韩一| 国产一区二区三区在线观看免费视频 | 美国一区二区三区在线播放| 国产a精品视频| 欧美区视频在线观看| 国产精品亲子乱子伦xxxx裸| 秋霞成人午夜伦在线观看| proumb性欧美在线观看| 欧美一区二区三区在| 18欧美乱大交hd1984| 国产在线精品视频| 欧美日韩成人综合在线一区二区| 久久日韩精品一区二区五区| 一区二区三区鲁丝不卡| 国产成人午夜精品影院观看视频 | 国产一区二区伦理| 717成人午夜免费福利电影| 亚洲蜜臀av乱码久久精品|