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

【阿旭機(jī)器學(xué)習(xí)實(shí)戰(zhàn)】【36】糖尿病預(yù)測(cè)---決策樹建模及其可視化

這篇具有很好參考價(jià)值的文章主要介紹了【阿旭機(jī)器學(xué)習(xí)實(shí)戰(zhàn)】【36】糖尿病預(yù)測(cè)---決策樹建模及其可視化。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

【阿旭機(jī)器學(xué)習(xí)實(shí)戰(zhàn)】系列文章主要介紹機(jī)器學(xué)習(xí)的各種算法模型及其實(shí)戰(zhàn)案例,歡迎點(diǎn)贊,關(guān)注共同學(xué)習(xí)交流。

【阿旭機(jī)器學(xué)習(xí)實(shí)戰(zhàn)】【36】糖尿病預(yù)測(cè)—決策樹建模及其可視化

1. 導(dǎo)入數(shù)據(jù)并查看數(shù)據(jù)

關(guān)注GZH:阿旭算法與機(jī)器學(xué)習(xí),回復(fù):“ML36”即可獲取本文數(shù)據(jù)集、源碼與項(xiàng)目文檔

# 導(dǎo)入數(shù)據(jù)包
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split 
from sklearn import metrics 
import matplotlib.pyplot as plt
import matplotlib as matplot
import seaborn as sns
%matplotlib inline
col_names = ['pregnant', 'glucose', 'bp', 'skin', 'insulin', 'bmi', 'pedigree', 'age', 'label']
df = pd.read_csv("pima-indians-diabetes.csv", header=None, names=col_names)
df.head()
pregnant glucose bp skin insulin bmi pedigree age label
0 6 148 72 35 0 33.6 0.627 50 1
1 1 85 66 29 0 26.6 0.351 31 0
2 8 183 64 0 0 23.3 0.672 32 1
3 1 89 66 23 94 28.1 0.167 21 0
4 0 137 40 35 168 43.1 2.288 33 1
# 相關(guān)性矩陣
corr = df.iloc[:,:-1].corr()
#corr = (corr)
sns.heatmap(corr, 
            xticklabels=corr.columns.values,
            yticklabels=corr.columns.values)

corr
pregnant glucose bp skin insulin bmi pedigree age
pregnant 1.000000 0.129459 0.141282 -0.081672 -0.073535 0.017683 -0.033523 0.544341
glucose 0.129459 1.000000 0.152590 0.057328 0.331357 0.221071 0.137337 0.263514
bp 0.141282 0.152590 1.000000 0.207371 0.088933 0.281805 0.041265 0.239528
skin -0.081672 0.057328 0.207371 1.000000 0.436783 0.392573 0.183928 -0.113970
insulin -0.073535 0.331357 0.088933 0.436783 1.000000 0.197859 0.185071 -0.042163
bmi 0.017683 0.221071 0.281805 0.392573 0.197859 1.000000 0.140647 0.036242
pedigree -0.033523 0.137337 0.041265 0.183928 0.185071 0.140647 1.000000 0.033561
age 0.544341 0.263514 0.239528 -0.113970 -0.042163 0.036242 0.033561 1.000000

【阿旭機(jī)器學(xué)習(xí)實(shí)戰(zhàn)】【36】糖尿病預(yù)測(cè)---決策樹建模及其可視化

2. 訓(xùn)練決策樹模型及其可視化

# 選擇預(yù)測(cè)所需的特征
feature_cols = ['pregnant', 'insulin', 'bmi', 'age','glucose','bp','pedigree']
X = pima[feature_cols] # 特征
y = pima.label # 類別標(biāo)簽
# 將數(shù)據(jù)分為訓(xùn)練和測(cè)試數(shù)據(jù)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1) # 70% training and 30% test

2.1 決策樹模型

# 創(chuàng)建決策樹分類器
clf = DecisionTreeClassifier(criterion='entropy')

# 訓(xùn)練模型
clf = clf.fit(X_train,y_train)

# 使用訓(xùn)練好的模型做預(yù)測(cè)
y_pred = clf.predict(X_test)
# 模型的準(zhǔn)確性
print("Accuracy:",metrics.accuracy_score(y_test, y_pred))
Accuracy: 0.7489177489177489

