中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站策劃書十大外貿(mào)電商平臺(tái)

網(wǎng)站策劃書,十大外貿(mào)電商平臺(tái),免費(fèi)網(wǎng)站建設(shè)seo,愛站小工具課程開源地址及相關(guān)視頻鏈接:(當(dāng)然這里也希望大家支持一下正版西瓜書和南瓜書圖書,支持文睿、秦州等等致力于開源生態(tài)建設(shè)的大佬??ヽ(▽)ノ?) Datawhale-學(xué)用 AI,從此開始 【吃瓜教程】《機(jī)器學(xué)習(xí)公式詳解》(南瓜…

課程開源地址及相關(guān)視頻鏈接:(當(dāng)然這里也希望大家支持一下正版西瓜書和南瓜書圖書,支持文睿、秦州等等致力于開源生態(tài)建設(shè)的大佬??ヽ(°▽°)ノ?)

Datawhale-學(xué)用 AI,從此開始

【吃瓜教程】《機(jī)器學(xué)習(xí)公式詳解》(南瓜書)與西瓜書公式推導(dǎo)_嗶哩嗶哩_bilibili

正文部分

決策樹是一種有監(jiān)督的機(jī)器學(xué)習(xí)算法,可用于解決分類和回歸問題,是使用分支方法說明決策的所有可能結(jié)果的圖,可理解為實(shí)現(xiàn)某一特定結(jié)果的決策,隨機(jī)森林是基于樹的機(jī)器學(xué)習(xí)算法,是隨機(jī)創(chuàng)造的決策樹組成的森林,該算法利用了多棵決策樹來(lái)進(jìn)行決策,是用于分類、回歸和其他任務(wù)的集成學(xué)習(xí)方法,輸出結(jié)果是將單個(gè)決策樹的輸出整合起來(lái)生成最后的輸出結(jié)果。主要區(qū)別:

  • 輸出結(jié)果不同
  • 復(fù)雜度不同

決策樹的一些優(yōu)點(diǎn)是

  • 易于理解和解釋。樹可以可視化。

  • 需要很少的數(shù)據(jù)準(zhǔn)備。其他技術(shù)通常需要數(shù)據(jù)歸一化,需要?jiǎng)?chuàng)建虛擬變量,并刪除空白值。一些樹和算法組合支持?缺失值。

  • 使用樹的成本(即預(yù)測(cè)數(shù)據(jù))與用于訓(xùn)練樹的數(shù)據(jù)點(diǎn)的數(shù)量的對(duì)數(shù)成正比。

  • 能夠處理數(shù)值數(shù)據(jù)和分類數(shù)據(jù)。但是,scikit-learn 實(shí)現(xiàn)目前不支持分類變量。其他技術(shù)通常專門用于分析僅包含一種變量類型的數(shù)據(jù)集。有關(guān)更多信息,請(qǐng)參閱?算法。

  • 能夠處理多輸出問題。

  • 使用白盒模型。如果在模型中觀察到特定情況,則該條件的解釋可以通過布爾邏輯輕松解釋。相比之下,在黑盒模型(例如,在人工神經(jīng)網(wǎng)絡(luò)中),結(jié)果可能更難解釋。

  • 可以使用統(tǒng)計(jì)檢驗(yàn)來(lái)驗(yàn)證模型。這使得可以考慮模型的可靠性。

  • 即使其假設(shè)在一定程度上被生成數(shù)據(jù)的真實(shí)模型所違反,也能表現(xiàn)良好。

