最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

數(shù)據(jù)分享|PYTHON用決策樹(shù)分類(lèi)預(yù)測(cè)糖尿病和可視化實(shí)例|附代碼數(shù)據(jù)

2023-03-13 23:33 作者:拓端tecdat  | 我要投稿

全文下載鏈接:http://tecdat.cn/?p=23848

最近我們被客戶(hù)要求撰寫(xiě)關(guān)于決策樹(shù)的研究報(bào)告,包括一些圖形和統(tǒng)計(jì)輸出。

在本文中,決策樹(shù)是對(duì)例子進(jìn)行分類(lèi)的一種簡(jiǎn)單表示。它是一種有監(jiān)督的機(jī)器學(xué)習(xí)技術(shù),數(shù)據(jù)根據(jù)某個(gè)參數(shù)被連續(xù)分割。決策樹(shù)分析可以幫助解決分類(lèi)和回歸問(wèn)題

決策樹(shù)算法將數(shù)據(jù)集分解成更小的子集;同時(shí),相關(guān)的決策樹(shù)也在逐步發(fā)展。決策樹(shù)由節(jié)點(diǎn)(測(cè)試某個(gè)屬性的值)、邊/分支(對(duì)應(yīng)于測(cè)試的結(jié)果并連接到下一個(gè)節(jié)點(diǎn)或葉子)和葉子節(jié)點(diǎn)(預(yù)測(cè)結(jié)果的終端節(jié)點(diǎn))組成,使其成為一個(gè)完整的結(jié)構(gòu)。

擴(kuò)展:GBDT (Gradient Boosting Decision Tree) 梯度提升決策樹(shù)

GBDT (Gradient Boosting Decision Tree) 梯度提升決策樹(shù)。DT-Decision Tree決策樹(shù),GB是Gradient Boosting,是一種學(xué)習(xí)策略,GBDT的含義就是用Gradient Boosting的策略訓(xùn)練出來(lái)的DT模型。

**

拓端

,贊16

在這篇文章中,我們將學(xué)習(xí)Python中決策樹(shù)的實(shí)現(xiàn),使用scikit learn包。

對(duì)于我們的分析,我們選擇了一個(gè)非常相關(guān)和獨(dú)特的數(shù)據(jù)集,該數(shù)據(jù)集適用于醫(yī)學(xué)科學(xué)領(lǐng)域,它將有助于預(yù)測(cè)病人是否患有糖尿病?(?查看文末了解數(shù)據(jù)免費(fèi)獲取方式?)?,基于數(shù)據(jù)集中采集的變量。這些信息來(lái)自國(guó)家糖尿病、消化道和腎臟疾病研究所,包括預(yù)測(cè)變量,如病人的BMI、懷孕情況、胰島素水平、年齡等。讓我們直接用決策樹(shù)算法來(lái)解決這個(gè)問(wèn)題,進(jìn)行分類(lèi)。

用Python實(shí)現(xiàn)決策樹(shù)

對(duì)于任何數(shù)據(jù)分析問(wèn)題,我們首先要清理數(shù)據(jù)集,刪除數(shù)據(jù)中的所有空值和缺失值。在這種情況下,我們不是在處理錯(cuò)誤的數(shù)據(jù),這使我們省去了這一步。?

  1. 為我們的決策樹(shù)分析導(dǎo)入所需的庫(kù)并拉入所需的數(shù)據(jù)

#?加載庫(kù)from?sklearn.model_selection?import?train_test_split?#導(dǎo)入?train_test_split?函數(shù)from?sklearn?import?metrics?#導(dǎo)入scikit-learn模塊以計(jì)算準(zhǔn)確率#?載入數(shù)據(jù)集data?=?pd.read_csv("diabs.csv",?header=None,?names=col_names)

讓我們看看這個(gè)數(shù)據(jù)集的前幾行是什么樣子的

pima.head()

  1. 在加載數(shù)據(jù)后,我們了解結(jié)構(gòu)和變量,確定目標(biāo)變量和特征變量(分別為因變量和自變量)。

#在特征和目標(biāo)變量中拆分?jǐn)?shù)據(jù)集X?=?pima[feature]?#?特征y?=?pima.label?#?目標(biāo)變量

  1. 我們把數(shù)據(jù)按70:30的比例分成訓(xùn)練集和測(cè)試集。

