前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习数据集制作与划分MATLAB实现

机器学习数据集制作与划分MATLAB实现

作者头像
里克贝斯
发布2021-05-21 11:54:01
2.5K0
发布2021-05-21 11:54:01
举报
文章被收录于专栏:图灵技术域图灵技术域

.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

代码语言:javascript
复制
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

三七划分

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

MATLAB

代码语言:javascript
复制
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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-06-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • .mat数据集制作
  • 相关文章
  • .mat数据集说明
  • 数据集划分为训练集和测试集代码
    • 10折划分
      • 三七划分
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档