pytorch深度学习逻辑回归 logistic regression

# logistic regression 二分类
# 导入pytorch  和 torchvision
import numpy as np
import torch
import torchvision
from torch.autograd import Variable
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
import matplotlib.pyplot as pltx_data = torch.tensor([[1.0], [2.0], [3.0]])  # x_data是一个张量
y_data = torch.Tensor([[0], [0], [1]])  # Tensor是一个类,tesor是一个张量# 定义logistic regression模型
class LogisticRegressionModel(nn.Module):def __init__(self):super(LogisticRegressionModel, self).__init__()  # 等价于nn.Module.__init__(self)self.linear = nn.Linear(1, 1)  # 输入和输出的维度都是1def forward(self, x):  # forward函数是必须要有的,用来构建计算图# 二分类问题,所以用sigmoid函数作为激活函数y_pred = torch.sigmoid(self.linear(x))  # forwardreturn y_predmodel = LogisticRegressionModel()  # 实例化一个模型
criterion = nn.BCELoss(size_average=False)  # 损失函数
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)  # 优化器 lr为学习率# 训练模型
for epoch in range(100):  # 训练100次y_pred = model(x_data)  # forwardloss = criterion(y_pred, y_data)  # compute lossprint(epoch, loss.item())  # 打印lossoptimizer.zero_grad()  # 梯度清零loss.backward()  # backwardoptimizer.step()  # update# 测试模型
x_test = torch.tensor([[4.0]])
y_test = model(x_test)
print("predict (after training)", y_test.data)  # 预测# 绘制训练次数和预测值的关系
x = np.linspace(0, 10, 200)  # 从0到10均匀取200个点
x_t = torch.Tensor(x).view(200, 1)  # 转换成200行1列的张量 用Tensor是因为要用到torch.sigmoid
y_t = model(x_t)  # 预测
y = y_t.data.numpy()  # 转换成numpy数组
plt.plot(x, y)  # 绘制预测值和x的关系
plt.plot([0, 10], [0.5, 0.5], c='r')  # 绘制y=0.5的直线
plt.xlabel("Hours")  # x轴标签
plt.ylabel("Probability of Pass")  # y轴标签
plt.grid()  # 绘制网格
plt.show()  # 显示图像

结果

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DP4057替代TP4057 500mA双灯指示防反接锂电充电管理IC

DP4057 是一款完整的单节锂离子电池充电器,带电池正负极反接保护,采用恒定电流/恒定电压线性控制。其 SOT26封装与较少的外部元件数目使得 DP4057 成为便携式应用的理想选择。DP4057可以适合 USB电源和适配器电源工作。由于采用了内部PMOSFET架构&#x…

微信公众号登录

整个流程,1.前端调用授权url 接口(创建一个重定向的请求方法,访问自动回调方法wechat.mp.callbackUrl的地址)。2.微信自动回调方法里判断该用户是需要注册还是直接登录(如果直接登录就返回token) 是注册还是登录返回到配置文件中的 wechat.mp…

Hadoop第一课之环境配置

1.配置一个模板机 要求:IP DNS地址页 网址 防火墙 安装包 1.ip ifconfig 查询 先用虚拟机看一下自己的网关 vim search/provides 命令 查找 # 修改网络配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33 如果提示找不到vim命令,使用yum下载v…

【布局优化】基于遗传算法的车间布局优化 车间设施布局优化【Matlab代码#50】

文章目录 【获取资源请见文章第5节:资源获取】1. 车间布局优化2. 基于GA的布局优化模型3. 部分代码展示4. 仿真结果展示5. 资源获取 【获取资源请见文章第5节:资源获取】 1. 车间布局优化 车间设施布置的规划一直是工业工程领域不断研究和探索的内容&am…

朴素贝叶斯与贝叶斯网络详解

文章目录 一、背景1.1 贝叶斯方法的提出1.2 频率派与贝叶斯派的区别 二、分类问题三、基础知识3.1 条件概率3.2 联合概率3.3 贝叶斯公式4.1 贝叶斯网络介绍4.2 贝叶斯网络的基本结构4.2.1 head-to-head(共同作用)4.2.2 tail-to-tail(共同原因…

学习AJAX

AJAX 🚀 HTTP请求报文响应报文 🚄 express框架🚬 express基本使用 🚒 原生AJAX🚬 GET.HTML🚬 POST.HTML🚬 JSON.HTML🚬 nodemon工具可以帮助重启服务🚬 IE缓存问题&#…

订单系统、报名、预约、表单系统 定制开发功能展示

安装教程环境说明:正常情况下PHP5.3-5.6、阿帕奇、mysql安装即可 安装说明: 1、上传源码压缩包到网站根目录(这个请去问下空间商哪个是根目录,每家服务器商不一样,我们也不能确定,请确定是根目录再安装&am…

【C++初阶】类和对象(上)

文章目录 前言一、类的引入二、类的定义三、类的访问限定符及封装四、类的作用域五、类的实例化六、类对象模型七、this指针 前言 📖面向过程 C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。以…

pytorch学习第一篇:conda配置jupyter notebooks pytorch

安装jupyter notebooks 创建一个pytorch的环境 conda create -n pytorch python3.10 conda activate pytorch安装jupyter notebook,运行命令 conda install jupyter notebook启动jupyter 运行命令 jupyter notebook或者 notebook查看pyhton版本 import sys p…

【数据结构】_3.List接口实现类ArrayList与线性表

目录 1.List接口 1.1 List接口的集合关系网络 1.2 List的使用 2. ArrayList与顺序表 2.1 线性表 2.2 顺序表 2.3 ArrayList 2.3.1 ArrayList的集合关系网络 2.3.2 ArrayList的使用 2.3.2.1 ArrayList的构造方法 2.3.2.2 ArrayList的扩容机制逻辑示图如下&#xff1…

【江西省研究生数学建模竞赛】第一题 蒸汽发生器倒U型管内液体流动 70页论文及MATLAB代码

【江西省研究生数学建模竞赛】题目之一 蒸汽发生器倒U型管内液体流动 70页论文及MATLAB代码 相关链接 【江西省研究生数学建模竞赛】第一题 蒸汽发生器倒U型管内液体流动 70页论文及MATLAB代码 【江西省研究生数学建模竞赛】第一题 蒸汽发生器倒U型管内液体流动 70页论文及MA…

Thread-local storage is not supported for the current target

xcode编译时遇到上述报错,解决办法:调整最低系统版本配置