Я создал модель процесса Гаусса и тренировался с шумной мишенью. Я реализовал шум в качестве параметра альфа [n_samples] в соответствии с документацией по последнему scikit учиться 18.Ошибка перекрестной проверки гауссовского процесса с шумной мишенью
model = GaussianProcessRegressor(kernel=kernel,n_restarts_optimizer=0, alpha=dy_train ** 2)
Он работает, пока я не хочу, чтобы выполнить перекрестную проверку. Это вызывает ошибку, что длина параметра альфа и фактической цель не равная:
scores = cross_val_score(model, X_test, y_test)
ValueError: alpha must be a scalar or an array with same number of entries as y.(35 != 10)
Я понимаю ошибку, но я не знаю, как правильно определить альфа-вектор для перекрестной проверки. Пожалуйста, любое предложение?
Благодаря
Благодарим за объяснение и за код. Кажется, это довольно легко. Что значит «необычайно эвристический»? Я понимаю, что параметр «альфа» является коэффициентом шума, который представляет собой неопределенность целевых данных. Поскольку дисперсия шума изменяется на образец, альфа-параметр является вектором стандартных ошибок. Поскольку я начинаю регрессию и машинное обучение в гауссовском процессе, я был бы благодарен за любое предложение о правильном моделировании гауссовского шума выходных данных. –
Чрезвычайно нечетным эвристическим я имею в виду настройку альфы на квадрат целевых значений (что вы делаете прямо сейчас - путем передачи dy_train ** 2) - зачем вам это делать? Я не вижу смысла, если у вас нет какой-либо серьезной проницательности в данных и знаю, что это именно то, как ведет себя зависимое значение. Это ** регуляризация ** добавляется к полуопределенной матричной оценке при обучении. Да, это связано с шумом, но это намного сложнее, и предоставленные вами значения не имеют никакого смысла. Alpha должна быть небольшой ... 1e-3 - 1e-5 может быть уже большой ценностью, и вы добавляете y ** 2. – lejlot
Я понимаю, но каков правильный способ реализовать шумный ответ в модели GP? –