国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【機(jī)器學(xué)習(xí)】07. 決策樹模型DecisionTreeClassifier(代碼注釋,思路推導(dǎo))

這篇具有很好參考價(jià)值的文章主要介紹了【機(jī)器學(xué)習(xí)】07. 決策樹模型DecisionTreeClassifier(代碼注釋,思路推導(dǎo))。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


『機(jī)器學(xué)習(xí)』分享機(jī)器學(xué)習(xí)課程學(xué)習(xí)筆記,逐步講述從簡(jiǎn)單的線性回歸、邏輯回歸到 ? 決策樹算法 ? 樸素貝葉斯算法 ? 支持向量機(jī)算法 ? 隨機(jī)森林算法 ? 人工神經(jīng)網(wǎng)絡(luò)算法 等算法的內(nèi)容。

歡迎關(guān)注 『機(jī)器學(xué)習(xí)』 系列,持續(xù)更新中
歡迎關(guān)注 『機(jī)器學(xué)習(xí)』 系列,持續(xù)更新中

資源下載

拿來(lái)即用,所見(jiàn)即所得。
項(xiàng)目倉(cāng)庫(kù):https://gitee.com/miao-zehao/machine-learning/tree/master
【機(jī)器學(xué)習(xí)】07. 決策樹模型DecisionTreeClassifier(代碼注釋,思路推導(dǎo))


實(shí)現(xiàn)思路與核心函數(shù)解讀

基于Python機(jī)器學(xué)習(xí)庫(kù)sklearn.tree.DecisionTreeClassifier決策樹分類模型,對(duì)鳶尾花數(shù)據(jù)集iris.csv建立決策樹模型。

DecisionTreeClassifier分類決策樹

sklearn.tree.DecisionTreeClassifier
創(chuàng)建一個(gè)決策樹分類器模型實(shí)例:tree_model=DecisionTreeClassifier(criterion=“gini”,max_depth=3,random_state=0,splitter=“best”)

參數(shù)解讀:

  • 特征選擇標(biāo)準(zhǔn) criterion: string, 默認(rèn)是 “gini”) 設(shè)置為‘gini’(基尼系數(shù))或是‘entropy’(信息熵)
  • 決策樹最大深度 max_depth:int或None,可選(默認(rèn)=None)樹的最大深度。如果為 None,則擴(kuò)展節(jié)點(diǎn)直到所有葉子都是純的或直到所有葉子包含少于 min_samples_split 樣本。
  • 隨機(jī)數(shù)生成器使用的種子 random_state:int,建議設(shè)置一個(gè)常數(shù)保證在研究參數(shù)時(shí)不會(huì)被隨機(jī)數(shù)干擾。如果為 None,則隨機(jī)數(shù)生成器是 RandomState 使用的實(shí)例np.random
  • 拆分器 splitter:字符串,可選(默認(rèn)=“最佳”)用于在每個(gè)節(jié)點(diǎn)處選擇拆分的策略。默認(rèn)是 default=”best”,或者是“random”

tree.plot_tree決策樹可視化

sklearn.tree.plot_tree
創(chuàng)建一個(gè)決策樹可視化實(shí)例:tree_model=DecisionTreeClassifier(criterion=“gini”,max_depth=3,random_state=0,splitter=“best”)

參數(shù)解讀:

  • 模型對(duì)象名
  • feature_names 特征名稱的列表
  • class_names 分類名稱的列表

ps:可能會(huì)遇到如下報(bào)錯(cuò),這個(gè)時(shí)候更新sklearn庫(kù)到最新版本,報(bào)錯(cuò)就不會(huì)發(fā)生。
【機(jī)器學(xué)習(xí)】07. 決策樹模型DecisionTreeClassifier(代碼注釋,思路推導(dǎo))


1. 對(duì)決策樹最大深度的研究與可視化

將“決策樹最大深度”分別設(shè)置為3和5建立決策樹模型,并進(jìn)行結(jié)果可視化,對(duì)比建模結(jié)果。

