糖尿病預測(KNN)

寫在前面: 我是「虐貓人薛定諤i」,一個不滿足於現狀,有夢想,有追求的00後
\quad
本博客主要記錄和分享自己畢生所學的知識,歡迎關注,第一時間獲取更新。
\quad
不忘初心,方得始終。
\quad

❤❤❤❤❤❤❤❤❤❤

在這裏插入圖片描述

數據介紹

數據中各個字段的含義如下:
在這裏插入圖片描述
在這裏插入圖片描述

思路分析

具體的實現流程如下:
1、導入數據
2、數據切分
3、模型訓練與評估
4、交叉驗證
5、打印結果


KNN算法


代碼

import pandas as pd
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.neighbors import KNeighborsClassifier, RadiusNeighborsClassifier


# 導入數據
data = pd.read_csv("./res/pima-indians-diabetes/diabetes.csv")

# 數據切分
X = data.iloc[:, 0:8]
Y = data.iloc[:, -1]
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.3, random_state=1024)

# 模型訓練與評估
model1 = KNeighborsClassifier(n_neighbors=2)
model1.fit(X_train, Y_train)
score1 = model1.score(X_test, Y_test)

model2 = KNeighborsClassifier(n_neighbors=2, weights='distance')
model2.fit(X_train, Y_train)
score2 = model2.score(X_test, Y_test)

model3 = RadiusNeighborsClassifier(n_neighbors=2, radius=600.0)
model3.fit(X_train, Y_train)
score3 = model3.score(X_test, Y_test)

# 使用交叉驗證
res1 = cross_val_score(model1, X, Y, cv=10)
res2 = cross_val_score(model2, X, Y, cv=10)
res3 = cross_val_score(model3, X, Y, cv=10)

# 打印結果
print(score1, score2, score3)
print(res1.mean(), res2.mean(), res3.mean())

結果

在這裏插入圖片描述

總結

從結果可以看出,使用KNN算法進行預測,預測的準確率可以達到70%左右。
在這裏插入圖片描述

蒟蒻寫博客不易,加之本人水平有限,寫作倉促,錯誤和不足之處在所難免,謹請讀者和各位大佬們批評指正。
如需轉載,請署名作者並附上原文鏈接,蒟蒻非常感激
名稱:虐貓人薛定諤i
博客地址:https://blog.csdn.net/Deep___Learning

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章