Clear Filters
Clear Filters

Use cell arrays with neural networks in a regression problem.

2 views (last 30 days)
I want to use Neural Networks to predict a numeric value using text and numerical data. Here is an example:
It's a regression problem. If I try to use the Neural fitting (nftool) app, only allows use numerical data.
A solution that I can think of is to assign numerical values to each class in the text data values , but I think it is too computationally expensive , as my dataset has a size 17000x40.
Is there any way to use neural networks in a regression problem using cell data type ?

Accepted Answer

Sean de Wolski
Sean de Wolski on 6 Jun 2016
Edited: Sean de Wolski on 6 Jun 2016
First, convert your cell array to a table (cell2table). Tables make working with this type of data much easier.
Then, convert the cell strings to categoricals and then dummy code them using dummyvar or my dummytable, attached.
x = table(rand(3,1),{'A';'B';'C'});
x.Var2 = categorical(x.Var2);
xdummy = dummytable(x);
Xnumeric = table2array(xdummy)
  2 Comments
Manuel Valenciano
Manuel Valenciano on 7 Jun 2016
I have a problem with the categorical function. Some variables of my problem are of the following type:
I want to convert it to a categorical array but the categorical function gives me the following error:
Error using categorical (line 321)
Could not find unique values in DATA using the UNIQUE function.
Caused by:
Error using cell/unique (line 85)
Input A must be a cell array of strings.
Sean de Wolski
Sean de Wolski on 8 Jun 2016
You'll need to convert the numeric values to strings first.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!