import matplotlib
import sklearn.tree
from sklearn.datasets import load_iris
# 導(dǎo)入決策樹分類器
from sklearn.tree import DecisionTreeClassifier, plot_tree
# 導(dǎo)入分割數(shù)據(jù)集的方法
from sklearn.model_selection import train_test_split
# 導(dǎo)入科學(xué)計(jì)算包
import numpy as np
# 導(dǎo)入繪圖庫(kù)
import matplotlib.pyplot as plt

# 加載鳶尾花數(shù)據(jù)集
iris_dataset = load_iris()
# 分割訓(xùn)練集與測(cè)試集
X_train,X_test,y_train,y_test=train_test_split(iris_dataset['data'],iris_dataset['target'],test_size=0.2,random_state=0)

def Mytest_max_depth(my_max_depth):
    # 創(chuàng)建決策時(shí)分類器-
    tree_model=DecisionTreeClassifier(criterion="gini",max_depth=my_max_depth,random_state=0,splitter="best")
    # - 特征選擇標(biāo)準(zhǔn) criterion: string, 默認(rèn)是 “gini”) 設(shè)置為‘gini’(基尼系數(shù))或是‘entropy’(信息熵)
    # - 決策樹最大深度 max_depth:int或None,可選(默認(rèn)=None)樹的最大深度。如果為 None,則擴(kuò)展節(jié)點(diǎn)直到所有葉子都是純的或直到所有葉子包含少于 min_samples_split 樣本。
    # - 隨機(jī)數(shù)生成器使用的種子 random_state:int,建議設(shè)置一個(gè)常數(shù)保證在研究參數(shù)時(shí)不會(huì)被隨機(jī)數(shù)干擾。如果為 None,則隨機(jī)數(shù)生成器是 RandomState 使用的實(shí)例np.random
    # - 拆分器 splitter:字符串,可選(默認(rèn)=“最佳”)用于在每個(gè)節(jié)點(diǎn)處選擇拆分的策略。默認(rèn)是 default=”best”,或者是“random”

    # 喂入數(shù)據(jù)
    tree_model.fit(X_train,y_train)

    # 打印模型評(píng)分
    print("模型評(píng)分:{}".format(tree_model.score(X_test,y_test)))
    # 隨機(jī)生成一組數(shù)據(jù)使用我們的模型預(yù)測(cè)分類
    X_iris_test=np.array([[1.0,3.4,1.5,0.2]])
    # 用訓(xùn)練好的模型預(yù)測(cè)隨機(jī)生成的樣本數(shù)據(jù)的出的分類結(jié)果
    predict_result=tree_model.predict(X_iris_test)
    # 打印預(yù)測(cè)分類結(jié)果
    print(predict_result)
    print("分類結(jié)果:{}".format(iris_dataset['target_names'][predict_result]))

    # 模型可視化
    iris_feature_names=iris_dataset.feature_names#鳶尾花特征名列表 ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']
    iris_class_names=iris_dataset.target_names#鳶尾花分類類名列表 ['setosa' 'versicolor' 'virginica']

    fig = plt.figure(figsize=(20, 12))#圖片畫布大小比例
    matplotlib.rcParams['font.sans-serif'] = [u'SimHei']  # 用來(lái)設(shè)置字體樣式以正常顯示中文標(biāo)簽
    matplotlib.rcParams['axes.unicode_minus'] = False  # 設(shè)置為 Fasle 來(lái)解決負(fù)號(hào)的亂碼問(wèn)題
    sklearn.tree.plot_tree(tree_model,feature_names=iris_feature_names, class_names=iris_class_names, rounded=True, filled= True, fontsize=14)
    # 模型對(duì)象名
    # feature_names 特征名稱的列表
    # class_names 分類名稱的列表

    plt.title("決策樹最大深度={}的可視化圖".format(my_max_depth))
    plt.savefig("1/決策樹最大深度={}的可視化圖.png".format(my_max_depth))
    plt.show()

Mytest_max_depth(3)
Mytest_max_depth(4)
Mytest_max_depth(5)