2.2 可視化訓(xùn)練好的決策樹模型

注意: 需要使用如下命令安裝額外兩個(gè)包用于畫決策樹的圖
conda install python-graphviz
conda install pydotplus

from sklearn.tree import export_graphviz
from six import StringIO 
from IPython.display import Image  
import pydotplus
from sklearn import tree

dot_data = StringIO()
export_graphviz(clf, out_file=dot_data,  
                filled=True, rounded=True,
                special_characters=True,feature_names = feature_cols,class_names=['0','1'])
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())  
graph.write_png('diabetes.png')
Image(graph.create_png())

【阿旭機(jī)器學(xué)習(xí)實(shí)戰(zhàn)】【36】糖尿病預(yù)測(cè)---決策樹建模及其可視化

# 創(chuàng)建新的決策樹, 限定樹的最大深度, 減少過擬合
clf = tree.DecisionTreeClassifier(
    criterion='entropy',
    max_depth=4, # 定義樹的深度, 可以用來防止過擬合
    min_weight_fraction_leaf=0.01 # 定義葉子節(jié)點(diǎn)最少需要包含多少個(gè)樣本(使用百分比表達(dá)), 防止過擬合
    )

# 訓(xùn)練模型
clf.fit(X_train,y_train)

# 預(yù)測(cè)
y_pred = clf.predict(X_test)

# 模型的性能
print("Accuracy:",metrics.accuracy_score(y_test, y_pred))
Accuracy: 0.7705627705627706
from six import StringIO  
from IPython.display import Image  
from sklearn.tree import export_graphviz
import pydotplus
dot_data = StringIO()
export_graphviz(clf, out_file=dot_data,  
                filled=True, rounded=True,
                special_characters=True, feature_names = feature_cols,class_names=['0','1'])
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())  
graph.write_png('diabetes2.png')
Image(graph.create_png())

【阿旭機(jī)器學(xué)習(xí)實(shí)戰(zhàn)】【36】糖尿病預(yù)測(cè)---決策樹建模及其可視化

2.2 使用隨機(jī)森林模型

from sklearn.ensemble import RandomForestClassifier

# 隨機(jī)森林, 通過調(diào)整參數(shù)來獲取更好的結(jié)果
rf = RandomForestClassifier(
    criterion='entropy',
    n_estimators=1, 
    max_depth=5, # 定義樹的深度, 可以用來防止過擬合
    min_samples_split=10, # 定義至少多少個(gè)樣本的情況下才繼續(xù)分叉
    #min_weight_fraction_leaf=0.02 # 定義葉子節(jié)點(diǎn)最少需要包含多少個(gè)樣本(使用百分比表達(dá)), 防止過擬合
    )

# 訓(xùn)練模型
rf.fit(X_train, y_train)

# 做預(yù)測(cè)
y_pred = rf.predict(X_test)

# 模型的準(zhǔn)確率
print("Accuracy:",metrics.accuracy_score(y_test, y_pred))

Accuracy: 0.7402597402597403

如果文章對(duì)你有幫助,感謝點(diǎn)贊+關(guān)注!

關(guān)注下方GZH:阿旭算法與機(jī)器學(xué)習(xí),回復(fù):“ML36”即可獲取本文數(shù)據(jù)集、源碼與項(xiàng)目文檔,歡迎共同學(xué)習(xí)交流文章來源地址http://www.zghlxwxcb.cn/news/detail-503081.html

