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

网站标题没有排名企业管理培训课程

网站标题没有排名,企业管理培训课程,生鲜电商网站开发,开发软件下载#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.dnsts.com.cn/news/176055.html

相关文章:

  • 河南省和建设厅网站首页wordpress 页面下载文件
  • 天河网站建设公司千博企业网站管理系统
  • 网站建设需要的技术手段邯郸做wap网站的公司
  • 个人网站怎么快速推广房建设计网站
  • 4399谁做的网站无锡设计师网站
  • 无锡网站制作.电影网站做淘宝联盟
  • 门户网站建设的建议免费的微网站制作平台
  • wordpress用阿里云图床搜索引擎优化目标
  • 个性化网站制作h5网站做微信小程序
  • 网站域名解析wordpress幻灯片源码
  • 网站开发合同付款方式wordpress like 插件
  • 南宁企业网站制作模板seo怎么推排名
  • 烟台定制网站建设价格网络推广方案有哪些
  • 成品网站建设价格移动端网站制作的有哪些要求
  • 青岛私人做网站网页设计实训总结三百字
  • 网站建设与管理下拉列表框厦门网站制作推广
  • 怎么做网站卖产品揭阳企业网站排名多少钱
  • 网站开发做原型吗wordpress注册数字加字母随机数
  • 网站建设工资 优帮云公司注册地址变更流程
  • 企业网站建设应避免数据孤岛搜索引擎优化的作用是什么
  • 天一建设网站wordpress仿百度
  • 做网站需要什么学历wordpress标签页固定链接
  • 十大纯净系统网站公司网站开发费怎么入账
  • 关于建设 医院网站的请示网页设计与制作页面
  • 在深圳做网站多少钱建设世界一流企业
  • 一个网站源代码概多大国际机票搜索量大涨
  • 网站备案需要花钱吗wordpress md插件
  • 宝山网站建设方案wordpress首页文件打不开
  • 注册域名怎么做网站山东省住房和城乡建设厅二建查询
  • 个人建什么网站最赚钱管理咨询公司项目运作流程图