決策樹的缺點(diǎn)包括

  • 決策樹學(xué)習(xí)器可以創(chuàng)建過度復(fù)雜的樹,這些樹不能很好地概括數(shù)據(jù)。這被稱為過擬合。為了避免這個(gè)問題,需要使用修剪、設(shè)置葉節(jié)點(diǎn)所需的最小樣本數(shù)或設(shè)置樹的最大深度等機(jī)制。

  • 決策樹可能不穩(wěn)定,因?yàn)閿?shù)據(jù)中的微小變化可能會(huì)導(dǎo)致生成完全不同的樹。這個(gè)問題可以通過在集成中使用決策樹來(lái)緩解。

  • 決策樹的預(yù)測(cè)既不平滑也不連續(xù),而是如上圖所示的分段常數(shù)逼近。因此,它們不擅長(zhǎng)外推。

  • 學(xué)習(xí)最優(yōu)決策樹的問題在幾個(gè)方面(包括最優(yōu)性和簡(jiǎn)單概念)都是已知的 NP 完全問題。因此,實(shí)際的決策樹學(xué)習(xí)算法基于啟發(fā)式算法,例如貪婪算法,在每個(gè)節(jié)點(diǎn)上做出局部最優(yōu)決策。此類算法不能保證返回全局最優(yōu)決策樹。這可以通過在集成學(xué)習(xí)器中訓(xùn)練多棵樹來(lái)緩解,其中特征和樣本是隨機(jī)抽取并替換的。

  • 有一些概念很難學(xué)習(xí),因?yàn)闆Q策樹不容易表達(dá)它們,例如 XOR、奇偶校驗(yàn)或多路復(fù)用器問題。

  • 如果某些類占主導(dǎo)地位,決策樹學(xué)習(xí)器會(huì)創(chuàng)建有偏差的樹。因此,建議在使用決策樹擬合之前平衡數(shù)據(jù)集。

決策樹算法的主要步驟

(1)選擇最優(yōu)屬性(根節(jié)點(diǎn))

決策樹判斷一個(gè)屬性是不是當(dāng)前數(shù)據(jù)集的最優(yōu)屬性,是依靠信息熵變化的程度來(lái)選擇的。選擇某個(gè)屬性,依照這個(gè)屬性的值,對(duì)訓(xùn)練集進(jìn)行劃分,劃分后的子訓(xùn)練集的信息熵之和,相比未分割前的數(shù)據(jù)集信息熵,下降最多的,就是當(dāng)前的最優(yōu)屬性。也就是說,根據(jù)這個(gè)屬性,我們就可以對(duì)數(shù)據(jù)集進(jìn)行很大程度上的區(qū)分,例如貓和狗之間用耳朵區(qū)分,非常快。

(2)生成決策樹。(葉子節(jié)點(diǎn)的選擇)

選取最優(yōu)屬性后,根據(jù)此屬性的取值,對(duì)原始數(shù)據(jù)集劃分,得到子數(shù)據(jù)集,再將每個(gè)子數(shù)據(jù)集當(dāng)作完整數(shù)據(jù)集,迭代進(jìn)行最優(yōu)屬性的選取,直到數(shù)據(jù)集中樣本都是同一個(gè)分類標(biāo)簽時(shí),決策樹生成過程結(jié)束。

有時(shí)根據(jù)場(chǎng)景業(yè)務(wù)需求的不同,也不要求數(shù)據(jù)集分割到無(wú)法再分類的程度,而是指定迭代的次數(shù),即決策樹到第幾層就不再分割了,直接把當(dāng)前葉子數(shù)據(jù)集中數(shù)量最多的分類標(biāo)簽作為葉子節(jié)點(diǎn)。這是不同的停止規(guī)則。

而決策樹的三種常見算法,則是根據(jù)選擇最優(yōu)屬性時(shí)計(jì)算的信息熵函數(shù)不同劃分的。ID3 是根據(jù)信息熵,C4.5是根據(jù)信息增益率。CART是采用了基尼Gini系數(shù)。

(3)剪枝(防止過擬合)

剪枝就是給決策樹瘦身,這一步想實(shí)現(xiàn)的目標(biāo)就是,不需要太多的判斷,同樣可以得到不錯(cuò)的結(jié)果。

之所以這么做,是為了防止“過擬合”(Overfitting)現(xiàn)象的發(fā)生。

過擬合:指的是模型的訓(xùn)練結(jié)果“太好了”,以至于在實(shí)際應(yīng)用的過程中,會(huì)存在“死板”的情況,導(dǎo)致分類錯(cuò)誤。

欠擬合:指的是模型的訓(xùn)練結(jié)果不理想。

數(shù)據(jù)集為:

input = [[0.697, 0.460, 1],
[0.774, 0.376, 1],
[0.634, 0.264, 1],
[0.608, 0.318, 1],
[0.556, 0.215, 1],
[0.403, 0.237, 1],
[0.481, 0.149, 1],
[0.437, 0.211, 1],
[0.666, 0.091, 0],
[0.243, 0.267, 0],
[0.245, 0.057, 0],
[0.343, 0.099, 0],
[0.639, 0.161, 0],
[0.657, 0.198, 0],
[0.360, 0.370, 0],
[0.593, 0.042, 0],
[0.719, 0.103, 0]]

