Я использую случайный лесной прогноз в качестве базового уровня для моей модели ml. Так как мой X_train_split_xgb имеет форму (48195, 300), мне нужно выполнить batchtraining (память). Для этого я установил randomforest с warm_start = True, но когда я включил это, я получил ошибку в rf.predict (строка X_train_split_xgb, а именно: ValueError: операнды не могли быть переданы вместе с фигурами (48195,210) (48195,187 ) (48195,210). Если warm_start = False, я не получаю эту ошибку, и код запускается. Кто-нибудь знает, почему я получаю этот оценщик и как его исправить? Я уже пробовал много вещей. Благодарим Вас за помощь!
X_batch имеет форму (1000,300)
y_batch имеет форму 1000
X_train_split_xgb имеет форму (48195, 300)
y_train_split_xgb_encoded имеет форму 48195
Я даже не знаю, как он пытается вещать (48195,210) (48195,187) (48195,210) вместе, откуда приходят 210 и 187?
from sklearn.ensemble import RandomForestClassifier
errors = []
rf = RandomForestClassifier(n_estimators=5,
random_state=0,warm_start=True)
for X_batch, y_batch in get_batches(X_train_split_xgb, y_train_split_xgb_encoded, 1000):
# Run training and evaluate accuracy
rf.fit(X_batch, y_batch)# warm_start=True
print(X_batch.shape)
print(rf.predict(X_train_split_xgb))
print(rf.score(X_train_split_xgb, y_train_split_xgb_encoded))
#pred = rf.predict(X_batch)
#errors.append(MSE(y_batch, rf.predict(X_batch)))
rf.n_estimators += 1
Ошибка:
ValueError: operands could not be broadcast together with shapes (48195,210) (48195,187) (48195,210)
Ожидается: код проходит и выдает оценки на каждой итерации.
Факт: код перестает работать в цикле 2, таким образом, когда прогнозирование / оценка должны быть выполнены во второй раз. останавливается в rf.predict ()