Path: blob/master/Week 6/Programming Assignment - 5/machine-learning-ex5/ex5/submit.m
864 views
function submit()1addpath('./lib');23conf.assignmentSlug = 'regularized-linear-regression-and-bias-variance';4conf.itemName = 'Regularized Linear Regression and Bias/Variance';5conf.partArrays = { ...6{ ...7'1', ...8{ 'linearRegCostFunction.m' }, ...9'Regularized Linear Regression Cost Function', ...10}, ...11{ ...12'2', ...13{ 'linearRegCostFunction.m' }, ...14'Regularized Linear Regression Gradient', ...15}, ...16{ ...17'3', ...18{ 'learningCurve.m' }, ...19'Learning Curve', ...20}, ...21{ ...22'4', ...23{ 'polyFeatures.m' }, ...24'Polynomial Feature Mapping', ...25}, ...26{ ...27'5', ...28{ 'validationCurve.m' }, ...29'Validation Curve', ...30}, ...31};32conf.output = @output;3334submitWithConfiguration(conf);35end3637function out = output(partId, auxstring)38% Random Test Cases39X = [ones(10,1) sin(1:1.5:15)' cos(1:1.5:15)'];40y = sin(1:3:30)';41Xval = [ones(10,1) sin(0:1.5:14)' cos(0:1.5:14)'];42yval = sin(1:10)';43if partId == '1'44[J] = linearRegCostFunction(X, y, [0.1 0.2 0.3]', 0.5);45out = sprintf('%0.5f ', J);46elseif partId == '2'47[J, grad] = linearRegCostFunction(X, y, [0.1 0.2 0.3]', 0.5);48out = sprintf('%0.5f ', grad);49elseif partId == '3'50[error_train, error_val] = ...51learningCurve(X, y, Xval, yval, 1);52out = sprintf('%0.5f ', [error_train(:); error_val(:)]);53elseif partId == '4'54[X_poly] = polyFeatures(X(2,:)', 8);55out = sprintf('%0.5f ', X_poly);56elseif partId == '5'57[lambda_vec, error_train, error_val] = ...58validationCurve(X, y, Xval, yval);59out = sprintf('%0.5f ', ...60[lambda_vec(:); error_train(:); error_val(:)]);61end62end636465