Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >sklearn输出模型参数_rfm模型算法

sklearn输出模型参数_rfm模型算法

作者头像
全栈程序员站长
发布于 2022-11-04 08:15:53
发布于 2022-11-04 08:15:53
76700
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

总第105篇

最近会开始一个新的系列,sklearn库中各模型的参数解释,本篇主要讲述最基础的LR模型。

模型参数详解

逻辑回归:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sklearn.linear_model.LogisticRegression(penalty='l2', dual=False,
         ‍tol=0.0001, C=1.0, fit_intercept=True, intercept_scaling=1, 
         class_weight=None, random_state=None, solver='liblinear', 
         max_iter=100, multi_class='ovr', verbose=0, warm_start=False, n_jobs=1)

penalty:正则化选择参数,参数可选值为l1和l2,分别对应l1正则化和l2正则化,默认是l2正则化。

调整该参数的目的主要是为了防止过拟合,一般penalty选择l2正则化就够啦,但是如果选择l2正则化发现依然过拟合,即预测效果还是很差的时候,就可以考虑l1正则化。如果模型的特征非常多,我们希望做一些特征选择(即把一些不重要的特征过滤掉),这个时候也可以考虑用l1正则化。

penalty参数的选择会影响我们损失函数优化算法的选择,即参数solver的选择,如果是l2正则化,可选的优化算法 {‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’}都可以选择。但是如果penalty是L1正则化的话,就只能选择‘liblinear’了。这是因为L1正则化的损失函数不是连续可导的,而{‘newton-cg’, ‘lbfgs’,‘sag’}这三种优化算法时都需要损失函数的一阶或者二阶连续导数。而‘liblinear’并没有这个依赖。这几个优化方法在solver参数环节进行讲述。

dual:用来指明是否将原问题改成他的对偶问题,对偶问题可以理解成相反问题,比如原问题是求解最大值的线性规划,那么他的对偶问题就是转化为求解最小值的线性规划,适用于样本较小的数据集,因样本小时,计算复杂度较低。

tol:残差收敛条件,默认是0.0001,也就是只需要收敛的时候两步只差<0.0001就停止,可以设置更大或更小。(逻辑回归模型的损失函数是残差平方和)

C:正则化系数,正则化强度的导数,必须是一个正数,值越小,正则化强度越大,即防止过拟合的程度更大。

fit_intercept:是否将截距/方差加入到决策模型中,默认为True。

class_weight:class_weight是很重要的一个参数,是用来调节正负样本比例的,默认是值为None,也就是正负样本的权重是一样的,你可以以dict的形式给模型传入任意你认为合适的权重比,也可以直接指定一个值“balanced”,模型会根据正负样本的绝对数量比来设定模型最后结果的权重比。

比如,有一数据集的正负样本绝对数量比为4:6,如果你给参数class_weight赋予balanced值,那么最后模型结果中,正负样本的权重比就会变成6:4。

random_state:随机种子的设置,默认是None,如果设置了随机种子,那么每次使用的训练集和测试集都是一样的,这样不管你运行多少次,最后的准确率都是一样的;如果没有设置,那么每次都是不同的训练集和测试集,最后得出的准确率也是不一样的。

solver:用来指明损失函数的优化方法,默认是‘liblinear’方法,sklearn自带了如下几种:

参数值

优化方法

liblinear

使用了坐标轴下降法来迭代优化损失函数

lbfgs

拟牛顿法的一种,利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数

newton-cg

也是牛顿法法的一种,利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数

sag

即随机平均梯度下降,是梯度下降法的变种,是一种线性收敛算法,和普通梯度下降法的区别是每次迭代仅仅用一部分的样本来计算梯度,适合于样本数据多的时候

newton-cg, lbfgs和sag这三种优化算法时都需要损失函数的一阶或者二阶连续导数,因此不能用于没有连续导数的L1正则化,只能用于L2正则化。而liblinear对L1正则化和L2正则化都适用。同时,因sag每次仅仅使用了部分样本进行梯度迭代,所以当数据量较少时不宜选用,而当数据量很大时,为了速度,sag是第一选择。

max_iter:算法收敛的最大迭代次数,即求取损失函数最小值的迭代次数,默认是100, multi_class:分类方法参数选择,‘ovr’和‘multinomial’两个值可以选择,默认值为‘ovr’,如果分类问题是二分类问题,那么这两个参数的效果是一样的,主要体现在多分类问题上。

对于多分类问题,”ovr”分类方法是:针对每一类别进行判断时,都会把这个分类问题简化为是/非两类问题;而‘multinomial’是从众多类别中选出两个类别,对这两个类别进行判断,待判断完成后,再从剩下的类别中再选出两类进行判断,直至最后判断完成。

verbose:英文意思是”冗余“,就是会输出一些模型运算过程中的东西(任务进程),默认是False,也就是不需要输出一些不重要的计算过程。

