当前位置: 首页 > news >正文

自己公司设计一个网站宁波网站优化公司电话

自己公司设计一个网站,宁波网站优化公司电话,WordPress读写分离,如何做类似优酷的视频网站介绍 本文使用PyTorch构建一个简单而有效的泰坦尼克号生存预测模型。通过这个项目#xff0c;你会学到如何使用PyTorch框架创建神经网络、进行数据预处理和训练模型。我们将探讨如何处理泰坦尼克号数据集#xff0c;设计并训练一个神经网络#xff0c;以预测乘客是否在灾难…介绍 本文使用PyTorch构建一个简单而有效的泰坦尼克号生存预测模型。通过这个项目你会学到如何使用PyTorch框架创建神经网络、进行数据预处理和训练模型。我们将探讨如何处理泰坦尼克号数据集设计并训练一个神经网络以预测乘客是否在灾难中幸存。 主要内容包括 数据准备介绍如何加载和预处理泰坦尼克号数据集包括处理缺失值、对类别特征进行编码等。构建神经网络模型定义一个简单的神经网络模型包括输入层、隐藏层和输出层并选择适当的激活函数。模型训练与评估通过将数据集划分为训练集和测试集展示如何训练模型并评估其性能。结果预测对测试集数据进行处理和预测并将最终结果导出。 通过这个简单的项目展示如何构建一个简单但实用的预测模型。 目录 介绍1. 数据准备数据导入特征转换缺失值处理删除多余数据 2. 模型搭建3. 模型训练4. 结果预测测试集数据处理预测计算结果导出 1. 数据准备 import numpy as np import torch import torch.nn as nn import torch.nn.functional as F import os from scipy import stats import pandas as pd 数据导入 titanic_data pd.read_csv(train.csv) titanic_data.columns特征转换 dfpd.concat([titanic_data,pd.get_dummies(titanic_data[Sex]).astype(int),pd.get_dummies(titanic_data[Embarked],prefixEmbarked).astype(int),pd.get_dummies(titanic_data[Pclass],prefixclass).astype(int)],axis1) df.head()缺失值处理 df[Age]df[Age].fillna(df.Age.mean()) df[Fare]df[Fare].fillna(df.Fare.mean())删除多余数据 df_cleandf.drop([PassengerId,Name,Ticket,Cabin,Sex,Embarked,Pclass],axis1) df_clean.head() ### 数据切分 labelsdf_clean[Survived].to_numpy()df_cleandf_clean.drop([Survived],axis1) datadf_clean.to_numpy()feature_nameslist(df_clean.columns)np.random.seed(10) train_indicesnp.random.choice(len(labels),int(0.7*len(labels)),replaceFalse) test_indiceslist(set(range(len(labels)))-set(train_indices))train_featuresdata[train_indices] train_labelslabels[train_indices]test_featuresdata[test_indices] test_labelslabels[test_indices]len(test_labels)2. 模型搭建 # 定义Mish激活函数 class Mish(nn.Module):def __init__(self):super().__init__()def forward(self, x):# Mish激活函数的前向传播过程x x * (torch.tanh(F.softplus(x)))# 返回经过Mish激活函数的结果return x# 设置随机种子 torch.manual_seed(0)# 定义ThreelinearModel模型 class ThreelinearModel(nn.Module):def __init__(self):super().__init__()# 定义三个线性层用于处理输入特征self.linear1 nn.Linear(12, 12)self.mish1 Mish() # 使用自定义激活函数Mishself.linear2 nn.Linear(12, 8)self.mish2 Mish() # 使用Mish作为第二个激活函数self.linear3 nn.Linear(8, 2) # 输出层用于生成分类结果self.softmax nn.Softmax(dim1) # 对输出进行Softmax将结果转为概率分布self.criterion nn.CrossEntropyLoss() # 交叉熵损失函数用于计算模型误差def forward(self, x):# 模型的前向传播过程lin1_out self.linear1(x)out1 self.mish1(lin1_out)out2 self.mish2(self.linear2(out1))# 经过线性层和激活函数后通过Softmax得到最终的概率分布return self.softmax(self.linear3(out2))def getloss(self, x, y):# 计算模型预测值与实际标签之间的交叉熵损失y_pred self.forward(x)loss self.criterion(y_pred, y)# 返回计算得到的损失值return loss 3. 模型训练 if __name__ __main__:# 创建 ThreelinearModel 的神经网络模型net ThreelinearModel()# 设置训练轮数为200次选择Adam优化器学习率为0.04num_epochs 200optimizer torch.optim.Adam(net.parameters(), lr0.04)# 将训练数据转换为PyTorch张量格式input_tensor torch.from_numpy(train_features).type(torch.FloatTensor)label_tensor torch.from_numpy(train_labels)# 用于存储每轮训练的损失值losses []# 开始训练循环for epoch in range(num_epochs):# 计算当前模型在训练数据上的损失值loss net.getloss(input_tensor, label_tensor)# 记录损失值losses.append(loss.item())# 清零梯度防止梯度累积optimizer.zero_grad()# 反向传播计算梯度loss.backward()# 更新模型参数optimizer.step()# 每20轮打印一次训练损失if epoch % 20 0:print(Epoch {}/{} Loss: {:.2f}.format(epoch 1, num_epochs, loss.item()))# 创建models文件夹如果不存在保存训练好的模型参数os.makedirs(models, exist_okTrue)torch.save(net.state_dict(), models/titanic_model.pt)# 使用训练好的模型进行训练集的预测out_probs net(input_tensor).detach().numpy()out_classes np.argmax(out_probs, axis1)# 输出训练集准确率print(Training Accuracy: , sum(out_classes train_labels) / len(train_labels))# 使用训练好的模型进行测试集的预测test_input_tensor torch.from_numpy(test_features).type(torch.FloatTensor)out_probs net(test_input_tensor).detach().numpy()out_classes np.argmax(out_probs, axis1)# 输出测试集准确率print(Testing Accuracy: , sum(out_classes test_labels) / len(test_labels))4. 结果预测 测试集数据处理 testpd.read_csv(/kaggle/input/titanic/test.csv) test_dfpd.concat([test,pd.get_dummies(test[Sex]).astype(int),pd.get_dummies(test[Embarked],prefixEmbarked).astype(int),pd.get_dummies(test[Pclass],prefixclass).astype(int)],axis1)test_df[Age]test_df[Age].fillna(df.Age.mean()) test_df[Fare]test_df[Fare].fillna(df.Fare.mean())Idtest_df[PassengerId] test_df_cleantest_df.drop([PassengerId,Name,Ticket,Cabin,Sex,Embarked,Pclass],axis1) pred_featurestest_df_clean.to_numpy()预测计算 pred_input_tensortorch.from_numpy(pred_features).type(torch.FloatTensor) pred_out_probsnet(pred_input_tensor).detach().numpy() pred_classesnp.argmax(pred_out_probs,axis1)结果导出 submission pd.DataFrame({PassengerId: Id,Survived: pred_classes[:], }) # Save the submission file submission.to_csv(submission.csv, indexFalse)
http://www.pierceye.com/news/968177/

