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

上外贸网站建设wordpress看板娘素材

上外贸网站建设,wordpress看板娘素材,咸阳做网站开发公司哪家好,网页制作代码#x1f368; 本文为#x1f517;365天深度学习训练营中的学习记录博客#x1f356; 原作者#xff1a;K同学啊 数据集包含2149名患者的广泛健康信息#xff0c;每名患者的ID范围从4751到6900不等。该数据集包括人口统计详细信息、生活方式因素、病史、临床测量、认知和功… 本文为365天深度学习训练营中的学习记录博客 原作者K同学啊 数据集包含2149名患者的广泛健康信息每名患者的ID范围从4751到6900不等。该数据集包括人口统计详细信息、生活方式因素、病史、临床测量、认知和功能评估、症状以及阿尔兹海默症的诊断。 一、前期准备工作 1.设置硬件设备 import numpy as np import pandas as pd import torch from torch import nn import torch.nn.functional as F import seaborn as sns#设置GPU训练也可以使用CPU devicetorch.device(cuda if torch.cuda.is_available() else cpu) print(device)结果输出 2.导入数据 df pd.read_csv(alzheimers_disease_data.csv) # 删除第一列和最后一列 df df.iloc[:, 1:-1] print(df) 结果输出 二、构建数据集 1.标准化 #构建数据集 from sklearn.preprocessing import StandardScaler from sklearn.model_selection import train_test_splitX df.iloc[:,:-1] y df.iloc[:,-1]# 将每一列特征标准化为标准正太分布注意标准化是针对每一列而言的 sc StandardScaler() X sc.fit_transform(X) 2.划分数据集 #划分数据集 X torch.tensor(np.array(X), dtypetorch.float32) y torch.tensor(np.array(y), dtypetorch.int64)X_train, X_test, y_train, y_test train_test_split(X, y,test_size 0.1,random_state 1)print(X_train.shape, y_train.shape) 3.构建数据加载器 #构建数据加载器 from torch.utils.data import TensorDataset, DataLoadertrain_dl DataLoader(TensorDataset(X_train, y_train),batch_size64,shuffleFalse)test_dl DataLoader(TensorDataset(X_test, y_test),batch_size64,shuffleFalse)输出结果 三、模型训练 1.构建模型 #构建模型 class model_rnn(nn.Module):def __init__(self):super(model_rnn, self).__init__()self.rnn0 nn.RNN(input_size32, hidden_size200,num_layers1, batch_firstTrue)self.fc0 nn.Linear(200, 50)self.fc1 nn.Linear(50, 2)def forward(self, x):out, hidden1 self.rnn0(x)out self.fc0(out)out self.fc1(out)return outmodel model_rnn().to(device) print(model) 结果输出 如何来看模型的输出数据集格式是什么 #查看数据集输出格式是什么 print(model(torch.rand(30,32).to(device)).shape)结果输出 2.定义训练函数 # 训练循环 def train(dataloader, model, loss_fn, optimizer):size len(dataloader.dataset) # 训练集的大小num_batches len(dataloader) # 批次数目, (size/batch_size向上取整)train_loss, train_acc 0, 0 # 初始化训练损失和正确率for X, y in dataloader: # 获取图片及其标签X, y X.to(device), y.to(device)# 计算预测误差pred model(X) # 网络输出loss loss_fn(pred, y) # 计算网络输出和真实值之间的差距targets为真实值计算二者差值即为损失# 反向传播optimizer.zero_grad() # grad属性归零loss.backward() # 反向传播optimizer.step() # 每一步自动更新# 记录acc与losstrain_acc (pred.argmax(1) y).type(torch.float).sum().item()train_loss loss.item()train_acc / sizetrain_loss / num_batchesreturn train_acc, train_loss3.定义测试函数 def test (dataloader, model, loss_fn):size len(dataloader.dataset) # 测试集的大小num_batches len(dataloader) # 批次数目, (size/batch_size向上取整)test_loss, test_acc 0, 0# 当不进行训练时停止梯度更新节省计算内存消耗with torch.no_grad():for imgs, target in dataloader:imgs, target imgs.to(device), target.to(device)# 计算losstarget_pred model(imgs)loss loss_fn(target_pred, target)test_loss loss.item()test_acc (target_pred.argmax(1) target).type(torch.float).sum().item()test_acc / sizetest_loss / num_batchesreturn test_acc, test_loss 4.正式训练模型 loss_fn nn.CrossEntropyLoss() # 创建损失函数 learn_rate 5e-5 # 学习率 opt torch.optim.Adam(model.parameters(),lrlearn_rate) epochs 50train_loss [] train_acc [] test_loss [] test_acc []for epoch in range(epochs):model.train()epoch_train_acc, epoch_train_loss train(train_dl, model, loss_fn, opt)model.eval()epoch_test_acc, epoch_test_loss test(test_dl, model, loss_fn)train_acc.append(epoch_train_acc)train_loss.append(epoch_train_loss)test_acc.append(epoch_test_acc)test_loss.append(epoch_test_loss)# 获取当前的学习率lr opt.state_dict()[param_groups][0][lr]template (Epoch:{:2d}, Train_acc:{:.1f}%, Train_loss:{:.3f}, Test_acc:{:.1f}%, Test_loss:{:.3f}, Lr:{:.2E})print(template.format(epoch1, epoch_train_acc*100, epoch_train_loss, epoch_test_acc*100, epoch_test_loss, lr))print(*20, Done, *20)输出结果 四、模型评估 1.Loss与Accuracy图 import matplotlib.pyplot as plt #隐藏警告 import warnings warnings.filterwarnings(ignore) #忽略警告信息 plt.rcParams[font.sans-serif] [SimHei] # 用来正常显示中文标签 plt.rcParams[axes.unicode_minus] False # 用来正常显示负号 plt.rcParams[figure.dpi] 200 #分辨率from datetime import datetime current_time datetime.now() # 获取当前时间epochs_range range(epochs)plt.figure(figsize(12, 3)) plt.subplot(1, 2, 1)plt.plot(epochs_range, train_acc, labelTraining Accuracy) plt.plot(epochs_range, test_acc, labelTest Accuracy) plt.legend(loclower right) plt.title(Training and Validation Accuracy) plt.xlabel(current_time) # 打卡请带上时间戳否则代码截图无效plt.subplot(1, 2, 2) plt.plot(epochs_range, train_loss, labelTraining Loss) plt.plot(epochs_range, test_loss, labelTest Loss) plt.legend(locupper right) plt.title(Training and Validation Loss) plt.show()输出结果 2.混淆矩阵 print(输入数据Shape为) print(X_test.shape: , X_test.shape) print(y_test.shape: , y_test.shape)pred model(X_test.to(device)).argmax(1).cpu().numpy()print(\n输出数据Shape为 ) print(pred.shape: ,pred.shape) import numpy as np import matplotlib.pyplot as plt from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay#计算混淆矩阵 cm confusion_matrix(y_test, pred)plt.figure(figsize(6,5)) plt.suptitle() sns.heatmap(cm, annotTrue, fmtd,cmapBlues)#修改字体大小 plt.xticks(fontsize10) plt.yticks(fontsize10) plt.title(Confusion Matrix, fontsize12) plt.xlabel(Predicted Label,fontsize10) plt.ylabel(True Label, fontsize10)#显示图 plt.tight_layout() plt.show()3.调用模型进行预测 text_X X_test[0].reshape(1,-1) #test[0]为输入数据pred model(test_X.to(device)).argmax(1).item() print(模型预测结果为“,pred) print(*20) print(0:未患病) print(1:已患病) 五、优化特征选择版 特征选择的思路值得学习。 数据维度多一般是先特征提取降维等操作。 特征提取①首先想到相关性分析用热力图但分析得出与是否患病相关性比较强的只有四个特征而日常以为的年龄、日常生活得分这些没有看出有相关性。②通过画图分析特征是否与目标有关但特征纬度多不是有效的一个方式。③采用随机森林进行分析效果很好。 六、总结 根据对数据的预处理帮助实验精度提高。RNN也是很基础的模型跟着教案逐渐开始体会实验的思路。看完流程图也对自己该怎么干如何干有了大致的方向。
http://www.w-s-a.com/news/484677/

