逻辑回归算法介绍
一、逻辑回归介绍
-
概念
解决一个二分类的问题,逻辑回归的输入是线性回归的输出
-
激活函数
sigmod函数:把整体的值映射到[0,1],再设置一个阈值,进行分类判断
-
损失
对数似然损失:借助了log思想,进行完成真实值等于0,等于1两种情况进行划分
-
优化
提升原本属于1类别的概率,降低原本是0类别的概率
二、API介绍
sklearn.linear_model.LogisticRegression(solver=‘liblinear’, penalty=‘l2’, C = 1.0)
- solver可选参数:{‘liblinear’, ‘sag’, ‘saga’,‘newton-cg’, ‘lbfgs’},
- 默认: ‘liblinear’;用于优化问题的算法。
- 对于小数据集来说,“liblinear”是个不错的选择,而“sag”和’saga’对于大型数据集会更快。
- 对于多类问题,只有’newton-cg’, ‘sag’, 'saga’和’lbfgs’可以处理多项损失;“liblinear”仅限于“one-versus-rest”分类。
- penalty:正则化的种类
- C:正则化力度
三、分类评估的方法
-
混淆矩阵
正样本 负样本 正样本 TP FN 负样本 FP TN -
精确率(Precision)与召回率(Recall)
准确率:(TP+TN)/(TP+TN+FN+FP)
精确率:TP/(TP+FP)
召回率:TP/(TP+FN)
F1-score:2TP/(2TP+FN+FP)
-
API介绍
- sklearn.metrics.classification_report(y_true, y_pred, labels=[], target_names=None )
-
- y_true:真实目标值
- y_pred:估计器预测目标值
- labels:指定类别对应的数字
- target_names:目标类别名称
- return:每个类别精确率与召回率
-
roc曲线和auc指标
roc曲线:通过TPR和FPR来进行图形绘制,然后绘制之后,形成一个指标auc指标
auc:越接近1,效果越好;越接近0,效果越差
注意:auc指标主要用于不平衡的二分类问题
四、ROC曲线绘制
- 构建模型,把模型的概率从大到小进行排序
- 从概率最大的店开始取值,一直进行TPR和FPR的计算,然后构造整体模型,得到结果
- 其实就是在求解积分