#?將數(shù)據(jù)集分成訓(xùn)練集和測(cè)試集train_test_split(X,?y,?test_size=0.3,?random_state=1)?#?70%的訓(xùn)練和30%的測(cè)試

標(biāo)準(zhǔn)做法,你可以根據(jù)需要調(diào)整70:30至80:20。?

點(diǎn)擊標(biāo)題查閱往期內(nèi)容

R語(yǔ)言用邏輯回歸、決策樹(shù)和隨機(jī)森林對(duì)信貸數(shù)據(jù)集進(jìn)行分類(lèi)預(yù)測(cè)

左右滑動(dòng)查看更多

01

02

03

04

  1. 使用scikit learn進(jìn)行決策樹(shù)分析

#?創(chuàng)建決策樹(shù)分類(lèi)器對(duì)象clf?=?DecisionTreeClassifier()

  1. 估計(jì)分類(lèi)器預(yù)測(cè)結(jié)果的準(zhǔn)確程度。準(zhǔn)確度是通過(guò)比較實(shí)際測(cè)試集值和預(yù)測(cè)值來(lái)計(jì)算的。

#?模型準(zhǔn)確率,分類(lèi)器正確的概率是多少?print("準(zhǔn)確率:",metrics.accuracy_score(y_test,?y_pred))

我們的決策樹(shù)算法有67.53%的準(zhǔn)確性。這么高的數(shù)值通常被認(rèn)為是好的模型。?

  1. 現(xiàn)在我們已經(jīng)創(chuàng)建了一棵決策樹(shù),看看它在可視化的時(shí)候是什么樣子的

決策樹(shù)的可視化。

Image(graph.create_png())

Python輸出

你會(huì)注意到,在這個(gè)決策樹(shù)圖中,每個(gè)內(nèi)部節(jié)點(diǎn)都有一個(gè)分割數(shù)據(jù)的決策規(guī)則。

衡量通過(guò)決策樹(shù)分析創(chuàng)建的節(jié)點(diǎn)的不純度

Gini指的是Gini比,衡量決策樹(shù)中節(jié)點(diǎn)的不純度。人們可以認(rèn)為,當(dāng)一個(gè)節(jié)點(diǎn)的所有記錄都屬于同一類(lèi)別時(shí),該節(jié)點(diǎn)是純的。這樣的節(jié)點(diǎn)被稱(chēng)為葉子節(jié)點(diǎn)。

在我們上面的結(jié)果中,由于結(jié)果的復(fù)雜性,完整的決策樹(shù)很難解釋。修剪一棵樹(shù)對(duì)于結(jié)果的理解和優(yōu)化它是至關(guān)重要的。這種優(yōu)化可以通過(guò)以下三種方式之一進(jìn)行。

  • 標(biāo)準(zhǔn):默認(rèn)="gini"

  • splitter:字符串,可選(默認(rèn)="best")或分割策略。選擇分割策略??梢赃x擇 "best"來(lái)選擇最佳分割,或者選擇 "random"來(lái)選擇最佳隨機(jī)分割。

  • max_depth: int或None,可選(默認(rèn)=None)或樹(shù)的最大深度
    這個(gè)參數(shù)決定了樹(shù)的最大深度。這個(gè)變量的數(shù)值越高,就會(huì)導(dǎo)致過(guò)度擬合,數(shù)值越低,就會(huì)導(dǎo)致擬合不足。

在我們的案例中,我們將改變樹(shù)的最大深度作為預(yù)修剪的控制變量。讓我們?cè)囋噈ax_depth=3。

#?創(chuàng)建決策樹(shù)分類(lèi)器對(duì)象DecisionTree(?max_depth=3)

在Pre-pruning上,決策樹(shù)算法的準(zhǔn)確率提高到77.05%,明顯優(yōu)于之前的模型。

決策樹(shù)在Python中的實(shí)現(xiàn)

Image(graph.create_png())

結(jié)果:

Python輸出

這個(gè)修剪過(guò)的模型的結(jié)果看起來(lái)很容易解釋。有了這個(gè),我們就能夠?qū)?shù)據(jù)進(jìn)行分類(lèi),并預(yù)測(cè)一個(gè)人是否患有糖尿病。但是,決策樹(shù)并不是你可以用來(lái)提取這些信息的唯一技術(shù),你還可以探索其他各種方法。