相关文章:

  • 风景网站的制作网站ip地址查询域名
  • 怎样看网站是谁做的马鞍山什么房产网站做的好
  • 西安推荐企业网站制作平台软装设计方案ppt
  • 网站静态页模板专业网站设计开发公司
  • 手机免费在线搭建网站短网址生成防红
  • 天津网站设计网站制作如何新建wordpress
  • 山东省建设备案网站审批国际新闻最新消息10条简短
  • 成都市建设网扬尘监控网站短域名转换
  • 怎么做手机网站潍坊建设银行网站
  • 做网站分什么软件品牌设计培训
  • 太原网站设计排名设计本装修效果图
  • 网站个人中心模板石家庄网站系统开发
  • 优秀的电子商务网站教育公司网站建设文案
  • 网站开发市场成本网站链接推广工具
  • 猪八戒做网站排名常州seo博客
  • wordpress 网站遭篡改如何优化公司的网站
  • 汉中公司做网站网站建设的风格设置
  • 网站建议怎么写怎么做网页连接
  • 站长工具seo综合查询下载安装软件平台搭建包括哪几个方面
  • 做网站怎么存放视频支付功能网站建设
  • 庆阳手机网站设计兰州网站的优化
  • 企业网站托管有必要吗项目管理资格证书
  • 检索类的网站建设个人博客网页模板图片
  • 贵阳网站建设搜q479185700做网站有什么语言好
  • 制作公司主页网站贵阳网站建设技术托管
  • 广西建设网站网址多少钱南京江北新区地图
  • 网站建设及优化 赣icp外包服务美剧
  • wordpress添加菜单深圳优化网站排名
  • 免费下载建设银行官方网站重点专业建设验收网站
  • 建行官方网站登录怎样制作悬浮的WordPress