糖尿病预测(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

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