使用Pytorch实现逻辑回归深度学习模型

import torch
import numpy as np
import pandas as pd
import matplotlib.pyplot
from torch import nn
#读取数据
data = pd.read_csv(r'C:\Users\22789\Desktop\学校课程学习\路飞python\1.基础部分(第1-7章)参考代码和数据集\第4章\credit-a.csv',header=None)
#由下面图一可以知道,左边15列是特征值,最后一列是标签
#接下来是数据预处理,分别取出特征值和标签
X = data.iloc[:,:-1] # 取特征值
Y = data.iloc[:,-1].replace(-1,0)
X = torch.from_numpy(X.values).type(torch.float32)
Y = torch.from_numpy(Y.values.reshape(-1,1)).type(torch.float32)#转换成tensor
model = nn.Sequential(
nn.Linear(15,1), #输入特征是15,输出特征是1
nn.Sigmoid()
) #顺序连接多个层
# 1.初始化损失函数
loss_fn = nn.BCELoss() # 二分类交叉熵损失函数
opt = torch.optim.Adam(model.parameters(),lr = 0.002) #优化函数
batches = 16
number_batch = 653//16
epoches = 1888 #定义训练论数为1888
for epoch in range(epoches):
for batch in range(number_batch):
start = batch * batches
end = start + batches
x = X[start:end]
y = Y[start:end]
y_pred = model(x)
loss = loss_fn(y_pred,y)
opt.zero_grad()
loss.backward()
opt.step()
model.state_dict() # sigmoid(w1*x1 + w2*x2+...w15*x15+b)
print(f"模型准确率是{((model(X).data.numpy() > 0.5).astype(int) == Y.numpy()).mean()}")


训练预测结果:


__EOF__

本文作者DeepBrainBoy
本文链接https://www.cnblogs.com/tccjx/articles/16473687.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   TCcjx  阅读(68)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