python机器学习三个数组线性回归
时间: 2023-10-16 10:06:33 浏览: 135
线性回归是一种基本的机器学习算法,可以用于预测连续型变量的值。在Python中,可以使用NumPy和Scikit-learn库实现线性回归。
假设我们有3个数组x、y和z,分别表示自变量、因变量和要预测的变量。我们可以使用Scikit-learn库实现线性回归,如下所示:
``` python
import numpy as np
from sklearn.linear_model import LinearRegression
# 创建输入和输出数组
x = np.array([1, 2, 3, 4, 5]).reshape((-1, 1))
y = np.array([2, 4, 6, 8, 10])
z = np.array([6, 7, 8, 9, 10])
# 创建线性回归对象
model = LinearRegression()
# 训练模型
model.fit(x, y)
# 预测 z
z_pred = model.predict(np.array([6]).reshape((-1, 1)))
print(z_pred)
```
在这个例子中,我们使用了NumPy库创建了输入和输出数组x和y,然后使用Scikit-learn库的LinearRegression类创建了一个线性回归对象。我们使用fit()方法训练模型并使用predict()方法预测z的值。最后,我们打印出预测的z值。
注意,这个例子中我们只用了x和y来训练模型,然后用模型来预测z的值。如果你想要使用x、y和z来训练模型,可以将它们合并成一个输入数组,如下所示:
``` python
import numpy as np
from sklearn.linear_model import LinearRegression
# 创建输入和输出数组
x = np.array([1, 2, 3, 4, 5]).reshape((-1, 1))
y = np.array([2, 4, 6, 8, 10])
z = np.array([6, 7, 8, 9, 10])
inputs = np.concatenate((x, y.reshape((-1, 1))), axis=1)
# 创建线性回归对象
model = LinearRegression()
# 训练模型
model.fit(inputs, z)
# 预测 z
z_pred = model.predict(np.array([[6, 12]]))
print(z_pred)
```
在这个例子中,我们将x和y合并成一个输入数组inputs,并用inputs和z训练模型。我们使用predict()方法预测z的值,需要传递一个形状为(1, 2)的数组,其中第一个元素是x的值,第二个元素是y的值。
阅读全文