机器学习——多元线性回归
Posted ke
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习——多元线性回归相关的知识,希望对你有一定的参考价值。
import numpy as np
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
data = np.loadtxt("../data_linear.csv",delimiter=",")
# 特征:前两列
x_data = data[:, 0:-1]
# 标签:最后一列
y_data = data[:, -1]
# 训练模型
# 创建线性回归模型对象
model = LinearRegression()
# 训练模型
model.fit(x_data, y_data)
print(f"theta1,theta2:model.coef_")
print(f"theta0:model.intercept_")
# 构建测试样本
x_test = [[16, 32]]
# 预测
predict = model.predict(x_test)
print(f"x1=16,x2=32,y为:predict")
# 可视化散点分布
x_0 = x_data[:, 0]
x_1 = x_data[:, 1]
x_0, x_1 = np.meshgrid(x_0, x_1)
y_hat = model.intercept_ + model.coef_[0]*x_0 + model.coef_[1]*x_1
fig = plt.figure()
# ax = Axes3D(fig) # 原代码
ax = fig.add_axes(Axes3D(fig)) # 新代码
ax.scatter(x_data[:, 0], x_data[:, 1], y_data)
ax.plot_surface(x_0, x_1, y_hat)
ax.set_xlabel("x1")
ax.set_ylabel("x2")
ax.set_zlabel("y")
plt.show()
LinearRegression
predict
以上是关于机器学习——多元线性回归的主要内容,如果未能解决你的问题,请参考以下文章
机器学习七--回归--多元线性回归Multiple Linear Regression