繪圖結(jié)果

  • 決策樹最大深度=3的可視化圖
    【機(jī)器學(xué)習(xí)】07. 決策樹模型DecisionTreeClassifier(代碼注釋,思路推導(dǎo))

  • 決策樹最大深度=4的可視化圖
    【機(jī)器學(xué)習(xí)】07. 決策樹模型DecisionTreeClassifier(代碼注釋,思路推導(dǎo))

  • 決策樹最大深度=5的可視化圖
    【機(jī)器學(xué)習(xí)】07. 決策樹模型DecisionTreeClassifier(代碼注釋,思路推導(dǎo))

分析

最大深度限制樹的最大深度,超過(guò)設(shè)定深度的樹枝全部剪掉。
高維度低樣本量時(shí)效果比較好,但是決策樹生長(zhǎng)層數(shù)的增加會(huì)導(dǎo)致對(duì)樣本量的需求會(huì)增加一倍,樹深度較低是能夠有效地限制過(guò)擬合。實(shí)際使用時(shí),要逐步嘗試,比如從3開始看看擬合的效果再?zèng)Q定是否增加設(shè)定深度。


2. 對(duì)特征選擇標(biāo)準(zhǔn)的研究與可視化

將“特征選擇標(biāo)準(zhǔn)”分別設(shè)置為‘gini’(基尼系數(shù))和‘entropy’(信息熵)建立決策樹模型,并進(jìn)行結(jié)果可視化,對(duì)比建模結(jié)果;

import matplotlib
import sklearn.tree
from sklearn.datasets import load_iris
# 導(dǎo)入決策樹分類器
from sklearn.tree import DecisionTreeClassifier, plot_tree
# 導(dǎo)入分割數(shù)據(jù)集的方法
from sklearn.model_selection import train_test_split
# 導(dǎo)入科學(xué)計(jì)算包
import numpy as np
# 導(dǎo)入繪圖庫(kù)
import matplotlib.pyplot as plt

# 加載鳶尾花數(shù)據(jù)集
iris_dataset = load_iris()
# 分割訓(xùn)練集與測(cè)試集
X_train,X_test,y_train,y_test=train_test_split(iris_dataset['data'],iris_dataset['target'],test_size=0.2,random_state=0)

def Mytest_criterion(my_criterion):
    # 創(chuàng)建決策時(shí)分類器-
    tree_model=DecisionTreeClassifier(criterion=my_criterion,max_depth=4,random_state=0,splitter="best")
    # - 特征選擇標(biāo)準(zhǔn) criterion: string, 默認(rèn)是 “gini”) 設(shè)置為‘gini’(基尼系數(shù))或是‘entropy’(信息熵)
    # - 決策樹最大深度 max_depth:int或None,可選(默認(rèn)=None)樹的最大深度。如果為 None,則擴(kuò)展節(jié)點(diǎn)直到所有葉子都是純的或直到所有葉子包含少于 min_samples_split 樣本。
    # - 隨機(jī)數(shù)生成器使用的種子 random_state:int,建議設(shè)置一個(gè)常數(shù)保證在研究參數(shù)時(shí)不會(huì)被隨機(jī)數(shù)干擾。如果為 None,則隨機(jī)數(shù)生成器是 RandomState 使用的實(shí)例np.random
    # - 拆分器 splitter:字符串,可選(默認(rèn)=“最佳”)用于在每個(gè)節(jié)點(diǎn)處選擇拆分的策略。默認(rèn)是 default=”best”,或者是“random”

    # 喂入數(shù)據(jù)
    tree_model.fit(X_train,y_train)

    # 打印模型評(píng)分
    print("模型評(píng)分:{}".format(tree_model.score(X_test,y_test)))
    # 隨機(jī)生成一組數(shù)據(jù)使用我們的模型預(yù)測(cè)分類
    X_iris_test=np.array([[1.0,3.4,1.5,0.2]])
    # 用訓(xùn)練好的模型預(yù)測(cè)隨機(jī)生成的樣本數(shù)據(jù)的出的分類結(jié)果
    predict_result=tree_model.predict(X_iris_test)
    # 打印預(yù)測(cè)分類結(jié)果
    print(predict_result)
    print("分類結(jié)果:{}".format(iris_dataset['target_names'][predict_result]))

    # 模型可視化
    iris_feature_names=iris_dataset.feature_names#鳶尾花特征名列表 ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']
    iris_class_names=iris_dataset.target_names#鳶尾花分類類名列表 ['setosa' 'versicolor' 'virginica']

    fig = plt.figure(figsize=(20, 12))#圖片畫布大小比例
    matplotlib.rcParams['font.sans-serif'] = [u'SimHei']  # 用來(lái)設(shè)置字體樣式以正常顯示中文標(biāo)簽
    matplotlib.rcParams['axes.unicode_minus'] = False  # 設(shè)置為 Fasle 來(lái)解決負(fù)號(hào)的亂碼問(wèn)題
    sklearn.tree.plot_tree(tree_model,feature_names=iris_feature_names, class_names=iris_class_names, rounded=True, filled= True, fontsize=14)
    # 模型對(duì)象名
    # feature_names 特征名稱的列表
    # class_names 分類名稱的列表

    plt.title("決策樹特征選擇標(biāo)準(zhǔn)={}的可視化圖".format(my_criterion))
    plt.savefig("2/特征選擇標(biāo)準(zhǔn)={}的可視化圖.png".format(my_criterion))
    plt.show()

