一,逻辑回归的应用场景
广告点击率
是否为垃圾邮件
是否患病
金融诈骗
虚假账号
二,逻辑回归的原理
1,输入
逻辑回归的输入是线性回归的结果:
2,激活函数
1)sigmoid函数
回归的结果输入到sigmod函数当中
输出结果:[0,1]区间中的一个概率值,默认为0.5的门限值
2)注意:
逻辑回归的最终分类是通过某个类别的概率来判断是否属于某个类别,并且这个类别默认标记为1(正例),另一个标记为0(反例)。默认目标值少的为正例。
3,损失函数
1)对数似然损失公式
逻辑回归的损失,称之为对数似然损失,公式如下:
2)综合完整损失函数如下:
3)理解对数似然损失示例如下:
如上可知,降低损失需要(正例减少sigmoid返回结果,反例增加sigmod返回结果)
4,优化方法
同样使用梯度下降优化算法,去减少损失函数的值,这样去更新逻辑回归前面对应算法的权重参数,提升原本属于1类别的概率,降低原本为0类别的概率。
三,逻辑回归API
sklearn.linear_model.LogisticRegression(solver=‘liblinear’,penalty=‘i2’,c=1.0)
solver:优化求解方式(默认开源的liblinear库实现,内部使用了坐标轴下降法来迭代优化损失函数)
sag:根据数据集自动选择,随机平局梯度下降
penalty:正则化种类
c:正则化力度
默认将类别数量少的当正例
四,案例:癌症分类预测
数据源:https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
def logisticregression():
'''逻辑回归癌症预测'''
# 确定数据columns数值
columns = ["Sample code number&