.mat数据集制作

若整个数据集是一个.mat文件且最后一列数据时标签,则单独将决策变量和标签划分开,一个为ins,另一个为lab。

相关文章

.mat数据集说明

数据集名称GLIOMA

GIOMA包含两个矩阵,一个是实例矩阵或者叫决策变量(ins),另一个是标签矩阵(lab)

Ins矩阵大小50*4434,说明该GLIOMA数据集有50个实例(样本),有4434个特征,这50个实例(样本),每一个实例有一个对应的标签lab,标签就是类别。

打开Ins矩阵,有50行说明有50个实例(样本),有4434列说明有4434个特征(太多了显示不了),这里面的任意一个值(标量)叫做特征值,任意一列是特征向量(列向量),任意一行是实例向量(行向量)

打开lab矩阵

有50个标签,标签就是类别(比如1代表幼儿,2代表青年,以此类推),可以看到这是一个具有4个类别的数据集。

数据集划分为训练集和测试集代码

10折划分

说明:

①在代码目录下,新建文件夹dataset,将.mat数据集放入其中

②输入dataName是一个字符串,如数据集名称为GLIOMA.mat,则输入的dataName为 ‘GLIOMA’(不要加.mat)

③iter是算法运行的次数,运行第一次调用第一个随机划分的值,运行第i次调用第i次随机划分的值

④Indices是随机划分数据集的索引,iter = 1是生成,之后的则读取第一次生成的文件。

MATLAB

function [train_F,train_L,test_F,test_L] = DIVDATA10fold(dataName,iter)

file = ['dataset/',dataName,'.mat'];

load(file)

fold = 10

dataMat=ins;

len=size(dataMat,1);

maxV = max(dataMat);

minV = min(dataMat);

range = maxV-minV;

newdataMat = (dataMat-repmat(minV,[len,1]))./(repmat(range,[len,1]));

if mod(iter, 10) == 1

Indices = crossvalind('Kfold', length(lab), fold);

save Indices;

else

load Indices;

end

site = find(Indices==iter);

test_F = newdataMat(site,:);

test_L = lab(site);

site2 = find(Indices~=iter);

train_F = newdataMat(site2,:);

train_L =lab(site2);

end

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

function[train_F,train_L,test_F,test_L]=DIVDATA10fold(dataName,iter)

file=['dataset/',dataName,'.mat'];

load(file)

fold=10

dataMat=ins;

len=size(dataMat,1);

maxV=max(dataMat);

minV=min(dataMat);

range=maxV-minV;

newdataMat=(dataMat-repmat(minV,[len,1]))./(repmat(range,[len,1]));

ifmod(iter,10)==1

Indices=crossvalind('Kfold',length(lab),fold);

saveIndices;

else

loadIndices;

end

site=find(Indices==iter);

test_F=newdataMat(site,:);

test_L=lab(site);

site2=find(Indices~=iter);

train_F=newdataMat(site2,:);

train_L=lab(site2);

end

三七划分

三七划分和十折划分类似,只是少了个输入参数和全局变量

MATLAB

function [train_F,train_L,test_F,test_L] = DIVDATA37(dataName)

file = ['dataset/',dataName,'.mat'];

load(file)

dataMat=ins;

len=size(dataMat,1);

%归一化

maxV = max(dataMat);

minV = min(dataMat);

range = maxV-minV;

newdataMat = (dataMat-repmat(minV,[len,1]))./(repmat(range,[len,1]));

Indices = crossvalind('Kfold', length(lab), 10);

site = find(Indices==1|Indices==2|Indices==3);

test_F = newdataMat(site,:);

test_L = lab(site);

site2 = find(Indices~=1&Indices~=2&Indices~=3);

train_F = newdataMat(site2,:);

train_L =lab(site2);

end

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

function[train_F,train_L,test_F,test_L]=DIVDATA37(dataName)

file=['dataset/',dataName,'.mat'];

load(file)

dataMat=ins;

len=size(dataMat,1);

%归一化

maxV=max(dataMat);

minV=min(dataMat);

range=maxV-minV;

newdataMat=(dataMat-repmat(minV,[len,1]))./(repmat(range,[len,1]));

Indices=crossvalind('Kfold',length(lab),10);

site=find(Indices==1|Indices==2|Indices==3);

test_F=newdataMat(site,:);

test_L=lab(site);

site2=find(Indices~=1&Indices~=2&Indices~=3);

train_F=newdataMat(site2,:);

train_L=lab(site2);

end

