Building an Neural network with multiple inputs

38 views (last 30 days)
hi, Matlab Newbie
i have to create an Artificial Neural Network to classify using this datatset https://archive.ics.uci.edu/ml/datasets/breast+cancer+wisconsin+(original)
it take 10 input to one output
this is my code, i keep getting the error of " input and outputs have different samples" i know it is because i have 10 inputs and one 1 input but how can i fix it as i need all the 10 inputs?
close all
clear
clc
opts = detectImportOptions('breast-cancer-wisconsin.data', 'filetype','text');
BCTable = readtable('breast-cancer-wisconsin.data',opts);
InputVariable = table2array(BCTable(:,1:10));
OutputVariable = table2array(BCTable(:,11));
net = feedforwardnet(10, 'trainlm');
net = configure (net, InputVariable,OutputVariable);
[net,tr] = train(net,InputVariable, OutputVariable);

Accepted Answer

Ameer Hamza
Ameer Hamza on 29 Dec 2020
The 10 in the line
feedforwardnet(10, 'trainlm');
have nothing to do with the number of inputs. You can put any number here. It is the number of hidden neurons in the first layer. The actual issue is the orientation of InputVariable and OutputVariable. MATLAB expects that each column of the input matrix contains a sample, and the number of columns is equal to the total number of samples. Similar is required for the output matrix. However, in your case, the samples are arranged row-wise. Just take the transpose of these matrices.
net = configure (net, InputVariable.',OutputVariable.');
[net,tr] = train(net, InputVariable.', OutputVariable.');
  2 Comments
Ditf
Ditf on 29 Dec 2020
Edited: Ditf on 29 Dec 2020
thank you so much, been stuck at it all day.

Sign in to comment.

More Answers (0)

Categories

Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!