Mytest_criterion("gini")#基尼系數(shù)
Mytest_criterion("entropy")#信息熵

繪圖結(jié)果

  • 特征選擇標(biāo)準(zhǔn)=entropy的可視化圖
    【機(jī)器學(xué)習(xí)】07. 決策樹模型DecisionTreeClassifier(代碼注釋,思路推導(dǎo))
  • 特征選擇標(biāo)準(zhǔn)=gini的可視化圖
    【機(jī)器學(xué)習(xí)】07. 決策樹模型DecisionTreeClassifier(代碼注釋,思路推導(dǎo))

分析

  • 從圖上看到我們的兩種特征選擇標(biāo)準(zhǔn)實(shí)際上在這個(gè)鳶尾花數(shù)據(jù)集里對(duì)于分類的結(jié)果趨向一致。實(shí)際上因?yàn)樵跀?shù)學(xué)建模中經(jīng)常使用熵權(quán)法,我一般比較喜歡信息熵ID3算法,所以著重講講信息熵。

  • 信息熵:ID3算法—信息增益
    信息增益是針對(duì)一個(gè)具體的特征而言的,某個(gè)特征的有無(wú)對(duì)于整個(gè)系統(tǒng)、集合的影響程度就可以用“信息增益”來(lái)描述。我們知道,經(jīng)過(guò)一次 if-else 判別后,原來(lái)的類別集合就被被分裂成兩個(gè)集合,而我們的目的是讓其中一個(gè)集合的某一類別的“純度”盡可能高,如果分裂后子集的純度比原來(lái)集合的純度要高,那就說(shuō)明這是一次 if-else 劃分是有效過(guò)的。通過(guò)比較使的“純度”最高的那個(gè)劃分條件,也就是我們要找的“最合適”的特征維度判別條件。


3. 對(duì)決策樹其他參數(shù)的研究與可視化

嘗試修改決策樹模型中的其他參數(shù)進(jìn)行建模,并對(duì)比建模結(jié)果。

import matplotlib
import sklearn.tree
from sklearn.datasets import load_iris
# 導(dǎo)入決策樹分類器
from sklearn.tree import DecisionTreeClassifier, plot_tree
# 導(dǎo)入分割數(shù)據(jù)集的方法
from sklearn.model_selection import train_test_split
# 導(dǎo)入科學(xué)計(jì)算包
import numpy as np
# 導(dǎo)入繪圖庫(kù)
import matplotlib.pyplot as plt

# 加載鳶尾花數(shù)據(jù)集
iris_dataset = load_iris()
# 分割訓(xùn)練集與測(cè)試集
X_train,X_test,y_train,y_test=train_test_split(iris_dataset['data'],iris_dataset['target'],test_size=0.2,random_state=0)