pandas:決策樹的構(gòu)建涉及到數(shù)據(jù)集的一些操作,利用pandas的DataFrame數(shù)據(jù)結(jié)構(gòu)可以很好方便的完成

copy?:在遞歸時(shí)淺拷貝會(huì)導(dǎo)致問題,使用copy.deepcopy()進(jìn)行深拷貝

matplot.pyplot:繪制決策樹的劃分圖像

import pandas as pd
import copy
import matplotlib.pyplot as plt
import numpy as np
from math import fabs

定義回歸樹的節(jié)點(diǎn)類Node

attrList 節(jié)點(diǎn)剩下的屬性列表

Dataset 節(jié)點(diǎn)劃分到的數(shù)據(jù)集

left/right 左右子樹

c 葉節(jié)點(diǎn)的預(yù)測(cè)值

description 該節(jié)點(diǎn)的描述(可選)

attr 該節(jié)點(diǎn)劃分屬性

s 劃分屬性的值

class Node:def __init__(self, description="", c = -1, Dataset=pd.DataFrame(), attrList=[]):self.attrList = attrListself.Dataset = Datasetself.left = Noneself.right = Noneself.c = cself.attr = ""self.s = -1self.desciption = description

?損失函數(shù)計(jì)算:

def loss(attr, s, data):D1 = data[data[attr] <= s]D1_mean = D1['label'].std() * D1.sizeD2 = data[data[attr] > s]D2_mean = D2['label'].std() * D2.sizereturn D1_mean + D2_mean

?

def findOptDiv(root):losses = []for attr in root.attrList:for s in root.Dataset[attr]:losses.append((loss(attr, s, root.Dataset), attr, s))minLoss = min(losses)return minLoss

二叉樹的構(gòu)建

在以下情況返回IF

len(attrList) == 0:此時(shí)所有屬性已經(jīng)劃分完畢, 就以該集合所有樣本的label的均值作預(yù)測(cè)值?Dataset.size == 1:此時(shí)該節(jié)點(diǎn)的樣本僅有一個(gè) 就 以該樣本的label值做預(yù)測(cè)值

ELSE?將樣本按最優(yōu)劃分劃分為兩個(gè)集合D1,D2,并分別構(gòu)建subTree

def buildTree(root):# if root.Dataset.size() <= 1:#     description = "leaf node"#     c_p = root.Dataset['label'].mean()#     leaf = Node(description=description, c = c_p) # 如果樣本集合中只有一個(gè)樣本那么該節(jié)點(diǎn)為葉節(jié)點(diǎn),該葉節(jié)點(diǎn)的預(yù)測(cè)值是該唯一樣本的labelif root.Dataset.size == 1:root.c = root.Dataset['label']return# 如果已經(jīng)將屬性分完了,那么該節(jié)點(diǎn)為葉節(jié)點(diǎn),剩下的樣本集中l(wèi)abel的期望為該葉節(jié)點(diǎn)的預(yù)測(cè)值elif len(root.attrList) == 0:root.description = "leaf node"root.c = root.Dataset['label'].mean()return else:# 找到最優(yōu)化分(_, attr, s) = findOptDiv(root)# 將節(jié)點(diǎn)的劃分屬性設(shè)為找到的attrroot.attr = copy.deepcopy(attr)# 將按屬性attr劃分該節(jié)點(diǎn)值劃分值s設(shè)為最優(yōu)的sroot.s  = copy.deepcopy(s)# 將樣本集合按照找到的最優(yōu)化分劃分為D1, D2D1 = copy.deepcopy(root.Dataset[root.Dataset[attr] <= s])D2 = copy.deepcopy(root.Dataset[root.Dataset[attr] > s])# 將劃分該節(jié)點(diǎn)屬性從屬性集合中刪除list_notremoved = copy.deepcopy(root.attrList)root.attrList.remove(attr)list_removed =  copy.deepcopy(root.attrList)root.attrList = copy.deepcopy(list_notremoved)# 構(gòu)建左子樹和右子樹root.left = Node(Dataset = D1, attrList=copy.deepcopy(list_removed))root.right = Node(Dataset = D2, attrList=copy.deepcopy(list_removed))buildTree(root.left)buildTree(root.right)return root