如果你想學(xué)習(xí)和實(shí)現(xiàn)這些算法,那么你應(yīng)該探索通過(guò)輔助方法學(xué)習(xí),并得到專(zhuān)業(yè)人士的1對(duì)1指導(dǎo)。拓端數(shù)據(jù)科學(xué)職業(yè)軌道計(jì)劃保證了1:1的指導(dǎo),項(xiàng)目驅(qū)動(dòng)的方法,職業(yè)輔導(dǎo),提供實(shí)習(xí)工作項(xiàng)目保證,來(lái)幫助你將職業(yè)生涯轉(zhuǎn)變?yōu)閿?shù)據(jù)驅(qū)動(dòng)和決策的角色。請(qǐng)聯(lián)系我們以了解更多信息!

數(shù)據(jù)獲取

在下面公眾號(hào)后臺(tái)回復(fù)“糖尿病數(shù)據(jù)”,可免費(fèi)獲取完整數(shù)據(jù)。

本文摘選?《?PYTHON用決策樹(shù)分類(lèi)預(yù)測(cè)糖尿病和可視化實(shí)例?》?,點(diǎn)擊“閱讀原文”獲取全文完代碼和數(shù)據(jù)資料。

點(diǎn)擊標(biāo)題查閱往期內(nèi)容

