matlab多元逻辑回归代码
时间: 2023-08-17 08:10:33 浏览: 74
当然可以!以下是一个使用 MATLAB 进行多元逻辑回归的示例代码:
```matlab
% 准备数据
X = [1 2; 2 3; 3 4; 4 5]; % 自变量矩阵
Y = [0; 0; 1; 1]; % 因变量向量
% 添加偏置项
X = [ones(size(X, 1), 1) X];
% 使用逻辑回归模型拟合数据
theta = zeros(size(X, 2), 1); % 初始化模型参数
alpha = 0.01; % 学习率
num_iters = 1000; % 迭代次数
for iter = 1:num_iters
% 计算假设函数和预测值
h = sigmoid(X * theta);
predictions = h >= 0.5;
% 计算梯度和损失函数
gradient = X' * (h - Y);
cost = -sum(Y .* log(h) + (1 - Y) .* log(1 - h)) / length(Y);
% 更新参数
theta = theta - alpha * gradient;
end
% 打印最终的模型参数
disp('模型参数:');
disp(theta);
% 定义 sigmoid 函数
function g = sigmoid(z)
g = 1 ./ (1 + exp(-z));
end
```
在这个示例中,我们使用了一个简单的数据集,其中自变量矩阵 `X` 是一个二维矩阵,因变量向量 `Y` 是一个二分类问题的标签。我们首先在自变量矩阵 `X` 中添加了一列全为 1 的偏置项,然后使用梯度下降法来拟合逻辑回归模型。最后,我们打印出了学到的模型参数 `theta`。
请注意,这只是一个简单的示例代码,实际使用中可能需要根据具体情况进行修改和优化。希望对你有帮助!如果有任何问题,请随时提问。