Блокировка при перекрестной проверке в млр с идентификатором темы - PullRequest
2 голосов
/ 10 мая 2019

У меня есть набор данных с несколькими наблюдениями за участником. Участники обозначаются id. Чтобы учесть это в процессе перекрестной проверки, я добавляю blocking = factor(id) к makeClassifTask() и blocking.cv = TRUE к makeResampleDesc(). Однако, если я оставлю id в наборе данных, он будет использоваться в качестве предиктора. У меня вопрос: как правильно использовать блокировку? Я бы хотел создать новую переменную, например, participant.id (вне набора данных), затем удалить id из исходного набора данных и затем использовать blocking = factor(participant.id), но я не уверен, что это правильный способ обработки блокировки.

1 Ответ

3 голосов
/ 10 мая 2019

Вместо предоставления переменной для blocking вы можете указать пользовательский вектор-фактор, который определяет наблюдения, которые принадлежат друг другу. Это также показано в учебнике .

Таким образом, вам не нужно иметь переменную "member.id" в наборе данных.

Также убедитесь, что вы действительно хотите использовать «блокировку». Вы уже смотрели на «группирование»? Различия между ними также описаны в связанном разделе учебника.

...