机器学习-基于逻辑回归的分类预测

一、什么是逻辑回归

  • 逻辑回归(Logistic regression,简称LR)虽然其中带有"回归"两个字,但逻辑回归其实是一个分类模型,并且广泛应用于各个领域之中。虽然现在深度学习相对于这些传统方法更为火热,但实则这些传统方法由于其独特的优势依然广泛应用于各个领域中。
  • 而对于逻辑回归而且,最为突出的两点就是其模型简单和模型的可解释性强
  • 逻辑回归的优劣势:
    优点:实现简单,易于理解和实现;计算代价不高,速度很快,存储资源低
    缺点:容易欠拟合,分类精度可能不高

二、逻辑回归的原理

  • Logistic回归虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于两分类问题(即输出只有两种,分别代表两个类别),所以利用了Logistic函数(或称为Sigmoid函数),函数形式为:
    在这里插入图片描述
    其对应的函数图像可以表示如下:
    在这里插入图片描述
    输出结果:
    在这里插入图片描述
    通过上图我们可以发现 Logistic 函数是单调递增函数,并且在z=0的时候取值为0.5,并且log函数的取值范围为(0,1)。
    而回归的基本方程为:
    在这里插入图片描述
    将回归方程写入其中为:
    在这里插入图片描述
    所以:在这里插入图片描述

三、Demo实践

  • step1:库函数导入
  • step2:模型训练
  • step3:模型参数查看
  • step4:数据和模型可视化
  • step5:模型预测

3.1 库函数导入

在这里插入图片描述

3.2 模型训练

在这里插入图片描述

3.3 模型参数查看

在这里插入图片描述

3.4 数据和模型可视化

在这里插入图片描述
在这里插入图片描述
运行结果:
在这里插入图片描述
在这里插入图片描述
运行结果:
在这里插入图片描述

3.5 模型预测

在这里插入图片描述
运行结果:
在这里插入图片描述
可以发现训练好的回归模型将X_new1预测为了类别0(判别面左下侧),X_new2预测为了类别1(判别面右上侧)。其训练得到的逻辑回归模型的概率为0.5的判别面为上图中蓝色的线。

四、基于鸢尾花(iris)数据集的逻辑回归分类实践

在实践的最开始,我们首先需要导入一些基础的函数库包括:numpy(Python进行科学计算的基础软件包),pandas(pandas是一种快速,强大,灵活且易于使用的开源数据分析和处理工具),matplotlib和seaborn绘图。
step1:库函数导入
step2:数据读取/载入
step3:数据信息简单查看
step4:可视化描述
step5:利用逻辑回归模型在二分类上进行训练和预测
step6:利用逻辑回归模型在三分类(多分类)上进行训练和预测

4.1 库函数导入

在这里插入图片描述
本次我们选择鸢花数据(iris)进行方法的尝试训练,该数据集一共包含5个变量,其中4个特征变量,1个目标分类变量。共有150个样本,目标变量为 花的类别 其都属于鸢尾属下的三个亚属,分别是山鸢尾 (Iris-setosa),变色鸢尾(Iris-versicolor)和维吉尼亚鸢尾(Iris-virginica)。包含的三种鸢尾花的四个特征,分别是花萼长度(cm)、花萼宽度(cm)、花瓣长度(cm)、花瓣宽度(cm),这些形态特征在过去被用来识别物种。
在这里插入图片描述

4.2 数据读取/载入

在这里插入图片描述

4.3 数据信息简单查看

在这里插入图片描述
运行结果:
在这里插入图片描述
进行简单的数据查看,我们可以利用.head()头部.tail()尾部
iris_features.head()
运行结果:
在这里插入图片描述
iris_features.tail()
运行结果:
在这里插入图片描述
在这里插入图片描述
运行结果:
在这里插入图片描述
在这里插入图片描述
运行结果:
在这里插入图片描述
在这里插入图片描述
运行结果:
在这里插入图片描述

4.4 可视化描述

在这里插入图片描述
运行结果:
在这里插入图片描述
从上图可以发现,在2D情况下不同的特征组合对于不同类别的花的散点分布,以及大概的区分能力。
在这里插入图片描述
运行结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
利用箱型图我们也可以得到不同类别在不同特征上的分布差异情况。
在这里插入图片描述
运行结果:
在这里插入图片描述

4.5 利用逻辑回归在二分类上进行训练和预测

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行结果:
在这里插入图片描述
在这里插入图片描述
我们可以发现其准确度为1,代表所有的样本都预测正确了。

4.6 利用逻辑回归模型在三分类(多分类)上进行训练和预测

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行结果:
在这里插入图片描述
在这里插入图片描述
运行结果:
在这里插入图片描述
在这里插入图片描述
通过结果我们可以发现,其在三分类的结果的预测准确度上有所下降,其在测试集上的准确度为:86.67% ,这是由于’versicolor’(1)和 ‘virginica’(2)这两个类别的特征,我们从可视化的时候也可以发现,其特征的边界具有一
定的模糊性(边界类别混杂,没有明显区分边界),所有在这两类的预测上出现了一定的错误。

作为一个新手有出错地方还请大家指点与包涵 支持组织:Datawhale&阿里云平台