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

怎么样才能让百度收录自己的网站网站网站设计的公司

怎么样才能让百度收录自己的网站,网站网站设计的公司,山东网页制作网站,湖南湘潭任务目标 基于给定数据集#xff0c;进行数据预处理#xff0c;搭建以LSTM为基本单元的模型#xff0c;以Adam优化器对模型进行训练#xff0c;使用训练后的模型进行预测并计算预测分类的准确率。 数据集信息 IMDB数据集是一个对电影评论标注为正向评论与负向评论的数据…任务目标 基于给定数据集进行数据预处理搭建以LSTM为基本单元的模型以Adam优化器对模型进行训练使用训练后的模型进行预测并计算预测分类的准确率。 数据集信息 IMDB数据集是一个对电影评论标注为正向评论与负向评论的数据集共有25000条文本数据作为训练集25000条文本数据作为测试集。 已知数据集中数据格式如下表所示。 1、读取数据内容 2、预处理 首先对于创建词汇表记录每一个单词出现的频率并由此将特征数据集转为特征向量。最后转化为tensor格式 由于数据量庞大这里先用PCA将数据降维这里选择降到20个维度 将特征数据集和标签进行匹配并每两个数据作为一个批次全部数据进行随机的打乱 3、构建模型 这里采用pytorch中的LSTM来得到LSTM层的状态 LSTM层总共设置4层传入初始隐藏状态的细胞内容和输入内容。最后取得最后的时间步的输出 4、模型训练 损失函数选择均方误差函数优化器选择了Adam优化总共训练4代 绘制出损失值的变化图像 5、模型评估 将测试集的内容导入并做和训练集一样的预处理然后将测试集放入模型中将均方误差作为评价标准计算平均误差。 并绘制出误差图像 误差都在0.003到0.005之间说明模型能够正确预测情感。 完整代码 import gzip import pandas as pd from io import StringIO import torch import torch.nn as nn import torch.optim as optimfeat_file_path labeledBow.featwith open(feat_file_path, r) as file:lines file.readlines() # 逐行读取文件内容# 显示部分文件内容可根据需要调整 # for line in lines[990:1000]: # 显示前10行内容 # print(line)# In[2]:labels [] features []for line in lines:parts line.split( )labels.append(int(parts[0]))feats {}for part in parts[1:]:index, value part.split(:)feats[int(index)] float(value)features.append(feats)# In[3]:# 1. 创建词汇表 vocab {} for feat_dict in features:vocab.update(feat_dict)# 创建特征索引到新的连续索引的映射 feature_idx {feat: idx for idx, feat in enumerate(sorted(vocab.keys()))}# 2. 创建特征向量 max_features len(vocab) feature_vectors [] for feat_dict in features:# 初始化特征向量vector [0.0] * max_features# 填充特征向量for feat_idx, feat_value in feat_dict.items():vector[feature_idx[feat_idx]] feat_valuefeature_vectors.append(vector)# 3. 转换为张量 features_tensor torch.tensor(feature_vectors, dtypetorch.float32)# 检查张量形状 print(features_tensor.shape)# In[4]:from sklearn.decomposition import PCA import torch# features_tensor 是特征张量大小为 torch.Size([25000, 89527]) # 这里将其转换为 NumPy 数组 features_np features_tensor.numpy()# 初始化PCA选择需要降维的维度这里假设降到100维 pca PCA(n_components20)# 用PCA拟合数据 features_reduced pca.fit_transform(features_np)# 将降维后的数据转换回张量形式 features_reduced_tensor torch.tensor(features_reduced)# 打印降维后的数据大小 print(features_reduced_tensor.size())# In[5]:import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader, TensorDatasetlabels_tensor torch.tensor(labels, dtypetorch.float32) features_reduced features_reduced_tensor.unsqueeze(1) labels_t labels_tensor.unsqueeze(1) train_data TensorDataset(features_reduced, labels_t) train_loader DataLoader(train_data, batch_size2, shuffleTrue)class LSTMModel(nn.Module):def __init__(self, input_size, hidden_size, output_size, num_layers4):super(LSTMModel, self).__init__()self.hidden_size hidden_sizeself.num_layers num_layersself.lstm nn.LSTM(input_size, hidden_size, num_layers, batch_firstTrue)self.fc nn.Linear(hidden_size, output_size)def forward(self, x):h0 torch.zeros(self.num_layers, x.size(0), self.hidden_size).to(x.device)c0 torch.zeros(self.num_layers, x.size(0), self.hidden_size).to(x.device)out, _ self.lstm(x, (h0, c0))out self.fc(out[:, -1, :]) # 取最后一个时间步的输出return out# 定义模型参数 input_size 20 hidden_size 128 num_layers 4 output_size 1# 初始化模型、损失函数和优化器 model LSTMModel(input_size, hidden_size, output_size, num_layers) criterion nn.MSELoss() optimizer optim.Adam(model.parameters(), lr0.0001) losses [] # 存储损失值 # 训练模型 num_epochs 5 device torch.device(cuda if torch.cuda.is_available() else cpu) model.to(device)for epoch in range(num_epochs):for i, (inputs, targets) in enumerate(train_loader):inputs, targets inputs.to(device), targets.to(device)optimizer.zero_grad()outputs model(inputs)loss criterion(outputs.squeeze(), targets.squeeze())loss.backward()optimizer.step()losses.append(loss.item()) # 记录损失值if (i1) % 2 0:print(fEpoch [{epoch1}/{num_epochs}], Step [{i1}/{len(train_loader)}], Loss: {loss.item()})# In[6]:import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader, TensorDataset import matplotlib.pyplot as plt # 绘制损失值变化图 plt.plot(losses, labelTraining Loss) plt.xlabel(Training Steps) plt.ylabel(Loss) plt.title(Training Loss over Steps) plt.legend() plt.show()# In[7]:feat_file_path labeledBow_test.featwith open(feat_file_path, r) as file:lines file.readlines() # 逐行读取文件内容labels_test [] features_test []for line in lines:parts line.split( )labels_test.append(int(parts[0]))feats {}for part in parts[1:]:index, value part.split(:)feats[int(index)] float(value)features_test.append(feats)# In[8]:# 1. 创建词汇表 vocab {} for feat_dict in features_test:vocab.update(feat_dict)# 创建特征索引到新的连续索引的映射 feature_idx {feat: idx for idx, feat in enumerate(sorted(vocab.keys()))}# 2. 创建特征向量 max_features len(vocab) feature_vectors [] for feat_dict in features_test:# 初始化特征向量vector [0.0] * max_features# 填充特征向量for feat_idx, feat_value in feat_dict.items():vector[feature_idx[feat_idx]] feat_valuefeature_vectors.append(vector)# 3. 转换为张量 features_tensor torch.tensor(feature_vectors, dtypetorch.float32)# 检查张量形状 print(features_tensor.shape)# In[9]:from sklearn.decomposition import PCA import torch# features_tensor 是特征张量大小为 torch.Size([25000, 89527]) # 这里将其转换为 NumPy 数组 features_np features_tensor.numpy()# 初始化PCA选择需要降维的维度这里假设降到100维 pca PCA(n_components20)# 用PCA拟合数据 features_reduced pca.fit_transform(features_np)# 将降维后的数据转换回张量形式 features_reduced_tensor torch.tensor(features_reduced)# 打印降维后的数据大小 print(features_reduced_tensor.size())# In[14]:from torch.utils.data import DataLoader, TensorDatasetlabels_tensor torch.tensor(labels_test, dtypetorch.float32) features_reduced features_reduced_tensor.unsqueeze(1) labels_t labels_tensor.unsqueeze(1) train_data TensorDataset(features_reduced, labels_t) train_loader DataLoader(train_data, batch_size2, shuffleTrue)losses []for epoch in range(num_epochs):for i, (inputs, targets) in enumerate(train_loader):inputs, targets inputs.to(device), targets.to(device)outputs model(inputs)loss criterion(outputs.squeeze(), targets.squeeze())losses.append(loss.item()/len(train_loader))if (i1) % 2 0:print(fEpoch [{epoch1}/{num_epochs}], Step [{i1}/{len(train_loader)}], Loss: {loss.item()/len(train_loader)})# In[15]:plt.plot(losses, labelTraining Loss) plt.xlabel(Training Steps) plt.ylabel(Loss) plt.title(Training Loss over Steps) plt.legend() plt.show()本文由博客一文多发平台 OpenWrite 发布
http://www.pierceye.com/news/356033/