可以大致看出決策過程

  • 先看含糖率:
    • 小于.13
      • 小于.666 壞瓜
      • 大于.666 好瓜
    • 大于.13
      • 小于.697 0.6的概率是好瓜
      • 大于.697 1的概率是好瓜

參考文獻(xiàn)

算法——感知機(jī)詳解(推導(dǎo)+證明)

數(shù)學(xué)基礎(chǔ)-機(jī)器學(xué)習(xí)

?1.10. Decision Trees — scikit-learn 1.5.2 documentation

http://www.risenshineclean.com/news/41813.html

相關(guān)文章:

  • 邯鄲網(wǎng)站建設(shè)縱橫廣告軟文怎么寫
  • 中華南大街網(wǎng)站建設(shè)佛山百度網(wǎng)站排名優(yōu)化
  • 深圳網(wǎng)站建設(shè)公司哪家專業(yè)今日國(guó)內(nèi)新聞10則
  • 如何制作網(wǎng)站平臺(tái)北京aso優(yōu)化
  • 銷項(xiàng)稅和進(jìn)項(xiàng)導(dǎo)入是在國(guó)稅網(wǎng)站做嗎制作網(wǎng)站費(fèi)用
  • 自己的電腦做服務(wù)器建立網(wǎng)站的方法百度競(jìng)價(jià)搜索
  • 做能支付的網(wǎng)站貴嗎國(guó)內(nèi)免費(fèi)域名
  • 小說網(wǎng)站建設(shè)的支柱app推廣活動(dòng)策劃方案
  • 做門的網(wǎng)站1688的網(wǎng)站特色
  • python 做的網(wǎng)站有哪些如何在網(wǎng)絡(luò)上推廣產(chǎn)品
  • 顏色搭配的網(wǎng)站班級(jí)優(yōu)化大師官網(wǎng)下載
  • 什么網(wǎng)站可以做醫(yī)療設(shè)備的磁力鏈
  • 做網(wǎng)站 要域名 主機(jī) 還有啥東莞網(wǎng)站seo公司
  • 建設(shè)銀行網(wǎng)站機(jī)構(gòu)長(zhǎng)沙seo推廣外包
  • 金華網(wǎng)站建設(shè)外包百度定位店鋪位置怎么設(shè)置
  • 臺(tái)式機(jī)做網(wǎng)站服務(wù)器百度的首頁(yè)
  • 東莞市住房建設(shè)局網(wǎng)站成都百度推廣開戶公司
  • 鄭州網(wǎng)站建設(shè)漢獅百度下載安裝到桌面
  • 天津河?xùn)|區(qū)網(wǎng)站建設(shè)持續(xù)優(yōu)化完善防控措施
  • 今日河南新聞聯(lián)播上海整站seo
  • 專門做簡(jiǎn)歷的網(wǎng)站有哪些長(zhǎng)沙關(guān)鍵詞優(yōu)化方法
  • 檢察院加強(qiáng)網(wǎng)站建設(shè)長(zhǎng)沙優(yōu)化網(wǎng)站推廣
  • 在線做heatmap的網(wǎng)站谷歌推廣怎么操作
  • 深夜免費(fèi)軟件app下載seo營(yíng)銷的概念
  • 一般網(wǎng)站用什么軟件做怎么注冊(cè)一個(gè)自己的網(wǎng)站
  • 軟件公司網(wǎng)站系統(tǒng)集成建設(shè)營(yíng)銷推廣的特點(diǎn)
  • wordpress寄出郵箱地址小學(xué)生班級(jí)優(yōu)化大師
  • 外貿(mào)平臺(tái)免費(fèi)網(wǎng)站網(wǎng)站優(yōu)化推廣平臺(tái)
  • 學(xué)做網(wǎng)站設(shè)計(jì)需要多少錢網(wǎng)頁(yè)制作教程步驟
  • 網(wǎng)站建設(shè)整個(gè)過程個(gè)人介紹網(wǎng)頁(yè)制作