visualizeBoundary.m 729 B

123456789101112131415161718192021222324
  1. function visualizeBoundary(X, y, model, varargin)
  2. %VISUALIZEBOUNDARY plots a non-linear decision boundary learned by the SVM
  3. % VISUALIZEBOUNDARYLINEAR(X, y, model) plots a non-linear decision
  4. % boundary learned by the SVM and overlays the data on it
  5. % Plot the training data on top of the boundary
  6. plotData(X, y)
  7. % Make classification predictions over a grid of values
  8. x1plot = linspace(min(X(:,1)), max(X(:,1)), 100)';
  9. x2plot = linspace(min(X(:,2)), max(X(:,2)), 100)';
  10. [X1, X2] = meshgrid(x1plot, x2plot);
  11. vals = zeros(size(X1));
  12. for i = 1:size(X1, 2)
  13. this_X = [X1(:, i), X2(:, i)];
  14. vals(:, i) = svmPredict(model, this_X);
  15. end
  16. % Plot the SVM boundary
  17. hold on
  18. contour(X1, X2, vals, [0.5 0.5], 'b');
  19. hold off;
  20. end