Advertisement

python心脏病预测案例_Python3机器学习实践:逻辑回归【实例:心脏病预测】

阅读量:

1.png

逻辑回归模型能够预测和区分两种类别。在实际应用中,它可用于处理两类别间的区分问题。当然,在面对多类别情况时,则需要通过反复应用onevsrest策略来实现。

目前拥有270份健康指标数据包含以下各项年龄性别最大心率以及是否有心血管疾病的情况我们的目标是通过逻辑回归模型来预测一个人的心血管疾病风险等级具体来说就是将每条记录分类为两类一类代表存在心血管疾病(标记为1)另一类代表无该疾病(标记为0)在此案例中被归类为无心血管疾病的情况对应类别编号为0

逻辑回归的核心在于深入理解Sigmoid函数这一关键点;同时它也被称为Logit模型;其数学表达式和图形特征分别为:

image

image

通过图像可以更好的理解为什么被称为Logistic函数。

可以看出, 该函数输出的结果落在0到1之间. 对于每一条单独的数据样本, 我们考虑如下问题: 将该函数的输出视为类1的概率. 如果是类1样本, 则希望使 f(x) 的值趋向于 1; 如果是类0样本, 则希望使 1-f(x) 接近于 1. 对于多条这样的数据样本进行分析, 请参考下文中的详细说明.

阐述如何评估一个分类器的效果:在评估过程中, 通常会将被考察的对象分为正负两类。主要关注的对象属于正类,例如, 在本例中将无心 病患者视为 正 类对象进行分析研究。

一、混淆矩阵法

image

其中准确率(ar):预测类别正确的样本占所有样本的比例;

image

该指标(pr/ACC)表示的是系统在正确识别出所有实际存在的正类样本时所占的比例或速率。

image

召回率(rr)/查全率:正类样本中预测正确的占所有实际正类的比例;

image

综合考量:F度量(Fa):精确率和召回率的加权调和平均值,其形式为:

image

当a=1时,F1是精确率和召回率的调和均值,

image

二、ROC曲线[二分类]

绘制ROC曲线,需要用到以下2个定义:

False Positive Rate(FPR, False Positive Rate, FPR):在所有真实为负类的样本中(即真实类别标记为负的数据点),被错误地判断为正类的情况所占的比例。

image

True Positive Rate(TPR,真正率):在所有真实属于正类的样本中其被准确判定为阳性实例的比例

image

以逻辑回归模型为例,在分类任务中,默认情况下输出结果为介于0和1之间的数值,并非严格的0或1;在这个案例中,默认阈值设定为0.5(后续内容将详细说明)。换句话说,在这种情况下(即函数输出大于等于0.5时),我们判定属于类别1;如果小于该临界点,则归类为类别0。通过调整这一临界点(即不同阈值),分类器最终的预测结果也会随之变化。每一个特定的阈值参数对应着一组不同的误报率(False Positive Rate, FPR)与真正率(True Positive Rate, TPR)。我们将这些FPR从小到大排列形成X轴坐标,并按照从小到大的顺序排列形成X轴坐标系的基础变量范围,在对应的Y轴上则记录每个FPR下的TPR值。按照这样的方式绘制出对应的ROC曲线图。

image

image

2.png

3.png

4.png

image

实例:心脏病预测

下面给出阈值为0.5时,分类器得到的混淆矩阵:

image

通过计算可以得到:

image

作者:AiFan

链接:https://www.jianshu.com/p/6764bd189075

打开App,阅读手记

全部评论 (0)

还没有任何评论哟~