论文matlab代码答疑,有几段代码没有看懂,可能原代码有问题。需要答疑有必要的话可以修改代码只需要出现论文原有结果数据即可。
如果您想将MNIST数据集中的十分类转换为二分类,您可以使用以下步骤:
加载MNIST数据集。
将数据集中所有属于您想要的类别的标签(例如,0)的值设为1,而将属于其他类别的标签值设为0。
对数据集中的图像和标签进行划分,以用于训练和测试。
下面是一个示例代码,将MNIST数据集中的数字0的标签设为1,其他数字的标签设为0,并将数据集划分为训练集和测试集:
% 加载MNIST数据集
train_images = loadMNISTImages('train-images-idx3-ubyte');
train_labels = loadMNISTLabels('train-labels-idx1-ubyte');
test_images = loadMNISTImages('t10k-images-idx3-ubyte');
test_labels = loadMNISTLabels('t10k-labels-idx1-ubyte');
% 将数字0的标签设为1,其他数字的标签设为0
train_labels(train_labels == 0) = 1;
train_labels(train_labels ~= 1) = 0;
test_labels(test_labels == 0) = 1;
test_labels(test_labels ~= 1) = 0;
% 划分数据集为训练集和测试集
train_data = struct('images', train_images', 'labels', train_labels);
test_data = struct('images', test_images', 'labels', test_labels);
在这个示例中,loadMNISTImages和loadMNISTLabels是用于加载MNIST数据集的函数,它们会将MNIST数据集文件解压缩并读入Matlab中。然后我们将数字0的标签设为1,其他数字的标签设为0。最后,我们将数据集划分为训练集和测试集。您可以根据自己的需要对这个示例代码进行修改,以实现您想要的二分类转换。