引言:
AI技术的热门使得大家对机器学习有了更多的关注,作为与AI技术息息相关的一门课程,从头了解基础的机器学习算法就显得十分有必要,如:梯度下降,逻辑回归,线性回归等。
正文:
本文将讲解逻辑回归的案例。
机器学习大致可以分为监督学习,非监督学习、半监督学习还有更高级的强化学习。
线性回归是监督学习的一种,是回归问题,当然后续还有提及分类问题。监督学习,即有监督的学习,供给“机器”学习的数据集需要有一定要求,就是对于数据集需要有标签集,让它知道“这道题的答案”是什么,通过足够多的数据集,虽然不能完全准确的得到答案,但是能够在较小的误差范围内拟合大多数的数据。
我认为机器学习很多时候是在解决分类和回归两大问题,那么逻辑回归是解决什么问题呢?也许有人会说是解决回归问题,但是其实是解决的分类问题。
逻辑回归是一种有监督的学习,也就是说数据集是有标签的。有监督学习作为一种在当今应用广泛的机器学习分支,我认为学习逻辑回归是有必要的。比如说给一些特征,区别性别,是否是垃圾邮件等。
代码流程:
如果从原理上重新编写逻辑回归,那么就需要从头了解梯度下降、激活函数、学习率等概念,这样才能从0编写逻辑回归。
但是如果只想调用逻辑回归这个模块,那么也是十分简单的,有许多方法,比如从TensorFlow、sklearn等,直接使用其封装好的LogisiticRegression模块就好。
当然也要明白如何从文件中读取数据,对数据如何预处理、又如何设置参数等细节。
本文将从一个例子来说明逻辑回归方法在Python中的应用。
首先给出数据集:
可以看出有四列,标签值有0和1,有两个特征。
对于这个数据,需要做的操作是读取,并存放在数组中,也需要分为测试集和训练集。
这个数据没有噪声或者干扰,所以无需进行预处理,若有缺省值或者其他异常情况,预处理是十分重要的一步。
读取完数据集下一步就是调用模型、训练模型、利用模型预测最后评估模型并画出散点图,结果如下:在散点图中,测试集我使用颜色加深突出,对于预测结果是否正确,可根据颜色的变化来判断。本实验预测准确率为0.8。