Я разместил этот вопрос на Data Science StackExchange , но не получил ответов. Кто-то предложил мне перенести вопрос сюда, потому что он похож на вопрос программирования, поэтому у меня есть попытка.
Я хочу сделать перекрестную проверку в sklearn, как показано ниже, но предсказанный результат X по-прежнему необходимо преобразовать, чтобы уменьшить расстояние от y. Как сделать это с добавлением пользовательской функции?
model = XGBRegressor(n_estimator = 500,
learn_rate = 0.05,
random_state = 0)
pipeline = Pipeline( steps = [('preprocessor', preprocessor),
('model', model)
])
scores = -1 * cross_val_score(pipeline, X, y,
cv = 3,
scoring = 'neg_mean_absolute_error',
verbose = 0)
В y есть только 0 и 1, поэтому я хочу округлить и вырезать десятичные дроби в результате X, просто после шага для предсказания X.
Возможно, мне понадобятся другие операции с y в будущем. Например, подгонка правильного результата включает только цифры, такие как 0,5, 1,5, 2,5 ...
Пример:
X - вход
ID Column_1 Column_2 Column_3
0 'A' 10 True
1 'A' 20 False
2 'B' 30 True
y - The правильный результат
ID Result
0 1
1 0
2 1
токовый выход
ID Result
0 0.899
1 -0.001
2 1.102
ожидаемый выход
ID Result
0 1
1 0
2 1