Path: blob/master/Week 8/Programming Assignment - 7/ex7/submit.m
863 views
function submit()1addpath('./lib');23conf.assignmentSlug = 'k-means-clustering-and-pca';4conf.itemName = 'K-Means Clustering and PCA';5conf.partArrays = { ...6{ ...7'1', ...8{ 'findClosestCentroids.m' }, ...9'Find Closest Centroids (k-Means)', ...10}, ...11{ ...12'2', ...13{ 'computeCentroids.m' }, ...14'Compute Centroid Means (k-Means)', ...15}, ...16{ ...17'3', ...18{ 'pca.m' }, ...19'PCA', ...20}, ...21{ ...22'4', ...23{ 'projectData.m' }, ...24'Project Data (PCA)', ...25}, ...26{ ...27'5', ...28{ 'recoverData.m' }, ...29'Recover Data (PCA)', ...30}, ...31};32conf.output = @output;3334submitWithConfiguration(conf);35end3637function out = output(partId, auxstring)38% Random Test Cases39X = reshape(sin(1:165), 15, 11);40Z = reshape(cos(1:121), 11, 11);41C = Z(1:5, :);42idx = (1 + mod(1:15, 3))';43if partId == '1'44idx = findClosestCentroids(X, C);45out = sprintf('%0.5f ', idx(:));46elseif partId == '2'47centroids = computeCentroids(X, idx, 3);48out = sprintf('%0.5f ', centroids(:));49elseif partId == '3'50[U, S] = pca(X);51out = sprintf('%0.5f ', abs([U(:); S(:)]));52elseif partId == '4'53X_proj = projectData(X, Z, 5);54out = sprintf('%0.5f ', X_proj(:));55elseif partId == '5'56X_rec = recoverData(X(:,1:5), Z, 5);57out = sprintf('%0.5f ', X_rec(:));58end59end606162