Advertisement

小白都能看懂!Python机器学习预测乳腺癌疾病案例剖析!

阅读量:

在编程领域中,Python被视为一种极具强大功能的语言。特别是在大数据时代的大背景下,在数据科学与机器学习领域具有广泛的应用价值。为了更好地掌握这一技术,《数据分析与挖掘》课程将深入讲解如何利用Python进行乳腺癌病例预测的方法。通过学习这一内容后,在实际应用中你可以将其灵活运用到其他分析场景中去。例如,在医疗数据分析中,可以通过建立模型来判断一个人是否患有心脏病;例如,在自动驾驶系统开发中,则可以通过实时数据判断车辆是否需要减速或者是否会变更车道等关键操作步骤。

在开始案例讲解之前,请回顾一下我们在医院看病的情景。医生通过一系列检测手段进行化验和检查后得出诊断结论。我们可以将这些检查结果看作是患者的特征(feature)。例如一位患者的血液中白细胞数量远超正常范围,则可能的诊断结果通常是细菌感染;如果患者的尿液中发现较多的葡萄糖,则可能需要考虑糖尿病的诊断。那么我们是否可以通过分析患者胸部细胞的形态学特征等指标来初步筛查乳腺癌呢?接下来我们将利用Python语言来构建一个简单的乳腺癌预测模型。

一、数据集介绍

我们从UCI网站上收集了一些现有的正常人和乳腺癌患者的胸部细胞样本,并使用该官方平台上的乳腺癌数据库作为二分类数据集的基础。

数据被划分为两个部分:训练集(breast-cancer_train.txt)与测试集(breast-cancer_test.txt)。其中,训练过程将利用训练集合使模型具备识别乳腺癌的能力。随后,在独立设置的测试集合上进行验证以确保该能力的有效性。为了更好地理解这一划分的重要性,请我们简单探讨一下为何必须将数据划分为训练集合与测试集合?在之前的学校考试中发现如果连续两次考试采用相同的试卷,则无法真实反映学生的知识掌握程度。因此,在实际应用中我们也遵循类似的划分原则:一部分用于知识学习(training),另一部分用于知识验证(testing)。值得指出的是UCI平台已为我们完成了这一划分工作,并提供了详细的数据统计信息:样本总数共计783例(546 + 137)。具体而言,
每一行为完整的样本信息记录:
第一列为样本标签信息,
其余十个字段分别代表不同的特征维度。

在这里插入图片描述
在这里插入图片描述

对这些属性进行概述。其中一列为数值2表示健康个体(对照组),另一列为数值4表明患病个体(病例组)。其余各列分别记录患者的就诊信息以及相关生理指标:包括就诊卡号、乳腺细胞的各种特征参数(如细胞膜厚度、大小等),并用于评估乳腺组织的状态

我们对数据进行了一项较为基础的处理。随后我们将第一列中的数值2统一替换为0,并将数值4统一替换为1。其中数值0对应健康个体(即未患乳腺癌),数值1则代表患病个体(即乳腺癌患者)。随后我们借助于pandas库构建了一个直观易懂的数据展示界面。编写代码如下:

在这里插入图片描述

二、模型介绍

为了提高模型性能,我们计划使用逻辑回归算法来进行训练。让我们先深入了解一下逻辑回归的原理和应用吧。

通俗来说呢,逻辑回归是一种经典的处理二分类任务的方法,根据现有的特征来对事件发生的可能性做出预测,现实生活中存在的大量的二分类任务,例如根据云的形状,空气的湿度,风向,温度等信息我们是否可以预测在接下来的一个小时里是否会下雨。那么答案只有两种可能,下雨或者不下雨,而本篇我们的任务在于准确的预测乳腺癌患者完美符合逻辑回归的应用场景,刚刚我们已经介绍了我们的数据集,已经具备了乳腺细胞的各种特征,我们要根据这些信息对女性就诊者是否患有乳腺癌作出判断,而判断结果只有两种,患者或者是正常,因此逻辑回归非常适合。那么如何来使用逻辑回归呢,上代码:

在这里插入图片描述

在这里我们定义了一个变量x用于表征细胞特征参数,在其中每一个参数具体对应于细胞膜厚度、细胞大小、细胞形状、粘连程度以及上皮细胞大小等多个重要指标;随后我们设定另一个变量result用于记录实际检测结果;为了对这些数据进行分析我们将使用sklearn库中预先封装好的逻辑回归模型LogisticRegression来进行数据处理;具体操作时我们只需将上述提取出的10个特征数据与真实的结果值result输入到该模型中并通过调用model.fit方法即可完成模型的训练过程;这一过程相对简便

三、预测结果

接下来我们来介绍一下整体的训练过程哦,上代码:

1.读取数据集,采用pandas库

在这里插入图片描述

2.建立模型

在这里插入图片描述

3.训练模型

在这里插入图片描述

4.经过一些数据的训练我们来检测一下模型的效果吧

在这里插入图片描述

深入分析我们的预测数据

更多干货内容,欢迎关注公众号:知了python

全部评论 (0)

还没有任何评论哟~