逻辑回归是一种用于分类的算法,例如判断物品的好坏,疾病的良恶等都可以用逻辑回归来做。判断样品属于哪一类通常需要选择一个概率,例如大于0.5属于某一类,小于0.5属于另一类。
基于此,我们想到可以用指数函数,又为了使得概率在0-1之间,我们选择了sigmod函数:
可能性比率为:
则逻辑回归公式为:
或
接下来说一下算法过程:
(1)收集数据并筛选特征;
(2)构造逻辑回归方程;
(3)构造损失函数,利用梯度上升法求得损失最小的回归参数;
(4)模型检验:准确率,混淆矩阵等。
其中, 筛选特征方法有:
(1)向前引入
(2)向后剔除
(3)逐步回归
其中,法三最好。
sklearn库直接实现:(来自机器实战)
import numpy as np
from sklearn import datasets
from sklearn. 1inear_model import LogisticRegression from sklearn. metrics import confusion matrix
from sklearn.model_selection import train_test_split//导入数据并分为训练集和测试集
breast cancer =datasets. load breast_cancer()
x=breast_cancer ['data']
y=breast_cancer ['target']
X_train,X_test, y_train,y_test=
train_test_split(x,y,random_state=42)
//逻辑回归拟合
log_reg=LogisticRegression()
log_reg.fit(X_train,y_train)
//测试集效果检验,输出混淆矩阵
y_predict=log_reg.predict(X_test)
print(confusion_matrix(y_test,y_predict))