相关文章:

  • 网站设计风格评价天元建设集团有限公司 伊永成
  • 望都网站建设山东的互联网公司都有什么
  • 开发一个网站需要多少人邢台网站建设服务商
  • 钦州建设局网站seo网站关键词优化机构
  • 北京工程信息网站网站建设及管理使用情况汇报
  • 网页网站原型图占位符怎么做公司宣传策划方案
  • 企业网站颜色选择wordpress自然志下载
  • 介绍几个网站重庆网站建设微信开发
  • wordpress小工具跟随最新外贸seo
  • 网站域名的密码电子商务网站策划书3500字
  • 2008 iis 添加 网站 权限设置权限网站开发工程师题
  • 公司域名查询网站网页设计工具软件有哪些
  • 毕业设计网站建设选题依据设计公司网站应该包括的信息
  • wordpress 仪表板主题seo网站排名厂商定制
  • 网站建设成本报表wordpress缺点
  • 外贸建站选择哪个服务器好免费自动生成二维码
  • 建设部申请自己网站c 做网站设计
  • 软件制作网站网站维护合同模板
  • 那家财经网站做的好陕西网站建设公司哪有
  • 淄川网站建设中小型企业网站建设
  • phpcms 投资 网站源码wordpress主题网站
  • 聊城网站托管义乌外贸公司联系方式
  • 开发一个小程序对网站做综合搜索引擎优化分析
  • 网站开发自学网有哪些企业可以做招聘的网站有哪些
  • 网站怎么做百度推广网站开发者模式
  • 学校网站设计制作目的做网站推广方法
  • wordpress建站云平台小程序商城开发平台
  • pc网站转换成微网站网站建设开发哪家质量好
  • wordpress网站使用教程aspnet东莞网站建设多少钱
  • 网站地图提交给百度证券公司如何拉客户