对于数据量大,维度高,且难以找到数据之间内在关系的数据集,可以尝试用卷积神经网络对数据进行分类。
以下为卷积神经网络数据分类的大致结构,采用Adam作为优化器,交叉熵作为损失函数。
import torch
import torch.nn as nn
from torch.utils.data.dataset import Dataset
from torch.utils.data import DataLoader
class CipvCNN(nn.Module):
def __init__(self):
super(CipvCNN,self).__init__()
self.conv1 = nn.Sequential(
nn.Conv2d(
in_channels=1,
out_channels=16,
kernel_size=3,
stride=1,
padding=1,#padding=(kernel_size-1)/2
),#输入数据维度1*20*4,此时数据维度为16*20*4
nn.ReLU(),
)
self.conv2=nn.Sequential(
nn.Conv2d(16,32,3,1,1),
nn.ReLU(),#此时数据维度为32*20*4