首页 >后端开发 >Python教程 >项目 - 使用 Python 进行监督学习 - 让我们使用逻辑回归来预测心脏病发作的机会

项目 - 使用 Python 进行监督学习 - 让我们使用逻辑回归来预测心脏病发作的机会

DDD
DDD原创
2025-01-18 22:14:11200浏览

Project - Supervised Learning with Python - Lets use Logistic Regression for Predicting the chances of having a Heart Attack

本教程演示了一个使用 Python 和 LogisticRegression 算法来预测心脏病发作可能性的机器学习项目。 对源自 Kaggle 的数据集进行分析以构建预测模型。

关键概念:

  • 逻辑回归
  • StandardScaler(sklearn.预处理)
  • fit_transform()
  • train_test_split()
  • model.predict()
  • model.predict_proba()
  • classification_report()
  • roc_auc_score()

项目目标:

该项目旨在说明逻辑回归在根据患者数据预测心脏病发作风险方面的实际应用。 我们将利用 Python 的功能来构建和评估这个预测模型。

Jupyter Notebook 和数据集可在此处获取:

笔记本:https://www.php.cn/link/aa3f874fb850d8908be9af3a69af4289

数据集:https://www.php.cn/link/4223a1d5b9e017dda51515829140e5d2(Kaggle来源: https://www.php.cn/link/5bb77e5c6d452aee283844d47756dc05

未来计划:

未来的教程将探索其他机器学习概念,重点关注监督和无监督学习,如 Kaggle 路线图所述:https://www.php.cn/link/4bea9e07f447fd088811cc81697a4d4e [#机器学习工程师2025 年路线图]

目标受众:

本教程是为对学习机器学习感兴趣的 Python 爱好者,特别是该领域的新手而设计的。 它建立在之前涵盖线性回归的教程的基础上。

随意尝试笔记本并探索不同的机器学习模型!

分步指南:

第 1 步:数据加载

<code class="language-python">import pandas as pd

data = pd.read_csv('heart-disease-prediction.csv')
print(data.head())</code>

这使用 pandas 加载数据集。

第 2 步:探索性数据分析 (EDA)

<code class="language-python">print(data.info())</code>

这提供了数据集结构和数据类型的摘要。

第 3 步:处理缺失数据

<code class="language-python">print(data.isnull().sum())
data.fillna(data.mean(), inplace=True)
print(data.isnull().sum())</code>

使用每列的平均值来识别和填充缺失值。

第四步:数据预处理

<code class="language-python">X = data[['age', 'totChol','sysBP','diaBP', 'cigsPerDay','BMI','glucose']]
y = data['TenYearCHD']</code>

选择相关特征 (X) 和目标变量 (y)。

第 5 步:数据标准化

<code class="language-python">from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X = scaler.fit_transform(X)</code>

使用 StandardScaler 对数据进行标准化,以提高模型性能。

第 6 步:数据分割

<code class="language-python">import pandas as pd

data = pd.read_csv('heart-disease-prediction.csv')
print(data.head())</code>

数据集分为训练集和测试集(80/20 分割)。

第七步:模型训练

<code class="language-python">print(data.info())</code>

使用训练数据训练逻辑回归模型。

第8步:模型评估

<code class="language-python">print(data.isnull().sum())
data.fillna(data.mean(), inplace=True)
print(data.isnull().sum())</code>

使用 classification_reportroc_auc_score 评估模型的性能。

第9步:模型预测

<code class="language-python">X = data[['age', 'totChol','sysBP','diaBP', 'cigsPerDay','BMI','glucose']]
y = data['TenYearCHD']</code>

经过训练的模型用于预测新患者患心脏病的风险。

提供额外的患者数据以供进一步练习:

<code class="language-python">from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X = scaler.fit_transform(X)</code>

以上是项目 - 使用 Python 进行监督学习 - 让我们使用逻辑回归来预测心脏病发作的机会的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn