Шаги для правильного анализа данных - PullRequest
0 голосов
/ 21 апреля 2019

У меня есть набор данных с 69 столбцами и 50000 строк. Мой набор данных содержит только двоичные и числовые переменные. Более того, некоторые двоичные переменные имеют некоторые пропущенные значения (около 5%).

Я знаю, что должен разделить набор данных на валидацию тестов, а затем выполнить вменение (я хочу использовать мышей с методом logreg). У меня есть несколько вопросов по этому поводу:

  1. Должен ли я выполнять вменение только на наборе поездов или также на испытательных и проверочных наборах? Если нет, как мне заполнить NA в наборах тестов и валидации?

  2. Мой профессор сказал мне, что я должен уменьшить размеры моего набора данных. Могу ли я использовать PCA для этого? И нужно ли это делать до или после вменения? И нужно ли применять его только к тесту поезда или также к двум другим сетам?

  3. Кроме того, я пытался использовать мышей, но это невероятно медленно для моего набора данных (потребовалось около 50 минут для вменения половины моих данных). Знаете ли вы какие-либо методы для ускорения этого процесса? (Я читал здесь на этом форуме о таких методах, как quickpred(), но для этого нужно указать минимальную корреляцию, а я не знаю, сколько это в моем наборе данных.

1 Ответ

0 голосов
/ 21 апреля 2019

Лично это то, что я бы сделал:

  1. Да, я бы вменял значения перед разбиением набора данных.
  2. Я бы уменьшил размерность после вменения данных, и я бы такжеудалить почти нулевые предикторы дисперсии.
  3. Я бы использовал пакет caret. Проверьте это .Все это можно сделать в вызове train с помощью строки кода, подобной preProcess = c( "nzv","knnImpute","pca")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...