基于周志华老师的《机器学习》、上一篇学习笔记以及网络的其他资料,对线性模型的这一部分内容进行一个总结。上接:机器学习:线性模型学习总结(1)。
学习时间:2022.04.18
1. 用SK-Learn做逻辑回归模型
用于分类:sklearn.linear_model
.LogisticRegression
penalty
正则化方法:默认为“ l 2 l2 l2”。- 有’ l 2 l2 l2’, ‘ l 1 l1 l1’, ' e l a s t i c n e t elasticnet elasticnet'三种,分别对应岭回归、Lasso回归、弹性回归。
l1_ratio
:弹性回归参数,[0,1]。确定’ l 2 l2 l2'和 ' l 1 l1 l1'的比率r,仅当是“弹性网”时才使用。默认=None。tol
停止的容差标准:如果不是None,则在连续的epoch (loss > best_loss - tol)时停止训练。默认=1e-4。C
正则强度的倒数:与支持向量机一样,较小的值指定更强的正则化。default=1.0。solver
:用于优化问题的算法。{‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’, ‘saga’}, 默认=’lbfgs’。‘newton-cg’
:也是牛顿法家族的一种,利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数。‘lbfgs’
:拟牛顿法的一种,利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数。‘liblinear’
:不支持设置penalty='none'
;L1正则化,多用于二分类。‘sag’
:要求数据进行缩放处理。支持L2正则化。随机平均梯度下降,是梯度下降法的变种。- ⭐
‘saga’
:要求数据进行缩放处理。支持L1、L2和弹性正则化。
max_iter
:最大迭代次数,默认=100。multi_class
:分类法类型,默认default=’auto’。‘auto’
:自动判断。‘ovr’
:每个标签都看做二分类问题。‘multinomial’
:Softmax算法,多分类,即使数据是二分类的,损失最小是多项式损失拟合整个概率分布。(当solver =‘liblinear’ 时, ‘multinomial’ 不可用)。
from sklearn.model_selection import GridSearchCV
from sklearn.linear_model import LogisticRegression
logitReg = LogisticRegression()
params = [
{
'penalty': [