def Mytest_splitter(my_splitter):
    # 創(chuàng)建決策時(shí)分類器-
    tree_model=DecisionTreeClassifier(criterion="entropy",max_depth=4,random_state=0,splitter=my_splitter)
    # - 特征選擇標(biāo)準(zhǔn) criterion: string, 默認(rèn)是 “gini”) 設(shè)置為‘gini’(基尼系數(shù))或是‘entropy’(信息熵)
    # - 決策樹最大深度 max_depth:int或None,可選(默認(rèn)=None)樹的最大深度。如果為 None,則擴(kuò)展節(jié)點(diǎn)直到所有葉子都是純的或直到所有葉子包含少于 min_samples_split 樣本。
    # - 隨機(jī)數(shù)生成器使用的種子 random_state:int,建議設(shè)置一個(gè)常數(shù)保證在研究參數(shù)時(shí)不會(huì)被隨機(jī)數(shù)干擾。如果為 None,則隨機(jī)數(shù)生成器是 RandomState 使用的實(shí)例np.random
    # - 拆分器 splitter:字符串,可選(默認(rèn)=“最佳”)用于在每個(gè)節(jié)點(diǎn)處選擇拆分的策略。默認(rèn)是 default=”best”,或者是“random”

    # 喂入數(shù)據(jù)
    tree_model.fit(X_train,y_train)

    # 打印模型評(píng)分
    print("模型評(píng)分:{}".format(tree_model.score(X_test,y_test)))
    # 隨機(jī)生成一組數(shù)據(jù)使用我們的模型預(yù)測(cè)分類
    X_iris_test=np.array([[1.0,3.4,1.5,0.2]])
    # 用訓(xùn)練好的模型預(yù)測(cè)隨機(jī)生成的樣本數(shù)據(jù)的出的分類結(jié)果
    predict_result=tree_model.predict(X_iris_test)
    # 打印預(yù)測(cè)分類結(jié)果
    print(predict_result)
    print("分類結(jié)果:{}".format(iris_dataset['target_names'][predict_result]))

    # 模型可視化
    iris_feature_names=iris_dataset.feature_names#鳶尾花特征名列表 ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']
    iris_class_names=iris_dataset.target_names#鳶尾花分類類名列表 ['setosa' 'versicolor' 'virginica']

    fig = plt.figure(figsize=(20, 12))#圖片畫布大小比例
    matplotlib.rcParams['font.sans-serif'] = [u'SimHei']  # 用來(lái)設(shè)置字體樣式以正常顯示中文標(biāo)簽
    matplotlib.rcParams['axes.unicode_minus'] = False  # 設(shè)置為 Fasle 來(lái)解決負(fù)號(hào)的亂碼問(wèn)題
    sklearn.tree.plot_tree(tree_model,feature_names=iris_feature_names, class_names=iris_class_names, rounded=True, filled= True, fontsize=14)
    # 模型對(duì)象名
    # feature_names 特征名稱的列表
    # class_names 分類名稱的列表

    plt.title("決策樹拆分器={}的可視化圖".format(my_splitter))
    plt.savefig("3/決策樹拆分器={}的可視化圖.png".format(my_splitter))
    plt.show()

Mytest_splitter("best")#
Mytest_splitter("random")#

繪圖結(jié)果

  • 決策樹拆分器=best的可視化圖
    【機(jī)器學(xué)習(xí)】07. 決策樹模型DecisionTreeClassifier(代碼注釋,思路推導(dǎo))
  • 決策樹拆分器=random的可視化圖
    【機(jī)器學(xué)習(xí)】07. 決策樹模型DecisionTreeClassifier(代碼注釋,思路推導(dǎo))

分析

在每個(gè)節(jié)點(diǎn)處選擇拆分的策略,“best”與“random”這兩種模式使得決策樹有了很大的區(qū)別,實(shí)際上來(lái)拿個(gè)個(gè)決策樹的最終分類效果相同,只是位置有些變動(dòng)。


總結(jié)

