3-6 构建线性模型解决温度计示数转换问题

3-6 构建线性模型解决温度计示数转换问题

直接上源码

%matplotlib inline
import numpy as np
import torch
torch.set_printoptions(edgeitems=2, linewidth=75)

导入必要的库并设置 PyTorch 的打印选项,确保在打印张量时显示边缘项和行宽。

#%%
t_c = [0.5,  14.0, 15.0, 28.0, 11.0,  8.0,  3.0, -4.0,  6.0, 13.0, 21.0]
t_u = [35.7, 55.9, 58.2, 81.9, 56.3, 48.9, 33.9, 21.8, 48.4, 60.4, 68.4]

定义摄氏温度(t_c)和未知单位的温度(t_u)的列表。

#%%
t_c = torch.tensor(t_c)
t_u = torch.tensor(t_u)

将温度列表转换为 PyTorch 张量。

#%%
import matplotlib.pyplot as plt

导入 Matplotlib 库,用于数据可视化。

#%%
fig = plt.figure()
plt.scatter(t_u, t_c, c='b', edgecolors='r')
plt.show()

创建一个散点图,将 t_ut_c 进行可视化。蓝色点表示数据点,红色边缘表示边框颜色。
在这里插入图片描述

#%%
def model(t_u, w, b):
    return w * t_u + b

定义线性模型函数,模型参数为权重 w 和偏置 b,输入为 t_u

#%%
def loss_fn(t_p, t_c):
    squared_diffs = (t_p - t_c)**2
    return squared_diffs.mean()

定义损失函数,计算预测值 t_p 和真实值 t_c 之间的均方误差。

#%%
w = torch.ones(())
b = torch.zeros(())
t_p = model(t_u, w, b)
t_p

初始化模型参数 w 为 1,b 为 0,计算预测值 t_p

#%%
loss = loss_fn(t_p, t_c)
loss

计算预测值 t_p 和真实值 t_c 之间的损失(均方误差)。

#%%
w = torch.zeros(())
b = torch.zeros(())
t_p = model(t_u, w, b)
t_p

重新初始化模型参数 wb 都为 0,再次计算预测值 t_p

#%%
loss = loss_fn(t_p, t_c)
loss

计算新的预测值 t_p 和真实值 t_c 之间的损失(均方误差)。

这个代码的主要目的是定义一个线性回归模型,并通过不同的模型参数来计算预测值和损失,以了解模型预测效果的好坏。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

过于真实呢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值