使用Python 机器学习-2-使用 XGBoost 检测帕金森病

一、前言

该文章仅作为个人学习使用

项目源代码:Python 机器学习项目 - 使用 XGBoost 检测帕金森病 - DataFlair (data-flair.training)

数据集:

二、正文

在我们的 Python 项目列表中,用 python 检测帕金森病排在第 3 位。在这个 Python 机器学习项目中,我们将构建一个模型,使用该模型可以准确检测一个人体内帕金森病的存在。

检测帕金森病 – Python 机器学习项目

什么是帕金森病?

帕金森病是一种影响运动的中枢神经系统进行性疾病,可引起震颤和僵硬。它有 5 个阶段,每年影响印度超过 100 万人。这是慢性的,目前尚无治愈方法。它是一种神经退行性疾病,影响大脑中产生多巴胺的神经元。

什么是 XGBoost?

XGBoost 是一种新的机器学习算法,在设计时考虑到了速度和性能。XGBoost 代表 eXtreme Gradient Boosting,基于决策树。在这个项目中,我们将从 xgboost 库导入 XGBClassifier;这是用于 XGBoost 分类的 scikit-learn API 的实现。

使用 XGBoost 检测帕金森病 – 目标

建立一个模型来准确检测个体是否存在帕金森病。

使用 XGBoost 检测帕金森病 – 关于 Python 机器学习项目

在这个 Python 机器学习项目中,使用 Python 库 scikit-learn、numpy、pandas 和 xgboost,我们将使用 XGBClassifier 构建一个模型。我们将加载数据,获取特征和标签,缩放特征,然后拆分数据集,构建 XGBClassifier,然后计算模型的准确性。

Python 机器学习项目的数据集

为此,您需要 UCI ML 帕金森数据集;你可以在这里下载。数据集有 24 列和 195 条记录,仅为 39.7 KB。

先决条件

您需要使用 pip 安装以下库:

pip install numpy pandas sklearn xgboost

你还需要安装 Jupyter Lab,然后使用命令提示符运行它:You'll also need to install Jupyter Lab, and then use the command prompt to run it:

C:\Users\DataFlair>jupyter 实验室

这将在浏览器中打开一个新的 JupyterLab 窗口。在这里,您将创建一个新的控制台并键入代码,然后按 Shift+Enter 一次执行一行或多行。

使用 XGBoost 检测帕金森病的步骤

以下是练习 Python 机器学习项目所需的一些步骤 –

1. 进行必要的进口:

导入 numpy 作为 np
将 Pandas 导入为 PD
导入操作系统、系统
来自 Sklearn。预处理导入 MinMaxScaler
从 xgboost 导入 XGBClassifier
来自 Sklearn。model_selection导入train_test_split
来自 Sklearn。指标导入accuracy_score

截图:

2. 现在,让我们将数据读入 DataFrame 并获取前 5 条记录。

#DataFlair - 读取数据
df=pd。read_csv'D:\\DataFlair\\parkinsons.data')
东风。()

输出截图:

3. 从 DataFrame(数据集)中获取特征和标注。要素是除“状态”之外的所有列,标签是“状态”列中的标签。

#DataFlair - 获取功能和标签
features=df。loc[:,df.columns!='status'][:,1]
标签=df。loc[:,'状态']

截图:

4. “状态”列的标签值为 0 和 1;让我们获取这些标签的计数 - 0 和 1。

#DataFlair - 获取标签中每个标签(0 和 1)的计数
打印标签[标签==1]shape[0]、labels[labels==0]形状[0])

输出截图:

我们在数据集的状态列中有 147 个 1 和 48 个零。

5. 初始化 MinMaxScaler 并将特征缩放到 -1 和 1 之间以对其进行规范化。MinMaxScaler 通过将要素缩放到给定范围来转换要素。fit_transform() 方法拟合数据,然后对其进行转换。我们不需要缩放标签。

#DataFlair - 将要素缩放到 -1 和 1 之间
缩放器=MinMaxScaler((-1,1))
x=缩放器。fit_transform特点)
y=标签

截图:

6. 现在,将数据集拆分为训练集和测试集,保留 20% 的数据用于测试。

#DataFlair - 拆分数据集
x_train,x_test,y_train,y_test=train_test_splitx,y,test_size=0.2,random_state=7)

截图:

7. 初始化 XGBClassifier 并训练模型。这使用 eXtreme Gradient Boost 进行分类 - 使用梯度提升算法来解决现代数据科学问题。它属于 ML 中的集成学习类别,我们使用许多模型进行训练和预测以产生一个卓越的输出。

#DataFlair - 训练模型
model=XGBClassifier()
型。适合x_train,y_train)

输出截图:

8. 最后,生成y_pred(x_test的预测值)并计算模型的精度。打印出来。

# DataFlair - 计算准确率
y_pred=模型。预测x_test)
打印accuracy_scorey_test, y_pred)*100)

输出截图:

三、总结

在这个 Python 机器学习项目中,我们学会了使用各种因素来检测个体中帕金森病的存在。为此,我们使用了 XGBClassifier,并利用 sklearn 库来准备数据集。这为我们提供了 94.87% 的准确率,考虑到这个 python 项目中的代码行数,这非常好。

希望你喜欢这个 Python 项目。我们已经在博客顶部为您提供了更多有趣的 Python 项目的链接。

 

  • 14
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值