How to separate features and target (numeric values) in a tabular text datastore to import into Deep Network Design?

2 views (last 30 days)
paulo silva
paulo silva on 2 Dec 2021
Edited: paulo silva on 8 Dec 2021
Hello everyone, I have the following problem: I imported a csv file with numerical data containing the features and the target into a tabular text datastore, however, to import into Deep Network Design this tabular text datastore needs to contain separate features and target. I have no idea how to do this, can someone give me a hand?
For example, my csv file has 500 rows 10 features and the target.
Thank you very much!

Answers (1)

yanqi liu
yanqi liu on 3 Dec 2021
yes,sir,may be choose the data to X and Y,such as
% 500 rows 10 features and the target.
X = Data(:, 1:10); % 10 features
Y = Data(:, end); % target
may be upload some data mat to do analysis
paulo silva
paulo silva on 4 Dec 2021
Hi Yanqi, thanks again for your help and proactivity. But after many tests and analysis of the structure of a tabular test datastore, I found a way that solves the issue and separates the 10 features from the target:
dsTrain = tabularTextDatastore("datasetrain.csv");
dsnewTrain = transform(dsTrain, @(x) [cellfun(@transpose, mat2cell(x{:,1:10},ones(1,500)),'UniformOutput',false), mat2cell(x{:,11},ones(1,500))])
dsValid = tabularTextDatastore("datasevalid.csv");
dsnewValid = transform(dsValid, @(x) [cellfun(@transpose, mat2cell(x{:,1:10},ones(1,250)),'UniformOutput',false), mat2cell(x{:,11},ones(1,250))])
dsTest = tabularTextDatastore("datasettest.csv");
dsnewTest = transform(dsTest, @(x) [cellfun(@transpose, mat2cell(x{:,1:10},ones(1,250)),'UniformOutput',false), mat2cell(x{:,11},ones(1,250))])
Again, thank you very much for your help and for those who have the same problem as me, this solution solves it simply. :)

Sign in to comment.




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!