当前位置: 首页 > news >正文

24/8/14算法笔记 复习_逻辑回归sigmoid

import numpy as np
import matplotlib.pyplot as pltdef sigmoid(x):return 1/(1+np.exp(-x))x = np.linspace(-5,5,100)
y = sigmoid(x)plt.plot(x,y,color='green')
#损失函数
from sklearn import datasets
from sklearn.linear_model import LogisticRegression
from mpl_toolkits.mplot3d import Axes3D
#Z-score归一化
from sklearn.preprocessing import scale,StandardScaler#加载数据
X,y = datasets.load_breast_cancer(return_X_y=True)X=X[:,:2]#切片两个特征#建模
model = LogisticRegression()#训练,和之前线性回归,类似
#后面其他方法,算法,类似
model.fit(X,y)#逻辑回归线性方程拿出来:系数
w1 = model.coef_[0,0]
w2 = model.coef_[0,1]
b = model.intercept_
print('方程系数',w1,w2)
print('截距',b)#sigmoid函数
def sigmoid(X,w1,w2,b):z = w1*X[0] + w2*X[1] + b#方程表示return 1/(1+ np.exp(-z))#损失函数
def loss_function(X,y,w1,w2,b):loss = 0for X_i,y_i in zip(X,y):p = sigmoid(X_i,w1,w2,b)#概率p=np.clip(p,0.0001,0.999)#裁剪  np.clip 在 loss_function 中的使用是为了防止概率值为0或1,这在对数计算中会导致数值不稳定。loss+= -y_i * np.log(p) +(1-y_i)* np.log(1-p)return loss#定义参数w1,w2取值空间
w1_space= np.linspace (w1 - 2,w1 +2,100)
w2_space = np.linspace(w2 - 2,w2 +2,100)#损失计算
#loss1_ 是通过遍历 w1_space 中的所有 w1 值,并计算每个 w1 值对应的损失函数值来创建的。这个过程是损失函数在不同 w1 权重参数下的表现,可以帮助我们理解权重参数如何影响模型的性能。
loss1_ = np.array([loss_function(X,y,i,w2,b) for i in w1_space])
loss2_ = np.array([loss_function(X,y,w1,i,b) for i in w2_space])#可视化
fig1 = plt.figure(figsize=(12,9))plt.subplot(2,2,1)
plt.plot(w1_space,loss1_,color='green')plt.subplot(2,2,2)
plt.plot(w1_space,loss1_,color='red')#逻辑回归代码实现
#将数据拆分
from sklearn.model_selection import train_test_split
X,y = datasets.load_iris(return_X_y=True)
cond = y!=2#过滤数据:类别是2,过滤掉  "cond"通常用作条件的缩写,表示一个需要被评估为真或假的表达式。
X=X[cond]
y=y[cond]#加载数据并拆分
#将调练数据测试数据:80% 训练数据,保留20%,测试数据
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.2)#训练
model = LogisticRegression()
model.fit(X_train,y_train)y_pred = model.predict(X_test)
print('预测结果是:',y_pred)proba_ = model.predict_proba(X_test)
print('预测概率是:\n',proba_)#概率手动计算
def sigmoid(x):return 1/(1+np.exp(-z))#方程系数和截距
w=model.coef_
b=model.intercept_#求解线性方程
z=X_test.dot(w.reshape(-1))+bp=sigmoid(z)#列合并
#np.column_stack([1-p,p])
np.concatenate([(1-p).reshape(-1,1),p.reshape(-1,1)],axis = 1)[:5]

为什么要列合并?因为在逻辑回归中,我们通常需要一个概率矩阵,其中每一行代表一个样本,每一列代表该样本属于某个类别的概率。例如,对于二分类问题,我们通常会有两个列,一个表示属于类别0的概率,另一个表示属于类别1的概率。

loss1_ 是通过遍历 w1_space 中的所有 w1 值,并计算每个 w1 值对应的损失函数值来创建的。这个过程是损失函数在不同 w1 权重参数下的表现,可以帮助我们理解权重参数如何影响模型的性能。

