this is a example to build a logistic regression model to predict whether a student gets admitted into a university.
As usual,loading and plotting your data:
and the plotData.m file is :
the hypothesis function and the Cost function are both different from Linear Regression ,which like:
Fora matrix, your function should perform the sigmoid function on every element.
Then we have derivatied J and grad,with these two
formulas ,we can then use an Octave
built-in function called fminunc. To derivaty theta.
input these commands:
% Setup the data matrix appropriately, and add ones for the intercept term
[m, n] = size(X);
% Add intercept term to x and X_test
X = [ones(m, 1) X];
% Initialize fitting parameters
initial_theta = zeros(n + 1, 1);
% Compute and display initial cost and gradient
[cost, grad] = costFunction(initial_theta, X, y);
% Set options for fminunc
options = optimset('GradObj', 'on', 'MaxIter', 400);
% Run fminunc to obtain the optimal theta
% This function will return theta and the cost
[theta, cost] = ...
fminunc(@(t)(costFunction(t, X, y)), initial_theta, options);
Then U got theta
plotDecisionBoundary(theta, X, y);
Finally,U can predict your own data .
Note: This example is with no Regularization.