Как обучить CNN в наборе данных UCI в MATLAB?
Я довольно новичок с CNN в данный момент. Я пытаюсь обучить CNN на наборах данных UCI, которые, в основном, представляют собой простые файлы CSV, чтобы быть более точным. Я мог бы легко выполнять задачи, основанные на ML, используя другие классификаторы на Matlab, но я довольно застрял с CNNS. Из того, что я могу собрать, является то, что 1d CNN будет использоваться для классификации файла, но у кого-нибудь есть идеи, как этого можно достичь? Прямо сейчас этот код, который я использую, выглядит следующим образом:
X = Xtrain;
y = Ytrain;
height = size(X, 2);
width = 1;
channels = 1;
sampleSize = size(X,1);
noOfClasses = length(unique(y));
CNN_Xtrain = reshape(X,[height, width, channels, sampleSize]);
CNN_Ytrain = categorical(y);
layers = [imageInputLayer([height, width, channels])
convolution2dLayer([1], 100)
batchNormalizationLayer
reluLayer
fullyConnectedLayer(noOfClasses)
softmaxLayer
classificationLayer];
options = trainingOptions('adam',...
'MaxEpochs', 1000 ...
);
layers(2).Weights = randn([1 1 1 100]) * 0.0001;
layers(2).Bias = randn([1 1 100])*0.00001 + 1;
classifier = trainNetwork(CNN_Xtrain, CNN_YTrain, layers, options);
Но с этим кодом моя точность действительно плохая. Пожалуйста помоги.