Moving course1 to course1 subdir.
This commit is contained in:
44
machine_learning/course1/mlclass-ex7-008/mlclass-ex7/findClosestCentroids.m
Executable file
44
machine_learning/course1/mlclass-ex7-008/mlclass-ex7/findClosestCentroids.m
Executable file
@@ -0,0 +1,44 @@
|
||||
function idx = findClosestCentroids(X, centroids)
|
||||
%FINDCLOSESTCENTROIDS computes the centroid memberships for every example
|
||||
% idx = FINDCLOSESTCENTROIDS (X, centroids) returns the closest centroids
|
||||
% in idx for a dataset X where each row is a single example. idx = m x 1
|
||||
% vector of centroid assignments (i.e. each entry in range [1..K])
|
||||
%
|
||||
|
||||
% Set K
|
||||
K = size(centroids, 1);
|
||||
|
||||
% You need to return the following variables correctly.
|
||||
idx = zeros(size(X,1), 1);
|
||||
|
||||
% ====================== YOUR CODE HERE ======================
|
||||
% Instructions: Go over every example, find its closest centroid, and store
|
||||
% the index inside idx at the appropriate location.
|
||||
% Concretely, idx(i) should contain the index of the centroid
|
||||
% closest to example i. Hence, it should be a value in the
|
||||
% range 1..K
|
||||
%
|
||||
% Note: You can use a for-loop over the examples to compute this.
|
||||
%
|
||||
|
||||
for i=1:size(X,1),
|
||||
idx(i) = -1;
|
||||
mn=1.e100;
|
||||
for k=1:K,
|
||||
n=norm(centroids(k,:)-X(i,:));
|
||||
if ( n < mn )
|
||||
idx(i) = k;
|
||||
mn = n;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
% =============================================================
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user