Я использую эти советы для объединения предикторов с использованием стека: https://scikit-learn.org/stable/auto_examples/ensemble/plot_stack_predictors.html#sphx -glr-auto-examples-ensemble-plot-stack-pregntors-py
import time
import numpy as np
from sklearn.datasets import load_boston
from sklearn.model_selection import cross_validate, cross_val_predict
X, y = load_boston(return_X_y=True)
fig, axs = plt.subplots(2, 2, figsize=(9, 7))
axs = np.ravel(axs)
for ax, (name, est) in zip(axs, estimators + [('Stacking Regressor',
stacking_regressor)]):
start_time = time.time()
score = cross_validate(est, X, y,
scoring=['r2', 'neg_mean_absolute_error'],
n_jobs=-1, verbose=0)
elapsed_time = time.time() - start_time
y_pred = cross_val_predict(est, X, y, n_jobs=-1, verbose=0)
plot_regression_results(
ax, y, y_pred,
name,
(r'$R^2={:.2f} \pm {:.2f}$' + '\n' + r'$MAE={:.2f} \pm {:.2f}$')
.format(np.mean(score['test_r2']),
np.std(score['test_r2']),
-np.mean(score['test_neg_mean_absolute_error']),
np.std(score['test_neg_mean_absolute_error'])),
elapsed_time)
plt.suptitle('Single predictors versus stacked predictors')
plt.tight_layout()
plt.subplots_adjust(top=0.9)
plt.show()
Используется Бостонский набор данных (прогноз цен на жилье).
Этот код, кажется, предсказывает весь набор данных Бостона. Как использовать этот код с разделением для обучения / проверки данных, пожалуйста?
Я разделил:
X_train, X_test, Y_train, Y_test = \
model_selection.train_test_split(X, y,
test_size=0.3, # 30% des données dans le jeu de test
random_state=42)
1) На данных поезда: я пересекаю валидацию и cross_val_predict на данных X_train / Y_train:
score = cross_validate(est, X_train, Y_train,
scoring=['r2', 'neg_mean_absolute_error'],
n_jobs=-1, verbose=0)
y_pred = cross_val_predict(est, X, y, n_jobs=-1, verbose=0)
2) На тестовых данных: на мой взгляд, нехорошо прогнозировать с помощью «перекрестной проверки» на X_test с помощью функции cross_val_predict ().
y_pred_test = cross_val_predict(est, X_test, Y_test, n_jobs=-1, verbose=0)
Какую функцию прогнозирования можно использовать вызывать набор данных X_test? Большое спасибо. Тео