相关文章:

  • 网站左侧分类导航菜单用PS做的个人网站图片
  • 返利网 网站开发青岛开发区建网站哪家好
  • 还能电子商务网站建设短网址生成站长工具
  • 有专门做网站的吗网站后台发表文章
  • 秦皇岛汽车网站制作广州网站建设 知名
  • 自己建网站数据怎么做惠州网站制作培训
  • 南山做网站的wordpress自助友链
  • php企业网站源码软件工程师发展前景
  • 如何从建设局网站上更换职称人员哪个网站可以免费做国外网站
  • 情侣博客网站模板下载学校网站建设调查报告
  • 平台网站开发是什么意思全屏的网站
  • 素材图库网站源码网站建设及推广培训班
  • 英国电商网站jsp旅游网站开发系统
  • 机关网站建设引导语开发一个企业网站需要多少钱
  • 徐汇网站推广挣钱最快的小游戏
  • 手机网站开发的目的在线免费看影视网站
  • 湖州网站设计wordpress自动删除p标签
  • 昆明几大网站学生网站建设实训总结
  • 丽江手机网站建设建设公司起名大全
  • seo网站分析工具wordpress的安装包
  • 北京网站建设报价表徐州专业做网站
  • 怎样做网站卖网站国内免费开源crm
  • wordpress多语言网站济宁住房和城乡建设厅网站
  • 免费crm网站下载网站建设 繁体
  • 东莞企业官方网站建设网站建设对产品推销作用大吗
  • php网站路径问题站长工具权重查询
  • 箱包官方网站模板摄影后期教程网站
  • iis 手机网站同域名网站改版需要把之前网站里的文章都拷贝过来吗?
  • 网站是专门对生活中的一些所谓常识做辟谣的商标设计网站排行
  • seo网站设计营销工具抽奖网站插件