机器学习——Logistic Regression

news2024/11/28 6:52:34

0、前言:

  • Logistic回归是解决分类问题的一种重要的机器学习算法模型

1、基本原理:

  • Logistic Regression 首先是针对二分类任务提出的一种分类方法
  • 如果将概率看成一个数值属性,则二元分类问题的概率预测就可以转化为一个回归问题。这种思路最简单的实现就是直接采用特征组的回归模型来预测概率,但是回归模型的预测结果无法控制在[0,1]之间。这时Sigmoid函数就派上用场了。
    在这里插入图片描述
  • Logistic Regression 算法
    输入:m条训练数据
    输出:是逻辑回归函数的对数损失函数,目的是使损失函数的值最小(将分类问题转换为了回归问题)
    目标函数:称为交叉熵,目标就是使交叉熵最下,这样就可以使损失函数的值最小

2、用Logistic模型做手写数字识别:

  • 代码
# 导入三件套
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 导入手写数字数据集
from sklearn.datasets import load_digits

Data = load_digits()
# 拿数据
data = Data['data']
target = Data['target']
target_names = Data['target_names']
feature_names = Data['feature_names']
images = Data['images']

# 划分数据集
from sklearn.model_selection import train_test_split

x_train, x_test, y_train, y_test = train_test_split(data,target,test_size=0.2)
display(x_train.shape,y_train.shape,x_test.shape,y_test.shape)
'''
(1437, 64)
(1437,)
(360, 64)
(360,)
'''

# 导入机器学习模型
from sklearn.linear_model import LogisticRegression

'''逻辑回归模型参数说明
1、penalty选择l2正则,默认就是l2
2、C=1.0,默认是1.0(惩罚因子,越大越严格,可能导致过拟合,太小又可能欠拟合)
3、solver:优化算法,有{'newton-cg','libfgs','liblinear','sag','saga'},默认libfgs
    newton-cg、libfgs:适用中数据集
    sag、saga:适用大量数据集(>10万),采用部分样本进行梯度下降,随机平均梯度下降,不适合%%sh数据集
    liblinear:一般适用小数据集,适用的是liblinear库
    后面会使用自动调参,会自动选择适合的优化算法
4、max_iter:最大迭代次数,默认100,如果不够会警告,就要根据警告不断调节,注意只有{'sag','libfgs','newton-cg'}才会使用该参数
5、n_jobs:多进程处理,一般设置为CPU数量的1-2倍(电脑win+r,输入msinfo32查看cpu)
''' 
# Lg = LogisticRegression(
#     solver = 'lbfgs',
#     max_iter = 2500
# )
Lg = LogisticRegression(solver='liblinear')
%timeit Lg.fit(x_train,y_train)  # 149 ms ± 3.58 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

# 测试数据得分
Lg.score(x_test,y_test) # 0.9611111111111111
# 模型得分
Lg.score(x_train,y_train) # 0.9937369519832986

# 对比KNN模型
from sklearn.neighbors import KNeighborsClassifier

knn = KNeighborsClassifier()
%timeit knn.fit(x_train, y_train) # 590 µs ± 17.5 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)

# 计算测试集得分
knn.score(x_test,y_test) # 0.9833333333333333
# 计算模型得分
knn.score(x_train,y_train) # 0.9916492693110647


3、总结:

  • 在使用Logistic模型时,要根据数据集大小调整模型优化算法。
  • 通过实验发现,Logistic回归算法训练时间比KNN要长,但是预测时间要比KNN短。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/992497.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

B Antiamuny wants to leaern binary search again

题目&#xff1a; C/C: int f(int l,int r,int x) { // l < x < rint cnt 0;while(l < r) {cnt;int mid (l r) / 2;if (mid x) break;if (mid < x) l mid 1;else r mid - 1;}return cnt; } 样例&#xff1a; 输入 5 3 7 2 6 12 2 2 10 3 6 14 8 5 8 1 输…

java实现调用百度地图

这里使用的springbootthymeleaf实现&#xff0c;所以需要有springboot技术使用起来更方便 当然&#xff0c;只使用html加js也可以实现&#xff0c;下面直接开始 首先我们需要去百度地图注册一个AK&#xff08;百度地图开放平台 | 百度地图API SDK | 地图开发&#xff09; 找到左…

神经网络与强化学习:揭示AI的超能力

文章目录 神经网络&#xff1a;模拟人脑的工具强化学习&#xff1a;通过试错学习结合神经网络和强化学习价值网络策略网络结合训练 应用领域游戏机器人控制金融交易 未来趋势自动化和自主系统个性化和自适应系统跨学科研究 结论 &#x1f389;欢迎来到AIGC人工智能专栏~神经网络…

谷粒商城----缓存与分布式锁

1、缓存使用 为了系统性能的提升&#xff0c;我们一般都会将部分数据放入缓存中&#xff0c;加速访问。而 db 承担数据落盘工作。 哪些数据适合放入缓存&#xff1f;  即时性、数据一致性要求不高的  访问量大且更新频率不高的数据&#xff08;读多&#xff0c;写少&…

day3_C++

day3_C 思维导图用C的类完成数据结构 栈的相关操作用C的类完成数据结构 循环队列的相关操作 思维导图 用C的类完成数据结构 栈的相关操作 stack.h #ifndef STACK_H #define STACK_H#include <iostream> #include <cstring>using namespace std;typedef int datat…

SplitMask:大规模数据集是自我监督预训练的必要条件吗?

