Advertisement

使用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_split(x,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_score(y_test, y_pred)*100)

输出截图:

三、总结

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

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

全部评论 (0)

还没有任何评论哟~