決策樹是一個(gè)預(yù)測(cè)模型;他代表的是對(duì)象屬性與對(duì)象值之間的一種映射關(guān)系。樹中每個(gè)節(jié)點(diǎn)表示某個(gè)對(duì)象,而每個(gè)分叉路徑則代表的某個(gè)可能的屬性值,而每個(gè)葉結(jié)點(diǎn)則對(duì)應(yīng)從根節(jié)點(diǎn)到該葉節(jié)點(diǎn)所經(jīng)歷的路徑所表示的對(duì)象的值。決策樹僅有單一輸出,若欲有復(fù)數(shù)輸出,可以建立獨(dú)立的決策樹以處理不同輸出。
我在高等數(shù)學(xué)建模大賽中經(jīng)常使用熵權(quán)法(被指導(dǎo)老師dis為比較初級(jí)的方法,爛大街的方法)實(shí)際上這個(gè)就是決策樹的基本原理,通過(guò)對(duì)屬性進(jìn)行分割,從而降低整體的混亂程度。即對(duì)一個(gè)屬性的不同取值進(jìn)行分組以后,每一組的混亂程度做個(gè)加權(quán)和,根據(jù)權(quán)重大小衡量屬性的重要性。

大家喜歡的話,給個(gè)??,點(diǎn)個(gè)關(guān)注!給大家分享更多有趣好玩的python機(jī)器學(xué)習(xí)知識(shí)!

版權(quán)聲明:

發(fā)現(xiàn)你走遠(yuǎn)了@mzh原創(chuàng)作品,轉(zhuǎn)載必須標(biāo)注原文鏈接

Copyright 2022 mzh

Crated:2022-9-23

歡迎關(guān)注 『機(jī)器學(xué)習(xí)』 系列,持續(xù)更新中
歡迎關(guān)注 『機(jī)器學(xué)習(xí)』 系列,持續(xù)更新中
【機(jī)器學(xué)習(xí)】01. 波士頓房?jī)r(jià)為例子學(xué)習(xí)線性回歸
【機(jī)器學(xué)習(xí)】02. 使用sklearn庫(kù)牛頓化、正則化的邏輯回歸
【機(jī)器學(xué)習(xí)】03. 支持向量機(jī)SVM庫(kù)進(jìn)行可視化分類
【機(jī)器學(xué)習(xí)】04. 神經(jīng)網(wǎng)絡(luò)模型 MLPClassifier分類算法與MLPRegressor回歸算法
【機(jī)器學(xué)習(xí)】05. 聚類分析
【機(jī)器學(xué)習(xí)】07. 決策樹模型DecisionTreeClassifier
【機(jī)器學(xué)習(xí)】08. 深度學(xué)習(xí)CNN卷積神經(jīng)網(wǎng)絡(luò)keras庫(kù)
【更多內(nèi)容敬請(qǐng)期待】文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-452396.html


