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

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

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

2023-06-22 10:43 作者:拓端tecdat  | 我要投稿

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

最近我們被客戶要求撰寫關于決策樹的研究報告,包括一些圖形和統(tǒng)計輸出。

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

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

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

GBDT (Gradient Boosting Decision Tree) 梯度提升決策樹。DT-Decision Tree決策樹,GB是Gradient Boosting,是一種學習策略,GBDT的含義就是用Gradient Boosting的策略訓練出來的DT模型。

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

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

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

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

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

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

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

pima.head()

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

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

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

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

標準做法,你可以根據(jù)需要調整70:30至80:20。?

點擊標題查閱往期內容

R語言用邏輯回歸、決策樹和隨機森林對信貸數(shù)據(jù)集進行分類預測

左右滑動查看更多

01

02

03

04

  1. 使用scikit learn進行決策樹分析

#?創(chuàng)建決策樹分類器對象clf?=?DecisionTreeClassifier()

  1. 估計分類器預測結果的準確程度。準確度是通過比較實際測試集值和預測值來計算的。

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

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

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

決策樹的可視化。

Image(graph.create_png())

Python輸出

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

衡量通過決策樹分析創(chuàng)建的節(jié)點的不純度

Gini指的是Gini比,衡量決策樹中節(jié)點的不純度。人們可以認為,當一個節(jié)點的所有記錄都屬于同一類別時,該節(jié)點是純的。這樣的節(jié)點被稱為葉子節(jié)點。

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

  • 標準:默認="gini"

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

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

在我們的案例中,我們將改變樹的最大深度作為預修剪的控制變量。讓我們試試max_depth=3。

#?創(chuàng)建決策樹分類器對象DecisionTree(?max_depth=3)

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

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

Image(graph.create_png())

結果:

Python輸出

這個修剪過的模型的結果看起來很容易解釋。有了這個,我們就能夠對數(shù)據(jù)進行分類,并預測一個人是否患有糖尿病。但是,決策樹并不是你可以用來提取這些信息的唯一技術,你還可以探索其他各種方法。

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

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

在下面公眾號后臺回復“糖尿病數(shù)據(jù)”,可免費獲取完整數(shù)據(jù)。

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

點擊標題查閱往期內容

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


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

分享到微博請遵守國家法律
庄河市| 常州市| 岳阳县| 北碚区| 江西省| 赫章县| 仲巴县| 铜川市| 丹寨县| 南丹县| 遂溪县| 铅山县| 桐乡市| 石家庄市| 通辽市| 牙克石市| 高唐县| 东阳市| 汾阳市| 海门市| 福清市| 晋中市| 谢通门县| 新巴尔虎左旗| 长春市| 特克斯县| 盐亭县| 岱山县| 探索| 兴业县| 江阴市| 两当县| 邵东县| 深州市| 隆安县| 沙河市| 京山县| 肃南| 栖霞市| 师宗县| 寿阳县|