18 lines
509 B
Matlab
18 lines
509 B
Matlab
function [Xn, mu, sigma] = preprocess_data(X, mu, sigma)
|
|
% PREPROCESS Normalize feature matrix using z-score scaling
|
|
%
|
|
% [Xn, mu, sigma] = preprocess(X)
|
|
% [Xn, mu, sigma] = preprocess(X, mu, sigma)
|
|
%
|
|
% Applies feature-wise standardization (zero mean, unit variance)
|
|
% to the predictors only — labels Y remain unchanged.
|
|
|
|
if nargin < 2 || isempty(mu)
|
|
mu = mean(X,1);
|
|
sigma = std(X,[],1);
|
|
end
|
|
sigma(sigma==0) = 1; % avoid division by zero
|
|
|
|
Xn = (X - mu) ./ sigma;
|
|
end
|