logistic回归习题:matlab版
线性可分
ex2.m
close all;clear all;clc;
data = load('E:\ML_exercise\ex2\ex2data1.txt');
X=data(:,1:2);
y=data(:,3);
%plotData(X,y);
m=length(y);
X=[ones(m,1),X];
theta = zeros(3,1);
init_cost = costFunction(X,y,theta)
options = optimset('GradObj','on','MAxIter',400);%GradObj告诉fminunc损失和梯度
[theta,cost,flag] = fminunc(@(t)(costFunction(X,y,t)),theta,options);
plotDecisionBoundary(X,y,theta);
%预测
pro = sigmoid([1 45 85] * theta)
p = predict(X,theta);
%准确率
accuracy = mean(p == y)
plotData.m
function plotData(X,y)
%display a 2-dimension plot
figure;hold on;
pos=find(y==1);
neg=find(y==0);
plot(X(pos,1),X(pos,2),'k+','LineWidth',