from sklearn.linear_model import LogisticRegression
原理:Logistic Regression虽然名字里带“回归”,但是它实际上是一种分类方法,用于两分类问题(即输出只有两种),根据现有数据对分类边界线建立回归公式,以此进行分类。这里的“回归” 一词源于最佳拟合,表示要找到最佳拟合参数集。运用最大似然估计和梯度下降法求得最佳参数
一、构造预测函数
利用了Logistic函数(或称为Sigmoid函数),函数形式为:
函数形状为:
预测函数可以写为:
二、构造损失函数
Cost函数和J(θ)函数是基于最大似然估计推导得到的。每个样本属于其真实标记的概率,即似然函数,可以写成:
所有样本都属于其真实标记的概率为:
对数似然函数为:
最大似然估计就是要求得使l(θ)取最大值时的θ,其实这里可以使用梯度上升法求解,求得的θ就是要求的最佳参数
三、梯度下降法求的最小值
求J(θ)的最小值可以使用梯度下降法,根据梯度下降法可得θ的更新过程:
式中为α学习步长,下面来求偏导:
上式求解过程中用到如下的公式:
因此,θ的更新过程可以写成:
因为式中α本来为一常量,所以1/m一般将省略,所以最终的θ更新过程为:
solver参数的选择:
“liblinear”:小数量级的数据集
“lbfgs”, “sag” or “newton-cg”:大数量级的数据集以及多分类问题
“sag”:极大的数据集