目录
前言
分类问题最基础也是最广泛的方法:逻辑回归
一、逻辑回归的引入
(一)任务
根据小明余额判断是否去看电影,dayu0则去看,xiaoyu0则不去看
(二)基本框架
则y=1或0,1则为去(正样本),0则为不去(负样本)
任务就转化为了求f(x)
(三)线性回归解决
建立线性回归的模型
如果预测结果大于0.5则去,小于则不去
(四)线性回归存在问题
样本量变大后,准确率下降
(五)逻辑回归
逻辑回归方程:
逻辑回归曲线,因此这样可以解决线性回归不准确的问题
使用逻辑回归拟合数据,可以很好的完成分类任务
二、逻辑回归
(一)定义
用于解决分类问题的一种模型。根据数据特征或属性,计算其归属某一类别的概率P(x),根据概率数值判断其所属类别。主要应用场景:二分类场景
(二)数学表达式(sigmoid方程)
(三)概率分布曲线(四)复杂的分类问题
当x坐标为x1,y坐标为x2,是两个输入
通过x1,x2判断y1,g(x)来替代x
算出g(x)为
这条曲线就是决策边界
因此逻辑回归结合多项式边界函数可解决复杂的分类问题
(四)估测模型
就转化为了求解出g(x)的最拟合的系数
线性回归的损失函数J,这类分类问题,标签与预测结果都是离散点,使用该损失函数无法寻找极小值点
逻辑回归
并且用梯度下降法,直到收敛求出,求出损失函数极小值
三、逻辑回归实战准备
(一)分类散点图可视化
未分类别的散点图:plt.scatter(X1,X2)
因此分类散点图:
mask=y==1(只有但标签为1的才是true)
passed=plt.scatter(X1[mask],X2[mask])
failed=plt.scatter(X1[~mask],X2[~mask],marker='^')
显示为:
(二)逻辑回归模型使用
1.模型训练
与线性回归相同,创建对象,然后收入参数训练
2.边界函数系数
获得边界函数的系数
3.对新数据进行预测
与线性回归预测相同
(三)建立新数据集
1.为什么
虽然大部分已经完成分类,但是还是有部分没有正确分类
转化为弧线,把x转为高次,实现更好的分离
2.怎么做
将X1,X2平方,相乘,然后做个字典,形成新的数据集
(四)模型评估
准确率(类别正确预测的比例),越接近1越好
代码
然后再画图看出边界曲线
四、逻辑回归实战
(一)任务与数据
(二)导入数据集
(三)展示散点图
未分类:
分类:
(四)训练模型
X为两门成绩,y为是否通过
(五)评估模型
(六)求解系数
(七)画出决策边界
根据方程找出X2和X1的关系
然后 将图形画出
(八)二维模型
获取变量和因变量
然后就可以训练和部署模型
而如果要画出的话,就麻烦些,需要把一项X为系数一项为未知数,形成二次函数,根据二次函数的方程找到对应关系,一般时用加的那项
找出theta
求出关系
之后画出,发现没有排序,是一个点连接另一个点
因此提前排序
然后再求解
就是完美的曲线了