我是sklearn库的新手。我想合并已经拟合的LinearRegression模型,以从合并模型中获得预测值。我想创建一个函数或新的估计器类,将数据集分为几个较小的子集来创建子空间。然后(将模型拟合后)将它们合并为一个,并在测试数据集上预测值。
我了解了VotingRegressor
,但这并不是我真正需要的,因为该类适合给定的整个数据集上的估计量(它不使用子空间(或子集-我遇到了很多关于此方法的指示))
假设: X.shape =(100,16)和y.shape =(100,)
def fit_regressor(X, y):
n_splits = 5
scores = np.zeros(n_splits)
skf = KFold(n_splits=n_splits, shuffle=True, random_state=True)
for f, (train, test) in enumerate(skf.split(X)):
X_train, X_test = X[train], X[test]
y_train, y_test = y[train], y[test]
lr = LinearRegression()
lr.fit(X_train, y_train)
y_pred = lr.predict(X_test)
score = r2_score(y_test, y_pred)
scores[f] = score
print(scores)
mean_score = np.mean(scores)
std_score = np.std(scores)
print("%.3f (+-%.2f)" % (mean_score, std_score))
我尝试将LinearRegression
的已拟合模型合并为一个,但无法处理。上面是我的代码,适用于一种模型。如何将更多的拟合回归模型合并为一个,然后开始对合并模型进行预测?