到了這里,關(guān)于【機(jī)器學(xué)習(xí)】07. 決策樹模型DecisionTreeClassifier(代碼注釋,思路推導(dǎo))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【機(jī)器學(xué)習(xí)實(shí)戰(zhàn)】決策樹 python代碼實(shí)現(xiàn)

    【機(jī)器學(xué)習(xí)實(shí)戰(zhàn)】決策樹 python代碼實(shí)現(xiàn)

    優(yōu)點(diǎn):計(jì)算復(fù)雜度不高 輸出結(jié)果易于理解 對(duì)中間值的缺失不敏感,可以處理不相關(guān)的特征數(shù)據(jù) 缺點(diǎn):可能會(huì)產(chǎn)生過(guò)度匹配的問(wèn)題 適用數(shù)據(jù)類型 數(shù)據(jù)型和標(biāo)稱型 一般流程: 收集數(shù)據(jù) 準(zhǔn)備數(shù)據(jù) 分析數(shù)據(jù) 訓(xùn)練算法 測(cè)試算法 使用算法 數(shù)據(jù)重新加載的問(wèn)題 代碼實(shí)現(xiàn) 實(shí)現(xiàn)截圖

    2024年02月05日
    瀏覽(22)
  • 機(jī)器學(xué)習(xí)代碼示例3(含注釋和部分?jǐn)?shù)據(jù))

    **續(xù)上, 11.嶺回歸 (Ridge Regression) 嶺回歸通過(guò)添加L2正則化項(xiàng)來(lái)改進(jìn)線性回歸的算法。 from sklearn.linear_model import Ridge import numpy as np import matplotlib.pyplot as plt #創(chuàng)建一些示例數(shù)據(jù) X = np.random.rand(100, 1) y = 2 + 3 * X + np.random.randn(100, 1) #初始化嶺回歸模型 ridge_reg = Ridge(alpha=1.0) #訓(xùn)練模型

    2024年01月22日
    瀏覽(24)
  • 機(jī)器學(xué)習(xí)-使用決策樹DecisionTreeRegressor模型對(duì)水果蔬菜價(jià)格預(yù)測(cè)

    機(jī)器學(xué)習(xí)-使用決策樹DecisionTreeRegressor模型對(duì)水果蔬菜價(jià)格預(yù)測(cè)

    決策樹 -常用于數(shù)據(jù)分析領(lǐng)域的分類和回歸 數(shù)據(jù)集 fruitvegprices-2017_2022.csv數(shù)據(jù)集來(lái)對(duì)水果價(jià)格的預(yù)測(cè)。 水果蔬菜價(jià)格數(shù)據(jù)集自取 本數(shù)據(jù)用來(lái)學(xué)習(xí)所用,如有錯(cuò)誤請(qǐng)指正 首先我們了解到?jīng)Q策樹 [Decision Tree]可以用來(lái)解決什么樣的問(wèn)題? 分類 回歸 對(duì)于不同的數(shù)據(jù)選擇不同的方法

    2024年02月09日
    瀏覽(20)
  • 機(jī)器學(xué)習(xí)實(shí)戰(zhàn):Python基于DT決策樹模型進(jìn)行分類預(yù)測(cè)(六)

    機(jī)器學(xué)習(xí)實(shí)戰(zhàn):Python基于DT決策樹模型進(jìn)行分類預(yù)測(cè)(六)

    1.1 決策樹的介紹 決策樹(Decision Tree,DT)是一種類似流程圖的樹形結(jié)構(gòu),其中內(nèi)部節(jié)點(diǎn)表示特征或?qū)傩?,分支表示決策規(guī)則,每個(gè)葉節(jié)點(diǎn)表示結(jié)果。在決策樹中,最上方的節(jié)點(diǎn)稱為根節(jié)點(diǎn)。它學(xué)習(xí)基于屬性值進(jìn)行分區(qū)。它以遞歸方式進(jìn)行分區(qū),稱為遞歸分區(qū)。這種類似流程

    2023年04月27日
    瀏覽(19)
  • [可解釋機(jī)器學(xué)習(xí)]Task07:LIME、shap代碼實(shí)戰(zhàn)

    [可解釋機(jī)器學(xué)習(xí)]Task07:LIME、shap代碼實(shí)戰(zhàn)

    GPU平臺(tái):Kaggle 第一部分:基于shapley值的機(jī)器學(xué)習(xí)可解釋分析 第二部分:代碼實(shí)戰(zhàn)-UCl心臟病二分類隨機(jī)森林可解釋性分析 第三部分:使用SHAP工具包對(duì)pytorch的圖像分類模型進(jìn)行可解釋分析 第一部分:基于shapley值的機(jī)器學(xué)習(xí)可解釋分析 什么是Shapley值? 博弈論中的Shapley值?

    2023年04月12日
    瀏覽(15)
  • 【機(jī)器學(xué)習(xí)】Decision Tree 決策樹算法詳解 + Python代碼實(shí)戰(zhàn)

    【機(jī)器學(xué)習(xí)】Decision Tree 決策樹算法詳解 + Python代碼實(shí)戰(zhàn)

    決策樹即通過(guò)一步步?jīng)Q策得到最終結(jié)果的樹 如下圖所示,如果要判斷一個(gè)人在家庭里的身份,我們可以先判斷ta年齡是否大于15,如果是,則說(shuō)明ta是爺爺或奶奶或媽媽,如果不是,則再判斷ta是否為男性,如果是,則ta是兒子,否則ta是女兒。 這就是一個(gè)決策樹的基本流程。

    2024年01月23日
    瀏覽(23)
  • 2023李宏毅機(jī)器學(xué)習(xí)HW05樣例代碼中文注釋版

    2023李宏毅機(jī)器學(xué)習(xí)HW05樣例代碼中文注釋版

    這里只是 2023 李宏毅機(jī)器學(xué)習(xí) HW05 樣例代碼的中文注釋版的分享,下面的內(nèi)容絕大部分是樣例代碼,補(bǔ)充了小部分函數(shù)的功能解釋,沒(méi)有做函數(shù)功能上的修改,是 Simple baseline 版本。 notebook 代碼下載: [EN] [ZH] 進(jìn)階閱讀:李宏毅2023機(jī)器學(xué)習(xí)作業(yè)HW05解析和代碼分享 英譯中(繁體

    2024年02月05日
    瀏覽(27)
  • python機(jī)器學(xué)習(xí)課程——決策樹全網(wǎng)最詳解超詳細(xì)筆記附代碼

    python機(jī)器學(xué)習(xí)課程——決策樹全網(wǎng)最詳解超詳細(xì)筆記附代碼

    1.概述 決策樹算法是一種逼近離散函數(shù)值的方法。它是一種典型的分類方法,首先對(duì)數(shù)據(jù)進(jìn)行處理,利用歸納算法生成可讀的規(guī)則和決策樹,然后使用決策對(duì)新數(shù)據(jù)進(jìn)行分析。本質(zhì)上決策樹是通過(guò)一系列規(guī)則對(duì)數(shù)據(jù)進(jìn)行分類的過(guò)程。 決策樹方法最早產(chǎn)生于上世紀(jì)60年代,到

    2024年02月04日
    瀏覽(29)
  • 【機(jī)器學(xué)習(xí)】R語(yǔ)言實(shí)現(xiàn)隨機(jī)森林、支持向量機(jī)、決策樹多方法二分類模型

    【機(jī)器學(xué)習(xí)】R語(yǔ)言實(shí)現(xiàn)隨機(jī)森林、支持向量機(jī)、決策樹多方法二分類模型

    暑期簡(jiǎn)單學(xué)習(xí)了機(jī)器學(xué)習(xí)理論知識(shí),當(dāng)時(shí)跟著B站咕泡老師學(xué)的,內(nèi)容講得蠻詳細(xì),實(shí)例代碼、資料都比較全面,但是學(xué)校Python課程開設(shè)在這學(xué)期,所以用Python進(jìn)行數(shù)據(jù)分析、建模等不是很熟悉,所以決定用之前學(xué)過(guò)的R語(yǔ)言來(lái)實(shí)現(xiàn)機(jī)器學(xué)習(xí)。R語(yǔ)言的相關(guān)包也都比較完善,所以

    2024年02月04日
    瀏覽(23)
  • 機(jī)器學(xué)習(xí) C4.5算法原理 + 決策樹分裂詳解(離散屬性+連續(xù)屬性) 附python代碼

    機(jī)器學(xué)習(xí) C4.5算法原理 + 決策樹分裂詳解(離散屬性+連續(xù)屬性) 附python代碼

    一.C4.5算法的簡(jiǎn)介: C4.5并不是單單一個(gè)算法而是 一套算法 ,主要用于對(duì)機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘中的分類問(wèn)題。它是一種有監(jiān)督的學(xué)習(xí),也就是說(shuō)對(duì)于該算法我們需要 先給它們提供一個(gè)數(shù)據(jù)集 ,這個(gè)數(shù)據(jù)集包含多個(gè)實(shí)例,每個(gè)實(shí)例都包含多個(gè)屬性,該實(shí)例用這些屬性描述, 根

    2024年02月08日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包