印第安糖尿病八个特征完成KNN算法预测代码
时间: 2024-11-27 13:09:50 浏览: 6
印第安糖尿病研究中的八大特征通常是指用于分类患者是否患有糖尿病的一些指标,这些特征可能包括年龄、BMI(身体质量指数)、血糖水平、胰岛素水平等。K-最近邻(KNN)算法是一种基于实例的学习方法,它通过计算样本之间的距离来进行预测。
以下是一个简单的Python代码示例,使用scikit-learn库来实现KNN算法预测糖尿病状态:
```python
# 导入所需的库
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
# 加载数据集 (假设数据集名为diabetes_data.csv)
data = pd.read_csv('diabetes_data.csv')
# 定义特征列和目标变量
X = data[['Age', 'BMI', 'Glucose', 'Insulin', ...]] # 八个特征列
y = data['Outcome'] # 目标变量,0表示非糖尿病,1表示糖尿病
# 数据预处理,标准化数值型特征
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)
# 创建并训练KNN模型
knn = KNeighborsClassifier(n_neighbors=5) # 可能需要调整n_neighbors值
knn.fit(X_train, y_train)
# 预测测试集
predictions = knn.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, predictions)
print(f"Accuracy: {accuracy}")
#
阅读全文