【pytorch学习】Titanic数据集使用pytorch构建神经网络处理

这篇博客记录了作者在B站刘二大人的PyTorch教程中完成第八讲课后作业的过程。首先,对数据进行预处理,包括将性别字符串转为0/1,填充年龄缺失值。然后,将数据从DataFrame转换为numpy数组和PyTorch张量。定义了Train_Dataset和Test_Dataset类,并使用DataLoader加载数据。模型采用多层线性网络并应用Sigmoid激活函数。通过BCELoss进行损失计算,使用SGD优化器进行训练。最终,训练模型并在测试集上进行预测,输出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在学b站刘二大人的pytorch教程。将第八讲的课后作业写了下,在此记录。
我也是初学者,写代码常常在写bug,代码也不够简洁,参考了其他同学的课后作业
如果有幸被您看到,希望可以轻喷,我们一起讨论~

0.数据集准备

科学上网,如果可以的话,上面有一些如何简单处理数据集的代码。
https://www.kaggle.com/competitions/titanic/overview

1.思路提纲

1.数据处理

①性别(sex)的字符串转为整数
male用1表示,female用0表示

df = pd.read_csv(filepath, header=0)
df.replace('male', 1, inplace=True)
df.replace('female', 0, inplace=True)

方法来自这里

②年龄(age)数据有缺失值
使用该列均值填充

df = df.fillna(df.mean())

2.数据格式的转换
pandas的dataframe→numpy的array(float32)→pytorch提供的tensor
【数据集你的转换搞的我代码好复杂好乱QAQ】

xy = df.iloc[:, [1,2,4,5,6,7,9]]	#取所需的整数数据列
xy = (np.array(xy)).astype(np.float32)

2.代码呈现

#0.引用库
import numpy as np
import torch
from torch.utils.data import Dataset, DataLoader
import pandas as pd
import matplotlib.pyplot as plt

#1.准备数据集
class Train_Dataset(Dataset):
    def __init__(self, filepath):
        df = pd.read_csv(filepath, header=0)#读取数据
        df.replace
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值