逻辑回归的MATLAB实现(二分类问题)
数据输入:x(:,1:n)为特征集合,y(:,1)为训练集的分类集合(要用0和1进行分类,也就是说y中只能有0和1)
数据输出:Y=a0+a1*x1+a2*x2......+an*xn中的系数矩阵,和测试集的结果
代码(其实就两行重要,其他的忽略了):
/*****************************************
a =glmfit(x,y,'binomial', 'link', 'logit'); //用逻辑回归来计算系数矩阵
logitFit = glmval(a,x, 'logit'); //用逻辑回归的结果预测测试集的结果
/*****************************************
例程:
/******************************************
data = importdata('somelab.xlsx');
x(:,1:4) = data.data.Sheet1(:,1:4);
y(:,1) = data.data.Sheet1(:,7);
a =glmfit(x(1:80,1:4),y(1:80,1),'binomial', 'link', 'logit');
logitFit = glmval(b,x(80:100,1:4), 'logit');
//用训练集来测试最开心咯~O(∩_∩)O~~
/******************************************