背景

          从UCI下载的数据集需要进行一定的数据预处理,我下载了12个数据集准备在上面验证我的方法,但是数据处理花了好久时间

文件结构

在这里插入图片描述

          dataset_mat存放原始的没有划的.mat文件,preprocessedData 存放划分处理后的数据,每个数据名字为data,是一个结构体,含有四个成员,分别是{trianX,testX,trianY,testY}

代码

         

test_train_test_split.m

clear all 
clc

files = dir("./dataset_mat/*.mat");
test_size = 0.2;
for i = 1:length(files)
    file_name = files(i).name;
    load(file_name)
    [trianX,testX,trianY,testY] =  train_test_split(X, Y, test_size);
    data = {trianX,trianY,testX,testY};
    savepath = "./preprocessedData/" + file_name;
    save(savepath,"data")
end

         

train_test_split.m

function  [trianX,testX,trianY,testY]= train_test_split(originalData_X,originalData_Y,test_size)
     dataNumber = size(originalData_X,1);          %%样本个数
        
     randIndex = randperm(dataNumber);             %%打乱数组
     new_data_X = originalData_X(randIndex,:);   
     new_data_Y = originalData_Y(randIndex,:);   
     
     testindex = ceil(dataNumber * test_size);     %% 获得分界下标
     
     testX = new_data_X(1:testindex,:);
     trianX = new_data_X(testindex+1:end,:);
     testY = new_data_Y(1:testindex,:);
     trianY = new_data_Y(testindex+1:end,:);
end   
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