基于python实现机器学习的心脏病预测系统
- 互联网
- 2025-08-29 08:00:02

以下是一个基于 Python 实现的简单心脏病预测系统代码示例,我们将使用 Scikit - learn 库中的机器学习算法(这里以逻辑回归为例),并使用公开的心脏病数据集。
步骤: 数据加载与预处理:加载心脏病数据集,对数据进行划分和标准化处理。模型训练:使用逻辑回归算法训练模型。模型评估:评估模型的性能。预测:使用训练好的模型进行预测。 代码实现: import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score, classification_report # 1. 数据加载与预处理 # 从 CSV 文件中加载心脏病数据集 url = " archive.ics.uci.edu/ml/machine-learning-databases/heart-disease/processed.cleveland.data" column_names = ['age', 'sex', 'cp', 'trestbps', 'chol', 'fbs', 'restecg', 'thalach', 'exang', 'oldpeak', 'slope', 'ca', 'thal', 'target'] data = pd.read_csv(url, names=column_names) # 处理缺失值 data = data.replace('?', pd.NA) data = data.dropna() # 分离特征和目标变量 X = data.drop('target', axis=1) y = data['target'] # 将目标变量转换为二进制(0 表示无心脏病,1 表示有心脏病) y = y.apply(lambda x: 1 if x > 0 else 0) # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 数据标准化 scaler = StandardScaler() X_train_scaled = scaler.fit_transform(X_train) X_test_scaled = scaler.transform(X_test) # 2. 模型训练 # 创建逻辑回归模型 model = LogisticRegression() # 训练模型 model.fit(X_train_scaled, y_train) # 3. 模型评估 # 在测试集上进行预测 y_pred = model.predict(X_test_scaled) # 计算准确率 accuracy = accuracy_score(y_test, y_pred) print(f"模型准确率: {accuracy:.2f}") # 打印分类报告 print("分类报告:") print(classification_report(y_test, y_pred)) # 4. 预测示例 new_patient_data = [[63, 1, 3, 145, 233, 1, 0, 150, 0, 2.3, 0, 0, 1]] # 对新数据进行标准化处理 new_patient_data_scaled = scaler.transform(new_patient_data) # 进行预测 prediction = model.predict(new_patient_data_scaled) if prediction[0] == 1: print("预测结果: 有心脏病") else: print("预测结果: 无心脏病") 代码解释:数据加载与预处理:
使用 pandas 库从 UCI 机器学习库中加载心脏病数据集。处理缺失值,将 ? 替换为 NaN 并删除包含缺失值的行。分离特征和目标变量,并将目标变量转换为二进制。使用 train_test_split 函数将数据集划分为训练集和测试集。使用 StandardScaler 对数据进行标准化处理。模型训练:
创建逻辑回归模型并使用训练集进行训练。模型评估:
使用测试集进行预测,并计算准确率和分类报告。预测示例:
提供一个新患者的数据,对其进行标准化处理并使用训练好的模型进行预测。 注意事项: 可以尝试使用其他机器学习算法(如决策树、随机森林等)来提高模型性能。数据集可能需要进一步的特征工程和调优,以获得更好的预测结果。基于python实现机器学习的心脏病预测系统由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“基于python实现机器学习的心脏病预测系统”