warm_start:是否使用上次的模型结果作为初始化,默认是False,表示不使用。

n_jobs:并行运算数量(核的数量),默认为1,如果设置为-1,则表示将电脑的cpu全部用上。

模型对象

coef_:返回各特征的系数,绝对值大小可以理解成特征重要性 intercept_:返回模型的截距 n_iter_:模型迭代次数

模型方法

decision_function(X):返回决策函数值(比如svm中的决策距离) predict_proba(X):返回每个类别的概率值(有几类就返回几列值) predict_log_proba(X):返回概率值的log值(即将概率取对数) predict(X):返回预测结果值(0/1) score(X, y=None):返回函数 get_params(deep=True):返回估计器的参数 set_params(**params):为估计器设置参数

你还可以看:

逻辑斯蒂回归模型

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/182515.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Logistic回归实战篇之预测病马死亡率(三)
作 者:崔家华 编 辑:李文臣 四、使用Sklearn构建Logistic回归分类器 开始新一轮的征程,让我们看下Sklearn的Logistic回归分类器! 官方英文文档地址:http://scikit-learn.org/dev/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression sklearn.linear_model模块提供了很多模型供我们使用,比
机器学习算法工程师
2018/03/06
2K0
Logistic回归实战篇之预测病马死亡率(三)
scikit-learn 逻辑回归类库使用小结
    之前在逻辑回归原理小结这篇文章中,对逻辑回归的原理做了小结。这里接着对scikit-learn中逻辑回归类库的我的使用经验做一个总结。重点讲述调参中要注意的事项。
刘建平Pinard
2018/08/14
1.1K0
sklearn 实现 logistic 算法
前面两篇文章中,我们介绍了 logistic 回归的原理和实现: Logistic 回归数学公式推导 梯度上升算法与随机梯度上升算法 本文,我们来看看如何使用 sklearn 来进行 logistic 回归呢。
用户3147702
2022/06/27
7260
sklearn 实现 logistic 算法
轻松玩转 Scikit-Learn 系列 —— 逻辑回归是回归 ?
逻辑回归,咋一听这名字,真的跟一个正儿八经的回归模型似的,实际上从原理上讲他是一个如假包换的分类器,英文名是 Logistics regression,也叫 logit regression,maximum-entropy classification,或者 log-linear classifier。
小小詹同学
2018/12/27
8950
轻松玩转 Scikit-Learn 系列 —— 逻辑回归是回归 ?
LogisticRegression实验
实验目的 了解logistic regression的原理及在sklearn中的使用 实验数据 鸢尾花数据集是由杰出的统计学家R.A.Fisher在20世纪30年代中期创建的,它被公认为用于数据挖掘的最著名的数据集。它包含3种植物种类(Iris setosa、Iris versicolor和Iris virginica),每种各有50个样本。 下载地址:http://archive.ics.uci.edu/ml/datasets/Iris LogisticRegression 主要参数介绍 class s
听城
2018/04/27
8160
机器学习笔记之sklearn的逻辑回归Logistics Regression实战
上次介绍的逻辑回归的内容,基本都是基于二分类的。那么有没有办法让逻辑回归实现多分类呢?那肯定是有的,还不止一种。
Jetpropelledsnake21
2021/01/21
2K0
机器学习 | 逻辑回归算法(二)LogisticRegression
逻辑回归是一种广义线性回归模型,是Sigmoid函数归一化后的线性回归模型,常用来解决二元分类问题,可解释性强。它假设数据服从伯努利分布,通过梯度下降法对其损失函数(极大似然函数)求解,以达到数据二分类的目的。
数据STUDIO
2021/06/24
1.2K0
逻辑回归项目实战-附Python实现代码
记得刚工作的时候,用的第一个模型就是逻辑回归。虽然从大二(大一暑假参加系里建模培训,感谢知识渊博的老师把我带入模型的多彩世界!)就参加了全国大学生数学建模比赛,直到研究生一直在参加数学建模,也获了大大小小一些奖。
阿黎逸阳
2020/09/08
4.2K0
逻辑回归项目实战-附Python实现代码
【机器学习笔记】:逻辑回归实战练习(二)
前几篇介绍了逻辑回归在机器学习中的重要性:5个原因告诉你:为什么在成为数据科学家之前,“逻辑回归”是第一个需要学习的
Python数据科学
2018/12/19
9170
Python3《机器学习实战》学习笔记(七):Logistic回归实战篇之预测病马死亡率
版权声明:本文为博主原创文章,未经博主允许不得转载。个人网站:http://cuijiahua.com。 https://blog.csdn.net/c406495762/article/details/77851973
Jack_Cui
2019/05/25
8930
sklearn 快速入门教程
  sklearn中包含了大量的优质的数据集,在你学习机器学习的过程中,你可以通过使用这些数据集实现出不同的模型,从而提高你的动手实践能力,同时这个过程也可以加深你对理论知识的理解和把握。(这一步我也亟需加强,一起加油!^-^)
