《PyTorch深度学习实践》06 逻辑斯蒂回归 代码
视频:06.逻辑斯蒂回归_哔哩哔哩_bilibili
参考文章:pytorch 深度学习实践 第6讲 逻辑斯蒂回归_会游泳的小雁的博客-CSDN博客
网络模型的基本框架
1步骤:
1.Prepare dataset
2.Design model using Class (inherit from nn.Module)
3.Construct loss and optimizer (using Pytorch API)
4.Training cycle ( forward, backward, update)
2. logistic回归的代码实现 以及网络模型的基本框架代码
# 06 逻辑斯蒂回归
import os
os.environ['KMP_DUPLICATE_LIB_OK']='True'
import torch
import torch.nn.functional as F
import numpy as np
import matplotlib.pyplot as plt#------------01:数据集的准备 (复杂的进行封装)--------------------------
x_data = torch.Tensor([[1.0], [2.0], [3.0]])
y_data = torch.Tensor([[0], [0], [1]]) #变化之处:变成分类#------------02:设计模型(来计算y_pred) --------------------------------
class LogisticRegressionModel(torch.nn.Module):# 初始化函数和线性回归模型的一样,因为logistic函数中没有新的参数需要初始化def __init__(self):super(LogisticRegressionModel, self).__init__()self.linear = torch.nn.Linear(1, 1)def forward(self, x):y_pred = torch.sigmoid(self.linear(x)) #增加sigmoid的非线性的变换return y_pred
model = LogisticRegressionModel()#------------03:构建损失函数和优化器 -----------------------------------
criterion = torch.nn.BCELoss(reduction = 'sum') #把线性的MSELoss变成BCELoss
optimizer = torch.optim.SGD(model.parameters(), lr=0.01) #优化器#------------04:做训练的循环 ------------------------------------------
for epoch in range(1000):y_pred = model(x_data)loss = criterion(y_pred, y_data)print(epoch, loss) # loss为一个对象,但会自动调用__str__()所以不会出错optimizer.zero_grad() # 将梯度值清0loss.backward() # 反向传播求梯度optimizer.step() # 优化器 更新权重#------------- 测试-----------------
x = np.linspace(0, 10, 200) # 返回0-10等间距的200个数
x_t = torch.Tensor(x).view((200, 1)) # reshape成一个200行1列的矩阵tensor
y_t = model(x_t) # 传入模型进行测试
y = y_t.data.numpy() # 调用numpy将y_t变成n维数组
# 图像类似logistic函数
plt.plot(x, y)
# y=0.5那条红色的横线
plt.plot([0, 10], [0.5, 0.5], c='r')
plt.xlabel('Hours')
plt.ylabel('Probability of Pass')
plt.grid() #显示网格线 1=True=默认显示;0=False=不显示
plt.show()
结果如下:
《PyTorch深度学习实践》06 逻辑斯蒂回归 代码相关推荐
- PyTorch深度学习实践06
Logistic Regression 逻辑回归但是做分类 import os import os os.environ["KMP_DUPLICATE_LIB_OK"]=" ...
- Pytorch深度学习笔记(七)逻辑斯蒂回归
目录 1. logistic(逻辑斯蒂)函数 2.二分类任务(binary classification)损失函数 3.二分类任务(binary classification)最小批量损失函数 4.逻 ...
- 《PyTorch深度学习实践》
[<PyTorch深度学习实践>完结合集] https://www.bilibili.com/video/BV1Y7411d7Ys/?share_source=copy_web&v ...
- 刘二大人 PyTorch深度学习实践 笔记 P6 逻辑斯蒂回归
刘二大人 PyTorch深度学习实践 笔记 P6 逻辑斯蒂回归 P6 逻辑斯蒂回归 1.torchversion 提供的数据集 2.基本概念 3.代码实现 P6 逻辑斯蒂回归 1.torchversi ...
- PyTorch深度学习实践(b站刘二大人)P6讲 逻辑斯蒂回归 Logistic Regression
1.分类任务的数据集 ① The MNIST Dataset:handwritten digits Training set: 60,000 examples, Test set: 10,000 ex ...
- 《PyTorch深度学习实践》完结合集--B站刘二大人学习总结
本篇主要是各类模型的基本介绍及应用,不涉及深层技术. 学习视频指路→B站指路 代码实践指路→代码指路 课件获取:通过百度网盘分享的文件:PyTorch深- 链接:https://pan.baidu.c ...
- 【PyTorch】PyTorch深度学习实践|视频学习笔记|P6-P9
PyTorch深度学习实践 逻辑斯蒂回归及实现 背景与概念 基于分类问题中属性是类别性的,所以不能采取基于序数的线性回归模型,而提出了新的分类模型--逻辑斯蒂回归模型,输出每个样本在各个预测值上的概率 ...
- 笔记|(b站)刘二大人:pytorch深度学习实践(代码详细笔记,适合零基础)
pytorch深度学习实践 笔记中的代码是根据b站刘二大人的课程所做的笔记,代码每一行都有注释方便理解,可以配套刘二大人视频一同使用. 用PyTorch实现线性回归 # 1.算预测值 # 2.算los ...
- 【刘二大人 - PyTorch深度学习实践】学习随手记(一)
目录 1. Overview 1.Human Intelligence 2.Machine Learning 3.How to develop learning system? 4.Tradition ...
最新文章
- 最新版本mysql jdbc驱动包获取表定义信息空指针异常处理方法
- Python多线程介绍及实例
- python学习-异常(异常类型,异常处理、自定义异常)
- mysql 以及mysql可视化工具下载安装地址
- Lec 16 Projection matrices and least squares
- CCF NOI1020 数字识别
- 经典解读 | Cascade R-CNN详细解读
- android 自定义tabhost,安卓选项卡的实现方法(TabActivity),自定义TabHost容器
- 普通的Shader-序列帧相关
- EtherCAT报文格式详解
- html中用于排版标题标签是,web端测试也需要懂-HTML排版标签
- fio_generate_plots
- 计算机专业必读哪些经典书籍?
- 剖析Apple Pay 它与支付宝究竟暧昧什么?
- Android自定义view实现日历控件
- 几款免费wordpress主题推荐
- 使用crow创建一个c++的web服务
- elasticsearch部分常用操作
- 利用站点抓取功能批量下载壁纸
- QML中ListView的深度订制,并利用其实现自定义ComboBox和TreeView