同时预测

时间:2019-04-13 21:39:04

标签: scikit-learn linear-regression

我已经使用sklearn.linear_model.LinearRegression

拟合了线性模型

我们称它为model

我有一个X_1, X_2, ..., X_n

的列表

我要做的是像这样一个一个地预测它们:

for X_i in list:
    model.predict(X_i)

有更快的方法吗?也许我可以将所有X_i连接在一起,然后一次预测它们?

2 个答案:

答案 0 :(得分:2)

您可以使用predict来调用numpy.array并获得numpy.array的预测:

看看这个MVCE,使用 y = 2X的奇数X拟合来预测X的偶数:

from sklearn.linear_model import LinearRegression
import numpy as np

X = [1, 3, 5, 7, 9]
y = [2, 6, 10, 14, 18]
lr = LinearRegression()
X = np.array(X)
# However, you need to reshape your X array to be 2-D instead of 1-D.
X = X[:, None]

lr.fit(X, y)

X_pred = [2, 4, 6, 8]
# Combine numpy array and reshape into one statement
X_pred = np.array(X_pred)[:, None] 

y_pred = lr.predict(X_pred)
y_pred

输出:

array([4.,  8., 12., 16.])

答案 1 :(得分:1)

假设X1 ... XNnumpy个数组,您可以这样concatenate

X = np.concatenate((X1, X2, X3), axis=0) 

并将此数组传递到fit / predict