逻辑回归matlab代码实现
时间: 2023-11-06 14:56:28 浏览: 97
逻辑回归matlab代码-PredictingPRNGs:使用机器学习技术预测伪随机数生成器
逻辑回归的MATLAB代码实现如下:
```matlab
XX = xlsread('训练数据.xls'); % 读取训练数据(包含训练样本XX及对应的标签y)
X = XX(:, 1:2); % 从训练数据中找出训练样本X
X = [X ones(10, 1)]; % 生成符合逻辑回归模型的X(加上逻辑回归模型中的常数项)
y = XX(:, 3); % 从训练数据中找出训练样本X对应的标签y
W = rand(3, 1); % 初始化逻辑回归系数W
T = 0; % 循环次数
sign = 1; % 循环进行标志
lr = 0.1; % 设定梯度下降学习速率(采用固定学习速率的梯度下降法)
% 循环
while (sign == 1)
P = sigmf(X * W, [1 0]); % 求逻辑回归模型输出值P
LW = X' * (P - y); % 求梯度LW
if (norm(LW) <= 0.001) || (T >= 150000) % 循环结束条件
sign = 0;
else
sign = 1;
T = T + 1;
W = W - (lr) * (LW); % 梯度更新
end
end
% 最终求得的逻辑回归系数
W = [0.7938; -2.2932; 12.1551]
% 绘制逻辑回归分类界线
x1 = -2.5:0.1:2;
x2 = ((-W(1)/W(2)) * x1) - (W(3)/W(2));
plot(x1, x2, 'r');
% 在此逻辑回归系数下,训练样本X在此逻辑回归模型中的输出为:
```
阅读全文