樣條曲線(xiàn)、決策樹(shù)、Adaboost、梯度提升(GBM)算法進(jìn)行回歸、分類(lèi)和動(dòng)態(tài)可視化
SAS分類(lèi)決策樹(shù)預(yù)測(cè)貸款申請(qǐng)?jiān)u分剪枝和結(jié)果可視化
分類(lèi)回歸決策樹(shù)交互式修剪和更美觀(guān)地可視化分析細(xì)胞圖像分割數(shù)據(jù)集
PYTHON用戶(hù)流失數(shù)據(jù)挖掘:建立邏輯回歸、XGBOOST、隨機(jī)森林、決策樹(shù)、支持向量機(jī)、樸素貝葉斯和KMEANS聚類(lèi)用戶(hù)畫(huà)像
PYTHON集成機(jī)器學(xué)習(xí):用ADABOOST、決策樹(shù)、邏輯回歸集成模型分類(lèi)和回歸和網(wǎng)格搜索超參數(shù)優(yōu)化
Python對(duì)商店數(shù)據(jù)進(jìn)行l(wèi)stm和xgboost銷(xiāo)售量時(shí)間序列建模預(yù)測(cè)分析
PYTHON集成機(jī)器學(xué)習(xí):用ADABOOST、決策樹(shù)、邏輯回歸集成模型分類(lèi)和回歸和網(wǎng)格搜索超參數(shù)優(yōu)化
R語(yǔ)言集成模型:提升樹(shù)boosting、隨機(jī)森林、約束最小二乘法加權(quán)平均模型融合分析時(shí)間序列數(shù)據(jù)
Python對(duì)商店數(shù)據(jù)進(jìn)行l(wèi)stm和xgboost銷(xiāo)售量時(shí)間序列建模預(yù)測(cè)分析
R語(yǔ)言用主成分PCA、?邏輯回歸、決策樹(shù)、隨機(jī)森林分析心臟病數(shù)據(jù)并高維可視化
R語(yǔ)言基于樹(shù)的方法:決策樹(shù),隨機(jī)森林,Bagging,增強(qiáng)樹(shù)
R語(yǔ)言用邏輯回歸、決策樹(shù)和隨機(jī)森林對(duì)信貸數(shù)據(jù)集進(jìn)行分類(lèi)預(yù)測(cè)
spss modeler用決策樹(shù)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)ST的股票
R語(yǔ)言中使用線(xiàn)性模型、回歸決策樹(shù)自動(dòng)組合特征因子水平
R語(yǔ)言中自編基尼系數(shù)的CART回歸決策樹(shù)的實(shí)現(xiàn)
R語(yǔ)言用rle,svm和rpart決策樹(shù)進(jìn)行時(shí)間序列預(yù)測(cè)
python在Scikit-learn中用決策樹(shù)和隨機(jī)森林預(yù)測(cè)NBA獲勝者
python中使用scikit-learn和pandas決策樹(shù)進(jìn)行iris鳶尾花數(shù)據(jù)分類(lèi)建模和交叉驗(yàn)證
R語(yǔ)言里的非線(xiàn)性模型:多項(xiàng)式回歸、局部樣條、平滑樣條、 廣義相加模型GAM分析
R語(yǔ)言用標(biāo)準(zhǔn)最小二乘OLS,廣義相加模型GAM?,樣條函數(shù)進(jìn)行邏輯回歸LOGISTIC分類(lèi)
R語(yǔ)言ISLR工資數(shù)據(jù)進(jìn)行多項(xiàng)式回歸和樣條回歸分析
R語(yǔ)言中的多項(xiàng)式回歸、局部回歸、核平滑和平滑樣條回歸模型
R語(yǔ)言用泊松Poisson回歸、GAM樣條曲線(xiàn)模型預(yù)測(cè)騎自行車(chē)者的數(shù)量
R語(yǔ)言分位數(shù)回歸、GAM樣條曲線(xiàn)、指數(shù)平滑和SARIMA對(duì)電力負(fù)荷時(shí)間序列預(yù)測(cè)R語(yǔ)言樣條曲線(xiàn)、決策樹(shù)、Adaboost、梯度提升(GBM)算法進(jìn)行回歸、分類(lèi)和動(dòng)態(tài)可視化
如何用R語(yǔ)言在機(jī)器學(xué)習(xí)中建立集成模型?
R語(yǔ)言ARMA-EGARCH模型、集成預(yù)測(cè)算法對(duì)SPX實(shí)際波動(dòng)率進(jìn)行預(yù)測(cè)在python 深度學(xué)習(xí)Keras中計(jì)算神經(jīng)網(wǎng)絡(luò)集成模型R語(yǔ)言ARIMA集成模型預(yù)測(cè)時(shí)間序列分析R語(yǔ)言基于Bagging分類(lèi)的邏輯回歸(Logistic Regression)、決策樹(shù)、森林分析心臟病患者
R語(yǔ)言基于樹(shù)的方法:決策樹(shù),隨機(jī)森林,Bagging,增強(qiáng)樹(shù)
R語(yǔ)言基于Bootstrap的線(xiàn)性回歸預(yù)測(cè)置信區(qū)間估計(jì)方法
R語(yǔ)言使用bootstrap和增量法計(jì)算廣義線(xiàn)性模型(GLM)預(yù)測(cè)置信區(qū)間
R語(yǔ)言樣條曲線(xiàn)、決策樹(shù)、Adaboost、梯度提升(GBM)算法進(jìn)行回歸、分類(lèi)和動(dòng)態(tài)可視化
Python對(duì)商店數(shù)據(jù)進(jìn)行l(wèi)stm和xgboost銷(xiāo)售量時(shí)間序列建模預(yù)測(cè)分析
R語(yǔ)言隨機(jī)森林RandomForest、邏輯回歸Logisitc預(yù)測(cè)心臟病數(shù)據(jù)和可視化分析
R語(yǔ)言用主成分PCA、?邏輯回歸、決策樹(shù)、隨機(jī)森林分析心臟病數(shù)據(jù)并高維可視化
Matlab建立SVM,KNN和樸素貝葉斯模型分類(lèi)繪制ROC曲線(xiàn)
matlab使用分位數(shù)隨機(jī)森林(QRF)回歸樹(shù)檢測(cè)異常值


數(shù)據(jù)分享|PYTHON用決策樹(shù)分類(lèi)預(yù)測(cè)糖尿病和可視化實(shí)例|附代碼數(shù)據(jù)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
右玉县| 宁阳县| 涞源县| 土默特左旗| 盐亭县| 咸阳市| 赤城县| 天长市| 京山县| 万全县| 通州市| 四会市| 佛学| 宝丰县| 弥渡县| 克拉玛依市| 广昌县| 东源县| 广河县| 华宁县| 兰州市| 贡觉县| 大英县| 蒙山县| 益阳市| 广水市| 日照市| 通河县| 东丽区| 玉树县| 资源县| 微山县| 汤阴县| 五常市| 红原县| 华坪县| 西乌珠穆沁旗| 永新县| 含山县| 康乐县| 孝义市|