18910140161

mat格式数据集转换为arff与txt格式

顺晟科技

2021-06-16 10:47:38

324

下面的代码给出了将垫子格式数据集转换为飞机救援消防与文本文件(文本文件)格式的矩阵实验室代码。

注意,每个。垫子文件中只有一个数据集,其中共有m 1列,最后一列是标签。

转为arff: mat2arff.m代码

矩阵实验室

%

%此函数用于将输入数据转换为""。“arff”

%文件格式,与新西兰黑秧鸡文件格式兼容.

%

%参数:

% input_filename -输入文件名,只能转换。mat ',' ." txt "

“% or”." csv "文件格式.

% arff_filename -输出。飞机救援消防文件.

% NOTEs:

%输入的“M*N”文件数据必须是以下格式:

% M:样本号;

% N:样品特征和标签,' 1:N-1' -特征,' N' -样品标签.

% 读取文件数据.

清楚的

色度控制中心

input _ filename=' GISTRY-t . mat ';

ARFF _ filename=' GISTRY。ARFF ';

if strfind(input_filename,' .mat’)

matdata=导入数据(input _ filename);

elseif strfind(input_filename,' .txt ')

matdata=text read(input _ filename);

elseif strfind(input_filename,' .csv ')

matdata=csvread(input _ filename);

目标

[row,col]=size(mat数据);

f=fopen(arff_filename,' wt ');

if (f 0)

错误(sprintf('无法打开文件“%s”,ARFF _文件名));

返回

目标

fprintf(f,' %s\n ',['@relation ',ARFF _ filename]);

对于i=1 : col - 1

st=['@attribute att_ ',num2str(i),' numeric '];

fprintf(f,' %s\n ',ST);

目标

% 保存文件头最后一行类别信息

floatformat=' % .16g

Y=matdata(:col);

uY=(Y);% 得到标签类型

ST=[' @属性标签{ '];

对于j=1 :尺寸(uY) - 1

st=[st sprintf([floatformat ','],Uy(j))];

目标

st=[st sprintf([floatformat '}'],uY(length(uY)))];

fprintf(f,' %s\n\n ',ST);

% 开始保存数据.

label format=[float format ' '];

fprintf(f,' @ data \ n ');

对于i=1 :行

Xi=matdata(i,1: col-1);

s=sprintf(labelformat,Y(I));

s=[sprintf([floatformat ' '],[;Xi]);

fprintf(f,' %s\n ',s);

目标

f close(f);

%

%此函数用于将输入数据转换为""。“arff”

%文件格式,与新西兰黑秧鸡文件格式兼容.

%

%参数:

% input_filename -输入文件名,只能转换。mat ',' ." txt "

“% or”." csv "文件格式.

% arff_filename -输出。飞机救援消防文件.

% NOTEs:

%输入的“M*N”文件数据必须是以下格式:

% M:样本号;

% N:样品特征和标签,' 1:N-1' -特征,' N' -样品标签.

% 读取文件数据.

清楚的

色度控制中心

input _ filename=' GISTY-t . mat ';

ARFF _ filename=' GISTRY。ARFF ';

if strfind(input_filename,' .mat’)

matdata=导入数据(input _ filename);

elseif strfind(input_filename,' .txt ')

matdata=text read(input _ filename);

elseif strfind(input_filename,' .csv ')

matdata=csvread(input _ filename);

目标

[row,col]=size(mat数据);

f=fopen(arff_filename,' wt ');

if (f 0)

错误(sprintf('无法打开文件“%s”,ARFF _文件名));

返回

目标

fprintf(f,' %s\n ',['@relation ',ARFF _ filename]);

对于i=1 : col - 1

st=['@attribute att_ ',num2str(i),' numeric '];

fprintf(f,' %s\n ',ST);

目标

% 保存文件头最后一行类别信息

floatformat=' % .16g

Y=matdata(:col);

uY=(Y);% 得到标签类型

ST=[' @属性标签{ '];

对于j=1 :尺寸(uY) - 1

st=[st sprintf([floatformat ','],Uy(j))];

目标

st=[st sprintf([floatformat '}'],uY(length(uY)))];

fprintf(f,' %s\n\n ',ST);

% 开始保存数据.

label format=[float format ' '];

fprintf(f,' @ data \ n ');

对于i=1 :行

Xi=matdata(i,1: col-1);

s=sprintf(labelformat,Y(I));

s=[sprintf([floatformat ' '],[;Xi]);

fprintf(f,' %s\n ',s);

目标

f close(f);

转为txt: mat2txt.m代码

当然也可用救援直接转换,但是会出现每一行开头会空两格的情况。

注意dataName.mat中的数据集名称是数据

矩阵实验室

色度控制中心

清楚的

加载(' dataName.mat ')

fid=fopen('dataName.txt ',' wt ');

对于i=1 :尺寸(数据,1)

对于j=1 :尺寸(数据,2) - 1

fprintf(fid,' %e ',数据(I,j));

目标

fprintf(fid,' %e\n ',数据(一、大小(数据,2)));

目标

f关闭(FID);

色度控制中心

清楚的

加载(' dataName.mat ')

fid=fopen('dataName.txt ',' wt ');

对于i=1 :尺寸(数据,1)

对于j=1 :尺寸(数据,2) - 1

fprintf(fid,' %e ',数据(I,j));

目标

fprintf(fid,' %e\n ',数据(一、大小(数据,2)));

目标

f关闭(FID);

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航