py3study
2020/01/16
7110
【机器学习】 逻辑回归算法:原理、精确率、召回率、实例应用(癌症病例预测)
逻辑回归,简称LR,它的特点是能够将我们的特征输入集合转化为0和1这两类的概率。一般来说,回归不用在分类问题上,但逻辑回归却能在二分类(即分成两类问题)上表现很好。
Twcat_tree
2023/11/18
6490
【机器学习】 逻辑回归算法:原理、精确率、召回率、实例应用(癌症病例预测)
机器学习之鸢尾花-逻辑回归
逻辑回归模型是一种广泛使用的统计模型,在其基本形式中,使用逻辑函数来模拟二进制 因变量; 存在更复杂的扩展。在回归分析中,逻辑回归是估计逻辑模型的参数; 它是二项式回归的一种形式。在数学上,二元逻辑模型具有一个具有两个可能值的因变量,例如通过/失败,赢/输,活/死或健康/生病; 这些由指示符变量表示,其中两个值标记为“0”和“1”。在逻辑模型中,对数比值(在对数的的可能性),用于标记为“1”的值是一个线性组合的一个或多个自变量(“预测”);自变量可以是二进制变量(两个类,由指示符变量编码)或连续变量(任何实际值)
python与大数据分析
2022/03/11
1.2K0
机器学习之鸢尾花-逻辑回归
从零开始学机器学习——初探分类器
首先给大家介绍一个很好用的学习地址:https://cloudstudio.net/columns
努力的小雨
2024/10/03
2800
机器学习测试笔记(17)——线性回归函数
普通最小二乘线性回归。线性回归拟合系数为w=(w1,…,wp)的线性模型,以最小化数据集中观测目标和线性近似预测目标之间差的平方和。
顾翔
2021/01/18
1.3K0
Sklearn参数详解—SVM
总第108篇 本篇主要讲讲Sklearn中SVM,SVM主要有LinearSVC、NuSVC和SVC三种方法,我们将具体介绍这三种分类方法都有哪些参数值以及不同参数值的含义。 在开始看本篇前你可以看看这篇:支持向量机详解 LinearSVC class sklearn.svm.LinearSVC(penalty='l2', loss='squared_hinge', dual=True, tol=0.0001, C=1.0, multi_class='ovr', fit_intercept=True, in
张俊红
2018/06/11
9.6K0
机器学习归一化特征编码
因为对于大多数的机器学习算法和优化算法来说,将特征值缩放到相同区间可以使得获取性能更好的模型。就梯度下降算法而言,例如有两个不同的特征,第一个特征的取值范围为1——10,第二个特征的取值范围为1——10000。在梯度下降算法中,代价函数为最小平方误差函数,所以在使用梯度下降算法的时候,算法会明显的偏向于第二个特征,因为它的取值范围更大。在比如,k近邻算法,它使用的是欧式距离,也会导致其偏向于第二个特征。对于决策树和随机森林以及XGboost算法而言,特征缩放对于它们没有什么影响。
@小森
2024/06/15
1100
机器学习归一化特征编码
如何使用机器学习神器sklearn做特征工程?
本文中使用 sklearn 中的 IRIS(鸢尾花)数据集[1]来对特征处理功能进行说明。IRIS 数据集由 Fisher 在 1936 年整理,包含 4 个特征(Sepal.Length(花萼长度)、Sepal.Width(花萼宽度)、Petal.Length(花瓣长度)、Petal.Width(花瓣宽度)),特征值都为正浮点数,单位为厘米。目标值为鸢尾花的分类(Iris Setosa(山鸢尾)、Iris Versicolour(杂色鸢尾),Iris Virginica(维吉尼亚鸢尾))。导入 IRIS 数据集的代码如下:
爱编程的小明
2022/09/06
1.1K0
如何使用机器学习神器sklearn做特征工程?
关于重温机器学习笔记-线性模型
由于高等数学底子太差的原因,机器学习总是无法深入学习下去,只能做一个简单的尝试者,甚至连调优也未必能算的上,不过这样也好,可以把重心放到对业务的理解上,以及业务和模型的选择上。
python与大数据分析
2022/03/11
4650
关于重温机器学习笔记-线性模型
AI-逻辑回归模型
逻辑回归(Logistic Regression)是机器学习中的 一种分类模型 ,逻辑回归是一种分类算法,虽然名字中带有回归。由于算法的简单和高效,在实际中应用非常广泛☺️
@小森
2024/03/15
3358
AI-逻辑回归模型
相关推荐
Logistic回归实战篇之预测病马死亡率(三)
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验