到了這里,關(guān)于【阿旭機(jī)器學(xué)習(xí)實(shí)戰(zhàn)】【36】糖尿病預(yù)測(cè)---決策樹建模及其可視化的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(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)文章

  • 數(shù)據(jù)分析畢業(yè)設(shè)計(jì) 大數(shù)據(jù)糖尿病預(yù)測(cè)與可視化 - 機(jī)器學(xué)習(xí) python

    數(shù)據(jù)分析畢業(yè)設(shè)計(jì) 大數(shù)據(jù)糖尿病預(yù)測(cè)與可視化 - 機(jī)器學(xué)習(xí) python

    # 1 前言 ?? 基于機(jī)器學(xué)習(xí)與大數(shù)據(jù)的糖尿病預(yù)測(cè) ??學(xué)長這里給一個(gè)題目綜合評(píng)分(每項(xiàng)滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點(diǎn):4分 選題指導(dǎo),項(xiàng)目分享: https://gitee.com/yaa-dc/warehouse-1/blob/master/python/README.md 本項(xiàng)目的目的主要是對(duì)糖尿病進(jìn)行預(yù)測(cè)。主要依托某醫(yī)院體檢數(shù)

    2024年02月08日
    瀏覽(37)
  • Python課程設(shè)計(jì)項(xiàng)目-基于機(jī)器學(xué)習(xí)的糖尿病風(fēng)險(xiǎn)預(yù)警分析系統(tǒng)

    Python課程設(shè)計(jì)項(xiàng)目-基于機(jī)器學(xué)習(xí)的糖尿病風(fēng)險(xiǎn)預(yù)警分析系統(tǒng)

    這個(gè)東西是我大二時(shí)候做的,做的挺一般的,當(dāng)時(shí)也沒想著搭建界面啥的,測(cè)試的也不夠,就是單純的分享一下吧,不足之處大家多多指正,我會(huì)把所有的代碼和數(shù)據(jù)在文章最后都放出來,喜歡的話點(diǎn)個(gè)贊吧! [摘 要] 糖尿病是一種全球性的流行性疾病,隨著經(jīng)濟(jì)生活的高速

    2024年02月03日
    瀏覽(34)
  • MLOps-預(yù)測(cè)糖尿病示例

    MLOps-預(yù)測(cè)糖尿病示例

    MLOps是一門工程學(xué)科,旨在統(tǒng)一 ML 系統(tǒng)開發(fā)(dev)和 ML 系統(tǒng)部署(ops),以標(biāo)準(zhǔn)化過程生產(chǎn)高性能模型的持續(xù)交付。實(shí)現(xiàn) MLOps 有助于使機(jī)器學(xué)習(xí)工作負(fù)載可靠且可重現(xiàn)。 例如,你將能夠在始終將模型保留在生產(chǎn)環(huán)境中時(shí)根據(jù)需要監(jiān)視、重新訓(xùn)練和重新部署模型。 設(shè)置:為解

    2024年02月11日
    瀏覽(23)
  • 機(jī)器學(xué)習(xí)基礎(chǔ)14-算法調(diào)參(基于印第安糖尿病Pima數(shù)據(jù)集)

    機(jī)器學(xué)習(xí)的模型都是參數(shù)化的,可以通過調(diào)參來提高模型的準(zhǔn)確度。 模型有很多參數(shù),如何找到最佳的參數(shù)組合,可以把它當(dāng)作一個(gè)查詢問題來處理,但是調(diào)整參數(shù)到何時(shí)為止呢?應(yīng)該遵循偏差和方差協(xié)調(diào)的原則。 接下來將介紹在 scikit-learn 中設(shè)置機(jī)器學(xué)習(xí)模型最佳參數(shù)的方

    2024年02月10日
    瀏覽(21)
  • 機(jī)器學(xué)習(xí)基礎(chǔ)11-算法比較(基于印第安糖尿病Pima Indians 數(shù)據(jù)集)

    機(jī)器學(xué)習(xí)基礎(chǔ)11-算法比較(基于印第安糖尿病Pima Indians 數(shù)據(jù)集)

    比較不同算法的準(zhǔn)確度,選擇合適的算法,在處理機(jī)器學(xué)習(xí)的問題時(shí)是非常重要的。本節(jié)將介紹一種模式,在scikit-learn中可以利用它比較不同的算法,并選擇合適的算法。你可以將這種模式作為自己的模板,來處理機(jī)器學(xué)習(xí)的問題;也可以通過對(duì)其他不同算法的比較,改進(jìn)這

    2024年02月11日
    瀏覽(22)
  • 機(jī)器學(xué)習(xí)基礎(chǔ)09-審查分類算法(基于印第安糖尿病Pima Indians數(shù)據(jù)集)

    算法審查是選擇合適的機(jī)器學(xué)習(xí)算法的主要方法之一。審查算法前并 不知道哪個(gè)算法對(duì)問題最有效,必須設(shè)計(jì)一定的實(shí)驗(yàn)進(jìn)行驗(yàn)證,以找到對(duì)問題最有效的算法。本章將學(xué)習(xí)通過 scikit-learn來審查六種機(jī)器學(xué)習(xí)的分類算法,通過比較算法評(píng)估矩陣的結(jié)果,選擇合適的算法。 審

    2024年02月11日
    瀏覽(20)
  • 機(jī)器學(xué)習(xí)基礎(chǔ)13-基于集成算法優(yōu)化模型(基于印第安糖尿病 Pima Indians數(shù)據(jù)集)

    有時(shí)提升一個(gè)模型的準(zhǔn)確度很困難。如果你曾糾結(jié)于類似的問題,那 我相信你會(huì)同意我的看法。你會(huì)嘗試所有曾學(xué)習(xí)過的策略和算法,但模型正確率并沒有改善。這時(shí)你會(huì)覺得無助和困頓,這也是 90%的數(shù)據(jù)科學(xué)家開始放棄的時(shí)候。不過,這才是考驗(yàn)真本領(lǐng)的時(shí)候!這也是普

    2024年02月11日
    瀏覽(22)
  • [Python] 機(jī)器學(xué)習(xí) - 常用數(shù)據(jù)集(Dataset)之糖尿病(diabetes)數(shù)據(jù)集介紹,數(shù)據(jù)可視化和使用案例

    [Python] 機(jī)器學(xué)習(xí) - 常用數(shù)據(jù)集(Dataset)之糖尿病(diabetes)數(shù)據(jù)集介紹,數(shù)據(jù)可視化和使用案例

    diabetes 是一個(gè)關(guān)于糖尿病的數(shù)據(jù)集, 該數(shù)據(jù)集包括442個(gè)病人的生理數(shù)據(jù)及一年以后的病情發(fā)展情況。 該數(shù)據(jù)集共442條信息,特征值總共10項(xiàng), 如下: age: 年齡 sex: 性別 bmi(body mass index): 身體質(zhì)量指數(shù),是衡量是否肥胖和標(biāo)準(zhǔn)體重的重要指標(biāo),理想BMI(18.5~23.9) = 體重(單位Kg) ÷ 身高

    2024年04月11日
    瀏覽(24)
  • 大數(shù)據(jù)分析案例-基于Adaboost算法構(gòu)建糖尿病預(yù)測(cè)模型

    大數(shù)據(jù)分析案例-基于Adaboost算法構(gòu)建糖尿病預(yù)測(cè)模型

    ???♂? 個(gè)人主頁:@艾派森的個(gè)人主頁 ???作者簡介:Python學(xué)習(xí)者 ?? 希望大家多多支持,我們一起進(jìn)步!?? 如果文章對(duì)你有幫助的話, 歡迎評(píng)論 ??點(diǎn)贊???? 收藏 ??加關(guān)注+ 喜歡大數(shù)據(jù)分析項(xiàng)目的小伙伴,希望可以多多支持該系列的其他文章 大數(shù)據(jù)分析案例合集

    2024年02月06日
    瀏覽(153)
  • 大數(shù)據(jù)分析案例-基于LightGBM算法構(gòu)建糖尿病確診預(yù)測(cè)模型

    大數(shù)據(jù)分析案例-基于LightGBM算法構(gòu)建糖尿病確診預(yù)測(cè)模型

    ???♂? 個(gè)人主頁:@艾派森的個(gè)人主頁 ???作者簡介:Python學(xué)習(xí)者 ?? 希望大家多多支持,我們一起進(jìn)步!?? 如果文章對(duì)你有幫助的話, 歡迎評(píng)論 ??點(diǎn)贊???? 收藏 ??加關(guān)注+ 喜歡大數(shù)據(jù)分析項(xiàng)目的小伙伴,希望可以多多支持該系列的其他文章 大數(shù)據(jù)分析案例合集

    2024年02月11日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包