在分类问题中,比如判断邮件是否为垃圾邮件,判断肿瘤是否为阳性,目标变量是离散的,只有两种取值,通常会编码为0和1。这时候如果我们用线性回归去拟合一条直线:hθ(X) = θ+θ1X,若Y≥0.5则判断为1,否则为0。这样我们也可以构建出一个模型去进行分类,但是会存在很多的缺点,比如稳健性差、准确率低。而逻辑回归对于这样的问题会更加合适。
逻辑回归假设函数如下,它对θTX作了一个函数g变换,映射至0到1的范围之内,而函数g称为sigmoid function或者logistic function
SIGMOID函数 s(z)=1/(1+e^-z)
Z的范围实数域,而值域为0-1 。当我们输入特征,得到的hθ(x)其实是这个样本属于1这个分类的概率值
p=1/(1+exp(-wtX))
LN(P/1-P)=wTx
logistic回归的因变量可以是二分类的,也可以是多分类的,但是二分类的更为常用,也更加容易解释,多类可以使用softmax方法进行处理。实际中最为常用的就是二分类的logistic回归。
下面基于logistic回归对乳腺癌分类进行研究
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import pandas as pd
import warnings
import sklearn
from sklearn.linear_model import LogisticRegressionCV,LinearRegression
from sklearn.linear_model.coordinate_descent import ConvergenceWarnin