MATLAB Answers

Using Deep learning for non image classification

45 views (last 30 days)
crixus
crixus on 12 Mar 2017
Edited: Marius Facktor on 24 Apr 2020
Hi,
Can I know is there any example to follow on how to use deep learning for non image classification ? Example using deep learning to classify fisher iris data
Thanks.

  2 Comments

Laurence Mailaender
Laurence Mailaender on 25 Sep 2019
I'm new at Machine Learning and had a lot of trouble finding examples in the documentation also... but it's there. Do 'help patternnet.' For simple classifiers, you can use train(), instead of trainNetwork. Try this:
load fisheriris
%contains 'meas' 150x4 and species 150x1
%set target (brute force)
target=[repmat([1;0;0],1,50),repmat([0;1;0],1,50),repmat([0;0;1],1,50)];
%randomize order
neworder=randsample(150,150);
measTrain=meas(neworder(1:100),:);
measTest=meas(neworder(101:end),:);
targetTrain=target(:,neworder(1:100));
targetTest=target(:,neworder(101:end));
%define and train shallow NN
snet=patternnet(10);
snet=train(snet,measTrain',targetTrain);
%test in sample
snn_in=sim(snet,measTrain');
perf_best=perform(snet,targetTrain,snn_in)
%outside training
snn_out=sim(snet,measTest');
perf_out=perform(snet,targetTest,snn_out)
Not sure I'm doing the inside/outside training in the best way, maybe you can repeat/extend the data in random order and improve the network..

Sign in to comment.

Answers (1)

Johanna Pingel
Johanna Pingel on 6 Feb 2019

  1 Comment

Marius Facktor
Marius Facktor on 24 Apr 2020
How about a 1D non-sequence Neural Network? It should take input X (samples by features) and labels y.
These are the available input layers for trainNetwork:
imageInputLayer, image3dInputLayer, sequenceInputLayer, roiInputLayer
These are ALL for images or sequences. Why is there no generic "InputLayer" where you can specify the number of features?
How is this not a thing? Come on Matlab.

Sign in to comment.

Sign in to answer this question.