np.cliploss_function 中的使用是为了防止概率值为0或1,这在对数计算中会导致数值不稳定。

在编程和逻辑语句中,"cond"通常用作条件的缩写,表示一个需要被评估为真或假的表达式。

相关文章:

24/8/14算法笔记 复习_逻辑回归sigmoid

import numpy as np import matplotlib.pyplot as pltdef sigmoid(x):return 1/(1np.exp(-x))x np.linspace(-5,5,100) y sigmoid(x)plt.plot(x,y,colorgreen) #损失函数 from sklearn import datasets from sklearn.linear_model import LogisticRegression from mpl_toolki…...

MySQL忘记/无root密码,强制修改root密码

MySQL忘记/无root密码,强制修改root密码_mysql无root密码登录后设置密码-CSDN博客 sudo vi /etc/mysql/my.cnf 添加如下内容: [mysqld] skip-grant-tablessudo service mysql restart mysql -u root -p use mysql; update mysql.user set authentica…...

探索 MongoDB 的 $currentDate:解决 TTL 时间不同步问题的利器

在我们日常的开发工作中,时间管理是一个非常重要的环节。尤其是在处理数据库中的数据时,时间戳的准确性和一致性至关重要。今天,我们要聊聊 MongoDB 中的一个神奇操作符——$currentDate,它是如何帮助我们解决 TTL(Tim…...

defineModel

前言 随着 Vue3.4 版本的发布,defineModel 也正式转正了。它可以简化父子组件之间的双向绑定,是目前官方推荐的双向绑定实现方式。 defineModel 使用 在开发的过程中,如果有需要通过子组件进行状态更新的话,v-model是一个绕不开…...

去中心化技术的崛起:探索Web3的新时代

引言: Web3是互联网发展的新阶段,它通过去中心化技术重新定义了数字世界的运作方式。这一新时代不仅带来了技术上的突破,也为社会互动和数据管理开辟了新的前景。本文将深入探讨Web3的核心技术、应用领域、全球影响以及面临的挑战&#xff0…...

GNU/Linux - copy_{to,from}_user: 用户和内核空间的内存互拷贝

copy_{to,from}_user 函数是 Linux 内核编程的基本组成部分。它用于将数据从用户空间复制到内核空间。在编写内核模块或使用设备驱动程序时,安全地处理用户空间和内核空间之间的数据传输对防止安全漏洞和确保系统稳定至关重要。 The copy_{to,from}_user function i…...

进阶岛任务1: 探索 InternLM 模型能力边界

任务 https://aicarrier.feishu.cn/wiki/QjBswYlmdiSGfskq6vNcBmZCn09 在 CompassArena 中选择双模型对话,与InternLM2.5及另外任意其他模型对话,收集 5 个 InternLM2.5 输出结果不如其他模型的对话案例,以及 InternLM2.5 的 5 个 Good Ca…...

RabbitMQ实现多线程处理接收消息

前言:在使用RabbitListener注解来指定消费方法的时候,默认情况是单线程去监听队列,但是这个如果在高并发的场景中会出现很多个任务,但是每次只消费一个消息,就会很缓慢。单线程处理消息容易引起消息处理缓慢&#xff0…...

AI智能网关 边缘计算 视觉AI

随着人工智能技术的不断发展,AI智能网关正成为连接现实世界和虚拟智能世界的重要桥梁。作为智能化时代的关键设备,AI智能网关在物联网、工业、市政、无人驾驶、农业、环保、水利等领域起到了至关重要的作用。   首先,AI智能网关是物联网的核…...

Java基础之原反补码

原反补码 学习这个知识点之前,我们先来看一个题目:写出10的二进制形式 答案及解读: ​ 0b 0 0(23个) 0000 1010 ​ 10对应的类型为int,在计算机底层占4字节,需要32个比特位表示 ​ 其中最高位为符号位,0表…...

Unity如何使用Spine动画导出的动画

Unity如何使用Spine动画导出的动画 介绍使用版本Spine导出源文件修改Spine3.8.75版本导入Unity的3.8版本Spine的报错Unity辅助修改Json中版本号方式总结 介绍 最近公司在做抖音小程序的小游戏,我们这边动画部分使用的是spine动画,所以会有spine导入的问…...

变量位操作

对变量的某位取反 a ^(1<<2);//bit2取反 把变量的某位清零 a & ~(1<<2);//bit2清0 把变量的某位置1 a | (1<<2);//bit2置1...

内网渗透—横向移动RDPWinRMWinRSSPN扫描Kerberos攻击

前言 今天仍是横向移动的内容&#xff0c;有些实验能成功&#xff0c;有些实验则各种奇怪的问题导致失败&#xff0c;这都是很常见的。就连小迪在视频中也经常翻车&#xff0c;我们只需要知道原理&#xff0c;以及如何去实现这个攻击行为即可。没必要强求所有的实验都要百分百…...

Python套接字综合应用(UDP篇)

Python套接字综合应用(UDP篇) 1、 主要功能 UDP客户端实现UDP服务端实现输出字体颜色控制响应捕获键盘CtrlC信号套接字异常捕获及处理通信报文16进制格式化输出 2、 Python UDP套接字应用 Windows程序在WinServer2022上验证运行&#xff0c;Linux程序在银河麒麟V10上验证运…...

服务器安装哪吒面板详细教程

本文长期更新地址&#xff1a; 服务器安装哪吒面板详细教程-星零岁的博客https://blog.0xwl.com/13568.html 注&#xff1a;本文中部分内容源自网络&#xff0c;第四步中部分来自本人曾经文章&#xff1a;云服务器安装配置宝塔面板并安装基础运行环境教程-星零岁的博客 今天来讲…...

LLM微调(精讲)-以高考选择题生成模型为例(DataWhale AI夏令营)

前言 你好&#xff0c;我是GISer Liu&#x1f601;&#xff0c;一名热爱AI技术的GIS开发者&#xff0c;上一篇文章中&#xff0c;作者介绍了基于讯飞开放平台进行大模型微调的完整流程&#xff1b;而在本文中&#xff0c;作者将对大模型微调的数据准备部分进行深入&#xff1b;…...

安全基础学习-RC4加密算法

这里仅仅记录一些基础的概念。后期有需求进一步扩展。 RC4 是一种对称流加密算法&#xff0c;由罗恩里维斯特&#xff08;Ron Rivest&#xff09;于1987年设计。RC4 的设计目的是提供一种简单且高效的加密方法。尽管 RC4 曾经广泛使用&#xff0c;但它的安全性在现代已受到质疑…...

雨云宁波电信大带宽服务器测评(非广告)

提示&#xff1a;本文非广告&#xff0c;非宣传&#xff01; 本文长期更新地址&#xff1a;雨云宁波电信大带宽服务器测评&#xff08;非广告&#xff09; 雨云现在有一个国内的新区——宁波 宣传的是电信大带宽&#xff0c;可附加100G防御&#xff0c;采用NVME&#xff0c;和铂…...

2024年,最新前端趋势

随着技术的不断发展&#xff0c;前端开发领域在2024年迎来了新的趋势和挑战。对于开发者来说&#xff0c;紧跟这些趋势不仅能提升技术水平&#xff0c;还能在激烈的市场竞争中脱颖而出。今天&#xff0c;我想向大家介绍一款在这波趋势中脱颖而出的开发神器——MemFire Cloud。这…...

Linux静态进程和动态进程查看管理

1.静态进程的查看PS PPID&#xff1a;谁启动的父亲ID USER&#xff1a;运行进程的用户名称 PID&#xff1a;进程ID %CPU&#xff1a;CPU的占用比例占用资源 %MEM&#xff1a;内存使用的占用比例 VSZ&#xff1a;占用虚拟内存多少 RSS&#xff1a;占用实际内存多少 TTY:…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向&#xff0c;可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官

。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量&#xff1a;setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...