Path: blob/master/Week 4/Programming Assignment - 3/machine-learning-ex3/ex3/submit.m
864 views
function submit()1addpath('./lib');23conf.assignmentSlug = 'multi-class-classification-and-neural-networks';4conf.itemName = 'Multi-class Classification and Neural Networks';5conf.partArrays = { ...6{ ...7'1', ...8{ 'lrCostFunction.m' }, ...9'Regularized Logistic Regression', ...10}, ...11{ ...12'2', ...13{ 'oneVsAll.m' }, ...14'One-vs-All Classifier Training', ...15}, ...16{ ...17'3', ...18{ 'predictOneVsAll.m' }, ...19'One-vs-All Classifier Prediction', ...20}, ...21{ ...22'4', ...23{ 'predict.m' }, ...24'Neural Network Prediction Function' ...25}, ...26};27conf.output = @output;2829submitWithConfiguration(conf);30end3132function out = output(partId, auxdata)33% Random Test Cases34X = [ones(20,1) (exp(1) * sin(1:1:20))' (exp(0.5) * cos(1:1:20))'];35y = sin(X(:,1) + X(:,2)) > 0;36Xm = [ -1 -1 ; -1 -2 ; -2 -1 ; -2 -2 ; ...371 1 ; 1 2 ; 2 1 ; 2 2 ; ...38-1 1 ; -1 2 ; -2 1 ; -2 2 ; ...391 -1 ; 1 -2 ; -2 -1 ; -2 -2 ];40ym = [ 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 ]';41t1 = sin(reshape(1:2:24, 4, 3));42t2 = cos(reshape(1:2:40, 4, 5));4344if partId == '1'45[J, grad] = lrCostFunction([0.25 0.5 -0.5]', X, y, 0.1);46out = sprintf('%0.5f ', J);47out = [out sprintf('%0.5f ', grad)];48elseif partId == '2'49out = sprintf('%0.5f ', oneVsAll(Xm, ym, 4, 0.1));50elseif partId == '3'51out = sprintf('%0.5f ', predictOneVsAll(t1, Xm));52elseif partId == '4'53out = sprintf('%0.5f ', predict(t1, t2, Xm));54end55end565758