PyTorch-实现对表格类型数据的一维卷积(CNN1D)

这篇具有很好参考价值的文章主要介绍了PyTorch-实现对表格类型数据的一维卷积(CNN1D)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数据集:首先看一下我自己的表格类型的数据

看到大家都私信要代码,太多了发不过来,我把代码放到github上了:

github链接: https://github.com/JiaBinBin233/CNN1D
我的数据集是一个二分类的数据集,是一个12维的数据(第一列为标签列,其他的11列是属性列)
PyTorch-实现对表格类型数据的一维卷积(CNN1D)

神经网络架构

#两层卷积层,后面接一个全连接层
class Learn(nn.Module):
    def __init__(self):
        super(Tudui, self).__init__()
        self.model1 = nn.Sequential(
        	#输入通道一定为1,输出通道为卷积核的个数,2为卷积核的大小(实际为一个[1,2]大小的卷积核)
            nn.Conv1d(1, 16, 2),  
            nn.Sigmoid(),
            nn.MaxPool1d(2),  # 输出大小:torch.Size([128, 16, 5])
            nn.Conv1d(16, 32, 2),
            nn.Sigmoid(),
            nn.MaxPool1d(4),  # 输出大小:torch.Size([128, 32, 1])
            nn.Flatten(),  # 输出大小:torch.Size([128, 32])
        )
        self.model2 = nn.Sequential(
            nn.Linear(in_features=32, out_features=2, bias=True),
            nn.Sigmoid(),
        )
    def forward(self, input):
        x = self.model1(input)
        x = self.model2(x)
        return x

我个人认为输入的数据是什么格式的是一个难点

首先看一下没有经过处理过的数据

for data in train_loader:
    X_data, Y_data = data[0], data[1]
    print(X_data)
    print(X_data.shape)
输出结果如下

PyTorch-实现对表格类型数据的一维卷积(CNN1D)
原始数据是一个128行11列的数据,每一行数据代表一个样本,一共有128个样本(batch_size=128)

对数据进行处理,处理成可以输入到卷积网络的数据形式

X_data = X_data.reshape(-1,1,11) # -1表示让系统自己计算有多少个样本,这个操作的目的就是把数据转换为3维的
print(X_data)
print(X_data.shape)
输出结果如下

PyTorch-实现对表格类型数据的一维卷积(CNN1D)

运行

output = Learn(X_data)
loss = loss_function(output, Y_data)
optim.zero_grad()
loss.backward()
optim.step()

原理

一维卷积的流程是卷积核对每一条样本进行横向卷积(卷积核的个数为输出通道的大小),对每条样本卷积的次数为卷积核的个数。每条样本被卷积具体的卷积流程我在别人的博客截了个图方便大家理解

PyTorch-实现对表格类型数据的一维卷积(CNN1D)

这个图就是卷积核对一个样本进行卷积的具体操作文章来源地址https://www.toymoban.com/news/detail-506182.html