自监督预训练需要大规模数据集吗?这是2021年发布的一篇论文&#xff0c;它在自监督预训练场景中使用小数据集&#xff0c;如Stanford Cars, Sketch或COCO&#xff0c;它们比ImageNet小几个数量级。并提出了一种类似于BEiT的去噪自编码器的变体SplitMask&#xff0c;它对预训练…

光伏发电双向电能表DTSD1352

安科瑞 华楠 DTSD1352 导轨式多功能电能表&#xff0c;是主要针对电力系统&#xff0c;工矿企业&#xff0c;公用设施的电能统 计、管理需求而设计的一款智能仪表&#xff0c;产品具有精度高、体积小、安装方便等优点。集成常 见电力参数测量及电能计量及考核管理&#xff0c;…

PY32F003F18之RS485通讯

PY32F003F18将USART2连接到RS485芯片&#xff0c;和其它RS485设备实现串口接收后再转发的功能。 一、测试电路 二、测试程序 #include "USART2.h" #include "stdio.h" //getchar(),putchar(),scanf(),printf(),puts(),gets(),sprintf() #include "…

2.10 PE结构:重建重定位表结构

Relocation&#xff08;重定位&#xff09;是一种将程序中的一些地址修正为运行时可用的实际地址的机制。在程序编译过程中&#xff0c;由于程序中使用了各种全局变量和函数&#xff0c;这些变量和函数的地址还没有确定&#xff0c;因此它们的地址只能暂时使用一个相对地址。当…

二十、MySQL多表关系

1、概述 在项目开发中&#xff0c;在进行数据库表结构设计时&#xff0c;会根据业务需求以及业务模块之间的关系&#xff0c;分析并设计表结构&#xff0c;由于业务之间相互关联&#xff0c;所以各个表结构之间也存在着各种对应关系 2、多表关系分类 &#xff08;1&#xff0…

2023大数据挑战赛全国六强团队获奖经验+ppt分享(四)

团队名称 陛下请移步至地下室 团队成员 张晓立&#xff08;华东师范大学&#xff09; 团队名次 全国第三名 赛题描述说明介绍 2023大数据挑战赛赛题说明决赛评分标准回顾 参赛分享与收获 大赛提供了非常丰富有趣的数据&#xff0c;能把数据分析明白就能获得高分。首先分析metri…

Delphi、C# 和 TypeScript 之父 Anders Hejlsberg(安德斯·海尔斯伯格,海神)赶潮AI

自2022年11月ChatGPT横空出世&#xff0c;一波由AIGC引发的热潮轰轰烈烈持续传播。 全球各国政府及大型互联网企业都在积极布局人工智能解决方案&#xff0c;抢占人工智能高地&#xff0c;推动人工智能产业健康发展。 Delphi、C# 和 TypeScript 之父&#xff0c;位列Microsof…

口袋参谋:如何规避差评风险?一招让你实现宝贝0差评!

​作为卖家&#xff0c;不会还有人不知道差评的威力吧&#xff01; 如果你宝贝销量大&#xff0c;差评率本身就低&#xff0c;偶尔一个差评可能影响不大。 但如果你是新宝贝上架&#xff0c;销量少的可怜&#xff0c;差评就是重磅炸弹&#xff0c;99.99%让店铺的评分绿得发亮…

git bash 常见场景用法

1.git 客户端 2.git 代码操作&#xff08;下载、上传、删除、查看仓库地址&#xff09; 下载代码&#xff1a; git clone 仓库路径 上传代码&#xff1a; git add git commit -m "注释" git push 删除代码&#xff1a; git rm [-r] 代码&#xff1b;git commit -m…

腾讯云新用户:定义、专属福利及优惠活动

在当今的数字化时代&#xff0c;云计算已成为企业和个人不可或缺的技术服务。腾讯云作为国内领先的云计算服务提供商&#xff0c;为新用户提供了一系列专属福利和优惠活动。本文将详细介绍腾讯云新用户的定义、专属福利和优惠活动&#xff0c;助力大家轻松上云&#xff01; 一、…

基于Java+SpringBoot+Vue前后端分离高校专业实习管理系统设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

Tomcat多实例 + Tomcat负载均衡、动静分离(Nginx联动)

多实例联动 一、Tomcat 多实例1.1 什么是Tomcat多实例&#xff1f;1.2 配置思路1.3 配置实现1.3.1 安装jdk1.3.2 安装tomcat1.3.3 配置 tomcat 环境变量1.3.4 修改端口号1.3.5 修改各 tomcat 实例中的 startup.sh 和 shutdown.sh 文件&#xff0c;添加 tomcat 环境变量1.3.6 启…

01_前端css编写的三种方式

前言 CSS的引入方式共有三种&#xff1a;行内样式、内部样式表、外部样式表 一、内联式引入 用法&#xff1a; 在元素上直接通过style属性进行设置css样式设置 示例&#xff1a; <h1 style"color:red;">style属性的应用</h1> <p style"font-si…

建站系列(五)--- 前端开发语言之HTML、CSS、JavaScript

目录 相关系列文章前言一、前端开发与后端开发二、前端语言简介&#xff08;一&#xff09;、HTML&#xff08;二&#xff09;、CSS&#xff08;三&#xff09;、JavaScript 三、学习指导&#xff08;一&#xff09;、开发环境&#xff08;二&#xff09;、第一个Hello&#xf…

【实训】“宅急送”订餐管理系统(程序设计综合能力实训)

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 前言 大一小学期&#xff0c;我迎来了人生中的第一次实训…