使用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 项目的链接。
