线性回归预测matlab代码
时间: 2024-06-10 08:02:31 浏览: 18
线性回归是一种常见的机器学习方法,主要用于预测一个连续型变量的值。在MATLAB中,可以通过使用fitlm函数来进行线性回归分析。下面是一个简单的线性回归预测MATLAB代码示例:
```
% 导入数据
data = readtable('data.csv');
% 拆分数据集
training_data = data(1:80,:);
testing_data = data(81:end,:);
% 创建线性回归模型
model = fitlm(training_data, 'Y ~ X1 + X2');
% 预测测试数据
predicted_values = predict(model, testing_data);
% 计算预测误差
mse = mean((predicted_values - testing_data.Y).^2);
% 打印结果
disp(['均方误差:', num2str(mse)]);
```
在这个例子中,我们首先使用readtable函数将数据导入到MATLAB中。然后我们将数据集拆分成训练集和测试集,使用fitlm函数创建一个线性回归模型,然后使用predict函数对测试数据进行预测。最后,我们计算预测误差并打印结果。
相关问题
线性回归预测模型 matlab代码
以下是一个简单的线性回归预测模型的Matlab代码示例:
```matlab
% 导入数据
data = load('data.txt');
X = data(:, 1);
y = data(:, 2);
% 绘制数据散点图
scatter(X, y);
xlabel('X');
ylabel('y');
% 计算 theta
m = length(y);
X = [ones(m, 1), X];
theta = pinv(X' * X) * X' * y;
% 绘制拟合直线
hold on;
plot(X(:, 2), X * theta, 'r');
legend('Training data', 'Linear regression');
% 预测新数据
predict_X = 12;
predict_y = [1, predict_X] * theta;
fprintf('For X = %d, predicted y = %f\n', predict_X, predict_y);
```
其中,`data.txt`是包含输入特征和输出标签的数据文件。首先,我们绘制数据散点图来可视化数据。然后,我们使用普通最小二乘法(OLS)计算回归系数,即计算 theta。接着,我们绘制拟合直线以及预测新数据的输出。
多元线性回归预测模型matlab代码
多元线性回归是一种用于预测多个自变量与因变量之间关系的统计模型。在MATLAB中,可以使用以下代码创建多元线性回归预测模型:
```matlab
% 准备数据
X = [x1 x2 x3]; % 自变量矩阵,每一列代表一个自变量
Y = [y]; % 因变量向量
% 拟合多元线性回归模型
mdl = fitlm(X, Y); % 使用fitlm函数拟合多元线性回归模型
% 查看回归系数和统计信息
disp(mdl); % 显示回归系数和统计信息
disp('R-squared:');
disp(mdl.Rsquared.Ordinary); % 显示R方值
% 进行预测
X_new = [x1_new x2_new x3_new]; % 新的自变量数值
Y_pred = predict(mdl, X_new); % 使用predict函数进行预测
% 绘制结果
scatter3(x1, x2, x3, 'filled'); % 绘制原始数据点
hold on;
scatter3(x1_new, x2_new, x3_new, 'filled', 'r'); % 绘制新的自变量点
scatter3(x1_new, x2_new, x3_new, 'filled', 'g'); % 绘制预测结果点
xlabel('x1'); ylabel('x2'); zlabel('x3'); % 设置坐标轴标签
legend('Original Data', 'New Data', 'Predicted Data'); % 设置图例
```
以上代码首先准备数据,然后使用fitlm函数拟合多元线性回归模型。接着可以查看回归系数和统计信息,以及进行预测。最后,可以绘制原始数据点、新的自变量点和预测结果点来可视化预测结果。这样就可以使用MATLAB创建一个多元线性回归预测模型,并进行预测了。