Sklearn学习笔记,LogisticRegression的用法详解
简介
Sklearn (全称 Scikit-Learn) 是基于 Python 语言的机器学习工具。它建立在 NumPy, SciPy, Pandas 和 Matplotlib 之上,里面的 API 的设计非常好,所有对象的接口简单,很适合新手上路。
LogisticRegression是Sklearn线性回归模型的接口,函数原型、引用和调用的方法如下:
函数原型
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='lbfgs', max_iter=100, multi_class='auto', verbose=0, warm_start=False, n_jobs=None, l1_ratio=None)
引用:
from sklearn.linear_model import LogisticRegression
调用示例
# 定义线性回归模型
model = LogisticRegression(max_iter=500)
函数参数
大部分参数使用默认即可,典型参数解释如下。
- penalty:正则化参数,三种取值:{‘l1’, ‘l2’, ‘elasticnet’, ‘none’}, default=’l2’
- C:正则强度的倒数;必须为正浮点数。与支持向量机一样,较小的值指定更强的正则化。
- class_weight:样本权重,可以是一个字典或者’balanced’字符串,默认为None。对于二分类模型,可以这样指定权重:class_weight={0:0.9,1:0.1},当class_weight=‘balanced’,那么类库会根据训练样本量来计算权重。某种类型样本量越多,则权重越低,样本量越少,则权重越高。
- solver:优化算法选择参数,五种取值:newton-cg,lbfgs,liblinear,sag,saga。default = liblinear。
liblinear适用于小数据集,而sag和saga适用于大数据集因为速度更快。如果是L2正则化,那么4种可选的算法{‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’}都可以选择。但是如果penalty是L1正则化的话,就只能选择‘liblinear’了。 - max_iter: 算法收敛的最大迭代次数,即求取损失函数最小值的迭代次数,默认是100。
函数接口
- fit(X, y, sample_weight=None):拟合模型,用来训练LR分类器,其中X是训练样本,y是对应的标记向量
- predict(X):用来预测样本,也就是分类,X是测试集。返回array。
- score(X, y, sample_weight=None) :返回给定测试集合的平均准确率(mean accuracy),浮点型数值。 对于多个分类返回,则返回每个类别的准确率组成的哈希矩阵。R^2评估模型
代码示例
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
# 拆分数据集
# x、y分别为原始数据、目标数据
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# 定义模型
model = LogisticRegression(max_iter=500)
# 训练模型
model.fit(X_train, y_train)
# 评估模型
train_score = model.score(X_train, y_train)
test_score = model.score(X_test, y_test)# 预测
pred = model.predict(x)
Sklearn学习笔记,LogisticRegression的用法详解相关推荐
- 【学习笔记】线段树详解(全)
[学习笔记]线段树详解(全) 和三个同学一起搞了接近两个月的线段树,头都要炸了T_T,趁心态尚未凉之前赶快把东西记下来... [目录] [基础]作者:\((Silent\)_\(EAG)\) [懒标记 ...
- [原创]Saltstack学习笔记:命令参数详解以及配置文件说明
很久没有更新saltstack的文章了,今天还是来更新一点,又开始对saltstack复习了一下. 前边写了一点<saltstack入门概述(1)>以及<Saltstack如何安装( ...
- Laravel学习笔记汇总——Collection方法详解
## Laravel学习笔记汇总--Collection方法详解 本文参考:https:// laravel.com/docs/8.x/collections // 返回整个底层的数组 collect ...
- java 检查bytebuf长度_Java学习笔记16-Netty缓冲区ByteBuf详解
Java学习笔记16-Netty缓冲区ByteBuf详解 Netty自己的ByteBuf ByteBuf是为解决ByteBuffer的问题和满足网络应用程序开发人员的日常需求而设计的. JDK Byt ...
- spring学习笔记03-spring-DI-依赖注入详解(通过xml配置文件来配置依赖注入)
spring学习笔记03-spring-DI-依赖注入详解 1.概念 2.构造函数注入 3.set方法注入 4.集合的注入 需要被注入的实体对象 package com.itheima.service ...
- Android学习笔记——Android 签名机制详解
Android 签名机制详解 近期由于工作需要在学习 Android 的签名机制,因为没有现成资料,只能通过开发者文档和阅读博客的方式对 Android 签名机制进行大致了解.过程中查阅到的资料相对零 ...
- [学习笔记] 伸展树splay详解+全套模板+例题[Luogu P3369 【模板】普通平衡树]
文章目录 引入概念 全套模板 变量声明 update ==rotate旋转== splay操作 insert插入 delete删除 查找x的位置 查找第k大 前驱/后继 极小值-inf和极大值inf的 ...
- Mr.J-- jQuery学习笔记(十)--trigger方法详解
看本篇文章之前建议先看这篇:Mr.J-- jQuery学习笔记(九)--事件绑定&移除&冒泡 也可以看我的专栏:Mr.J--jQuery学习 定义和用法 trigger() 方法触发被 ...
- Linux学习笔记003----linux yum命令详解
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...
最新文章
- 《Python Cookbook 3rd》笔记(2.2):字符串开头或结尾匹配
- kafka配置文件server.properties
- 实用素材模板|常见的UI设计手法
- 3.MongoDB uri中包含特殊字符与读策略配置
- 实战 使用Java开发简易小游戏:贪吃蛇(附源码!)
- oracle项目经验案例,网络工程师简历中的项目经验怎么写
- 读书若谈恋爱:如何阅读一本书?
- 外汇期货市场的组织结构
- 【Java分享客栈】SpringBoot线程池参数搜一堆资料还是不会配,我花一天测试换你此生明白。
- TAPD项目管理:工作流自动化最佳实践
- 开放式激光振镜+运动控制器(三):振镜矫正
- sim7600ce使用MQTT协议总结
- 项目一众筹网01_00_项目简介_此项目是SSM过渡到分布式项目(SpringBoot、SpringCloud)、互联网的发展引领了技术的发展、瀑布模型、敏捷开发是什么意思
- Excel选中单元格光标一直闪
- BYD精制项目除铜工艺去除铜离子
- CoolPad(酷派)修改日志等级
- 写论文的工具推荐(包括下载论文,写作,翻译等)
- 诺基亚N95手机使用技巧
- 机器学习和数据科学从业者必读的10本免费英文书
- 微信小程序版 九宫格数独游戏