我使用sklearn.linear_model.LinearRegression
拟合了一个线性模型
让我们称之为model
我有一个X_1, X_2, ..., X_n
列表
我所做的是逐个预测它们,如:
for X_i in list:
model.predict(X_i)
有更快的方法吗?也许我可以将所有X_i连接在一起,然后一次预测它们?
你可以用predict
调用numpy.array
并获得一个预测的numpy.array
:
看看这个MVCE,使用拟合奇数X
y = 2X来预测偶数个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.])
假设X1 ... XN
是numpy
数组,你可以像这样concatenate:
X = np.concatenate((X1, X2, X3), axis=0)
并将此数组传递给fit
/ predict
。