matlab 数据集制作,机器学习数据集制作与划分MATLAB实现相关推荐

  1. 【深度学习】制作VOC2007数据集用于Faster-RCNN训练

    制作VOC2007数据集用于Faster-RCNN训练:VOC2007格式是faster-RCNN中官方给出的用于训练的数据集,把它下载下来用frcnn/tool里的训练程序跑一跑就可以得到自己的训练 ...

  2. 利用Arcgis制作图像分割数据集

    利用Arcgis制作图像分割数据集,以制作农村道路标签数据进行二分类为例 一,进行矢量化获取矢量数据 二,制作掩膜 三,mask图像导出 四,原始遥感影像裁剪 五,mask图片和遥感图像裁剪及训练集. ...

  3. 使用Yolov5训练自己制作的数据集,快速上手

    总结了快速上手Yolov5训练自己制作的数据集的方法,步骤都很详细,学者耐心看. 文章目录 一.准备好Yolov5框架 二.关于数据集的问题 三.VOC格式数据集转yolo格式数据集 四.训练模型 五 ...

  4. 制作YOLOv5数据集

    制作YOLOv5数据集 1 使用labelImg标注数据集 1.1 下载labelImg 1.2 使用labelImg标注数据 1.2.1 数据存放 1.2.2 标注数据 2 将voc标签转换到yol ...

  5. python制作图片数据集_Pytorch自己加载单通道图片用作数据集训练的实例

    pytorch 在torchvision包里面有很多的的打包好的数据集,例如minist,Imagenet-12,CIFAR10 和CIFAR100.在torchvision的dataset包里面,用 ...

  6. 深度学习实战(七)——目标检测API训练自己的数据集(R-FCN数据集制作+训练+测试)

    TensorFlow提供的网络结构的预训练权重:https://cloud.tencent.com/developer/article/1006123 将voc数据集转换成.tfrecord格式供te ...

  7. 机器学习数据集(训练集、测试集)划分方法

    数据集划分方法 留出(Hold-out)法 交叉验证(cross validation)法 自助法(bootstrap)   一个模型的好坏终归还是需要一个客观的评价标准,但是现有标准都比较难以适用于 ...

  8. 使用VIA(VCC)制作coco数据集

    使用VIA(VCC)制作coco数据集 VCC是一个在线的数据集标注工具VCC在线数据集标注地址 进入网址后,删除其中的两张的测试图片 删除测试图片后,点击Add Files添加自己的数据集图片 然后 ...

  9. 使用CycleGAN训练自己制作的数据集,通俗教程,快速上手

    总结了使用CycleGAN训练自己制作的数据集,这里的教程例子主要就是官网给出的斑马变马,马变斑马,两个不同域之间的相互转换.教程中提供了官网给的源码包和我自己调试优化好的源码包,大家根据自己的情况下 ...

最新文章

  1. Centos6.9安装Oracle11G(静默方式)
  2. POJ 1184 聪明的打字员
  3. SERVICE问题解决方法
  4. node 压缩图片_为了你安全压缩图片我操碎了心
  5. git add remote_收藏向 | Git命令与原理速查手册
  6. [翻译]为什么你不要收缩数据库文件
  7. MTK DDR不能兼容分析
  8. leetcode450. 删除二叉搜索树中的节点(详解)
  9. C# WebBrowser 设置独立的代理
  10. uniapp光标自动定义到文本框_特检自动化行吊静力检测方案
  11. 大话业务流程图(二)—如何绘制业务流程图?
  12. Git submodule 特性
  13. go golang 笔试题 面试题 笔试 面试
  14. css中好看常用的中文字体
  15. Pytorch.Dataloader 详细深度解读和微修改源代码心得
  16. C语言完美数单循环,《程序设计基础》题库(50道)
  17. 涂鸦Zigbee SDK开发系列教程——4.烧录授权
  18. W-GAN系 (Wasserstein GAN、 Improved WGAN)
  19. 哦耶OYE-0001 OpenWrt路由器折腾记(by quqi99)
  20. 二、8BootStrap

热门文章

  1. python脚本——图片重命名、图片合成视频、faster-rcnn画P-R曲线
  2. srand((unsigned)time(NULL))详解
  3. 【H5唤起微信“扫一扫”】舒工自定义微信H5唤起扫码Vue组件sg-scan.vue(扫码按钮大概是在底部),注意只是代码片段,不含微信鉴权业务流程
  4. printf格式化输出几点注记
  5. C++ 从双重检查锁定问题 到 内存屏障的一些思考
  6. linux文件IO与内存映射:分散/聚集IO技术(scatter-gather)
  7. Linux服务器安装配置JDK
  8. Node.js:路由
  9. phonegap调用摄像头
  10. Centos 修改时间地区及NTP同步北京时间