Шаги для выполнения правильного анализа данных

#r #missing-data #imputation #train-test-split

#r #отсутствует-данные #вменение #поезд-тест-разделение

Вопрос:

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

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

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

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

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

Комментарии:

1. В одном есть несколько вопросов. Я бы посоветовал вам обсудить, как анализировать данные с вашим профессором. Каждый из этих вопросов достаточно широк сам по себе.

Ответ №1:

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

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