做了下Kaggle的Spaceship Titanic项目,算是对CNN学习的一个总结,也是回归机器学习的一个响应(第三章的练习题提出可以做一做Kaggle的Titanic案例),具体代码如下:

# 定义网络模型
from torch import nn
import torch.nn.functional as Fclass mymodule(nn.Module):def __init__(self):super().__init__()self.fc1 = nn.Linear(20, 64)self.fcc = nn.Linear(64, 64)self.fc2 = nn.Linear(64, 32)self.fc3 = nn.Linear(32, 2)self.relu = nn.ReLU()self.drop = nn.Dropout(p=0.2)self.bn1 = nn.BatchNorm1d(64)self.bn2 = nn.BatchNorm1d(32)def forward(self, x):x = x.to(torch.float32)  # 解决数据类型的问题x = self.relu(self.fc1(x))x = self.bn1(x)x = self.drop(x)x = self.relu(self.fcc(x))x = self.bn1(x)x = self.drop(x)x = self.relu(self.fc2(x))x = self.bn2(x)x = self.fc3(x)x = torch.sigmoid(x)return x'''
----------------------------------------------------------------------
'''# 设置随机数种子,保证结果可复现
seed = 548814
torch.manual_seed(seed)  # 设置CPU
# torch.cuda.manual_seed(seed)  # 设置GPU# 训练模型
from torch import optimmodel = mymodule()  # 实例化模型
# 适应设备
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
model.to(device)# 选用Adam优化器,传入模型参数,设置学习率为0.002,正则化参数weight_decay=0.1
optimizer = optim.Adam(model.parameters(), lr=0.001, weight_decay=0.01)
criterion = nn.CrossEntropyLoss()  # 选用交叉熵作为损失函数Loss
epoch = 70  # 设定迭代次数for epoch in range(epoch+1):  # 开始迭代循环for x, y in train_dr:  # 从dataloader中取x,ypred = model(x)  # 正向传播loss = criterion(pred, y)  # 计算损失函数optimizer.zero_grad()  # 优化器的梯度清零loss.backward()  # 反向传播optimizer.step()  # 参数更新# 计算准确率with torch.no_grad():  # 在该模块下,所有计算得出的tensor的requires_grad都自动设置为False。y_pred = model(x_train_tensor)  # 得到训练集的预测标签acc_train = (y_pred.argmax(dim=1) == y_train_tensor).float().mean().item()  # 计算训练集的准确率y_pred = model(x_test_tensor)  # 得到测试集的预测标签acc_test = (y_pred.argmax(dim=1) == y_test_tensor).float().mean().item()  # 计算训练集的准确率print('epoch:', epoch, '  Accuracy for train:', acc_train, '  Accuracy for test:', acc_test)

以上是一次仅用全连接层的尝试,使用CNN方法的代码在之前已经给出(数据预处理过程也是),最终在Kaggle上Score: 0.80079,算是一次不错的尝试和开始吧。接下来继续努力!

Kaggle项目——Spaceship Titanic相关推荐

  1. 【kaggle】Spaceship Titanic - 预测哪些乘客被运送到另一个维度【CatBoost - 10%】

    一.赛题 Spaceship Titanic - 预测哪些乘客被运送到另一个维度:https://www.kaggle.com/competitions/spaceship-titanic 结果: 二 ...

  2. Kaggle系列(一):Spaceship Titanic(太空飞船泰坦尼克)

    开坑开坑Kaggle系列(通过kaggel练习机器学习与数据分析能力) 2022年3月9日,这是第一个版本的太空泰坦尼克任务 我的Github中发布了本任务包含的相应源码与思路分析讲解,欢迎来⭐. 本 ...

  3. Datawhale打卡活动 Kaggle Spaceship Titanic Day3

    文章目录 Datawhale打卡活动 Kaggle Spaceship Titanic Day 3 验证集划分与树模型 步骤1:学习sklearn中的数据划分方法 K折交叉验证(KFold.Strat ...

  4. kaggle入门(二)——Spaceship Titanic

    Spaceship Titanic | KagglePredict which passengers are transported to an alternate dimensionhttps:// ...

  5. Datawhale打卡活动 Kaggle Spaceship Titanic Day4

    Datawhale打卡活动 Kaggle Spaceship Titanic 尝试了一个coggle科学的打卡活动(Coggle 30 Days of ML(22年10月)),记录一下学习过程! Da ...

  6. Kaggle Spaceship Titanic打卡活动Day1

    Kaggle Spaceship Titanic打卡活动 尝试了一个coggle科学的打卡活动(Coggle 30 Days of ML(22年10月)),记录一下学习过程! Day 1 比赛的报名与 ...

  7. kaggle入门项目:Titanic存亡预测(三)数据可视化与统计分析

    ---恢复内容开始--- 原kaggle比赛地址:https://www.kaggle.com/c/titanic 原kernel地址:A Data Science Framework: To Ach ...

  8. 泰坦尼克号数据集_机器学习(入门)--Kaggle项目之泰坦尼克号

    电影<泰坦尼克号>改编自一个真实故事.1912年4月15日,这艘号称"永不沉没"的泰坦尼克号在首航期间,撞上冰山后沉没,船上的2224名乘客和机组人员,其中只有772人 ...

  9. Spaceship Titanic——简单的预处理+LightGBM

    Kaggle上的spaceship titanic比赛,做了一些简单的预处理,之后用LightGMB建模,在原作者的基础上稍微调了下参数,最终结果有了一点点提升;) 数据特征描述: Passenger ...

最新文章

  1. DOS文件转换成UNIX文件格式详解
  2. 什么是上采样和下采样
  3. 升级bios_ThinkPad如何升级BIOS?我来教你!
  4. dw_mysql】apache_怎么将dreamweaver与apache服务器连接
  5. 矩阵论期末手写总结笔记
  6. 解决df -h卡死问题
  7. 计算机“复制粘贴”之父去世
  8. 分布式系统面试题:分布式事务解决方案?
  9. CentOS下使用TUN/TAP虚拟网卡的基本教程
  10. iOS开发之SQLite的Object-C封装
  11. Python在线考试系统源代码
  12. 移动100兆光纤,白天速度快,到了晚上卡成狗,何解?
  13. 深蓝学院 浙江大学免费开源课程 !
  14. Android 中view的解释
  15. Ansible hosts文件写法
  16. 用python画爱心及代码演示
  17. 调用android的拍照或本地相册选取再实现相片上传服务器,Android调用系统相机、本地相册上传图片(头像上传(裁剪)、多张图片上传)...
  18. 量子计算机qled,量子点发光原理详解
  19. Rsync命令参数以及配置使用
  20. git问题:Please make sure you have the correct access rights and the repository exists.

热门文章

  1. 刷题常见vector类模板内部实现 看完思路清晰
  2. SwiftUI CloudKit 入门之 10 获取iCloud容器的API令牌
  3. 记一次地平线智能座舱-FAE职位面试
  4. XXL-JOB原理--执行器注册(二)
  5. 浏览器禁止弹出离开窗口
  6. PCD文件的读取以及可视化
  7. WIN10系统mi_iot+ESP32开发环境配置
  8. 超好用的六款拼图神器,总有一个适合你
  9. ubuntu配置SSH
  10. ELGamal公钥密码