到了这里,关于PyTorch-实现对表格类型数据的一维卷积(CNN1D)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python基于PyTorch实现卷积神经网络分类模型(CNN分类算法)项目实战

    说明:这是一个机器学习实战项目(附带 数据+代码+文档+视频讲解 ),如需 数据+代码+文档+视频讲解 可以直接到文章最后获取。 卷积神经网络,简称为卷积网络,与普通神经网络的区别是它的卷积层内的神经元只覆盖输入特征局部范围的单元,具有稀疏连接(sparse connec

    2024年02月15日
    浏览(51)
  • 卷积神经网络CNN原理+代码(pytorch实现MNIST集手写数字分类任务)

    前言 若将图像数据输入全连接层,可能会导致丧失一些位置信息 卷积神经网络将图像按照原有的空间结构保存,不会丧失位置信息。 卷积运算: 1.以单通道为例: 将将input中选中的部分与kernel进行数乘 : 以上图为例对应元素相乘结果为211,并将结果填入output矩阵的左上角

    2024年02月04日
    浏览(62)
  • 【深入了解pytorch】PyTorch卷积神经网络(CNN)简介

    卷积神经网络(Convolutional Neural Network,CNN)是一种在计算机视觉任务中广泛应用的深度学习模型。它通过卷积层、池化层和全连接层等组件,能够有效地提取图像特征并实现高准确率的图像分类、目标检测和语义分割等任务。本文将详细介绍CNN的原理,并演示如何使用PyTor

    2024年02月16日
    浏览(45)
  • 入门孪生网络3-------使用一维卷积神经网络1DCNN与孪生网络的组合模型来实现excel数据的分类

    读取数据:使用NumPy加载数据文件(假设为\\\" data.csv \\\"),并将其分为训练集和测试集。 定义1D卷积神经网络模型:通过创建get_cnn_model()函数来定义1DCNN模型,该模型包括一系列卷积层和池化层,以及最后的全连接层输出。这个模型将用于构建孪生网络模型的多个分支。 定义孪

    2024年02月09日
    浏览(52)
  • 【Pytorch】计算机视觉项目——卷积神经网络CNN模型识别图像分类

    在上一篇笔记《【Pytorch】整体工作流程代码详解(新手入门)》中介绍了Pytorch的整体工作流程,本文继续说明如何使用Pytorch搭建卷积神经网络(CNN模型)来给图像分类。 其他相关文章: 深度学习入门笔记:总结了一些神经网络的基础概念。 TensorFlow专栏:《计算机视觉入门

    2024年02月05日
    浏览(56)
  • Pytorch 与 Tensorflow对比学习 第3周:进阶主题 Day 15-16: 卷积神经网络(CNN)

    第3周:进阶主题 Day 15-16: 卷积神经网络(CNN) 在这两天中,我专注于学习卷积神经网络(CNN)的基础知识,包括卷积层和池化层的工作原理以及它们在图像处理中的应用。 卷积神经网络基础: 卷积层:学习了卷积层如何通过滤波器(或称为核)提取图像的特征。每个滤波器

    2024年01月20日
    浏览(44)
  • 【深度学习&NLP】基于卷积神经网络(CNN)实现中文文本情感分析(分类)附代码以及数据集链接

    【注】:本文所述的实验的完整实现代码包括数据集的仓库链接会在文末给出(建议读者自行配置GPU来加速TensorFlow的相关模型,运行起来会快非常多) 目录 一、研究的背景和目的 二、文本数据集描述 1、数据集来源以及使用目的 2、数据规模、以及如何划分数据集 3、数据集的

    2024年02月04日
    浏览(63)
  • 分类预测 | MATLAB实现SSA-CNN-BiGRU麻雀算法优化卷积双向门控循环单元数据分类预测

    分类效果 基本描述 1.MATLAB实现SSA-CNN-BiGRU麻雀算法优化卷积双向门控循环单元数据分类预测,运行环境Matlab2021b及以上; 2.基于麻雀优化算法(SSA)、卷积神经网络(CNN)和双向门控循环单元(BiGRU)的数据分类预测程序; 3.多特征输入单输出的二分类及多分类模型。程序内注

    2024年02月08日
    浏览(40)
  • 分类预测 | MATLAB实现WOA-CNN-BiGRU鲸鱼算法优化卷积双向门控循环单元数据分类预测

    分类效果 基本描述 1.Matlab实现WOA-CNN-BiGRU多特征分类预测,多特征输入模型,运行环境Matlab2020b及以上; 2.基于鲸鱼算法(WOA)优化卷积神经网络-双向门控循环单元(CNN-BiGRU)分类预测,优化参数为,学习率,隐含层节点,正则化参数; 3.多特征输入单输出的二分类及多分类模型。

    2024年02月07日
    浏览(39)
  • 多维时序 | MATLAB实现WOA-CNN鲸鱼算法优化卷积神经网络的数据多变量时间序列预测

    效果一览 基本介绍 多维时序 | MATLAB实现WOA-CNN鲸鱼算法优化卷积神经网络的数据多变量时间序列预测 MATLAB实现WOA-CNN鲸鱼算法优化卷积神经网络的数据多变量时间序列预测 输入7个特征,输出1个,即多输入单输出;优化参数为学习率,批大小,正则化系数。 运行环境Matlab201

    2024年02月12日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包