#r #missing-data #imputation #train-test-split
#r #отсутствует-данные #вменение #поезд-тест-разделение
Вопрос:
У меня есть набор данных с 69 столбцами и 50000 строками. Мой набор данных содержит только двоичные переменные и числовые переменные. Более того, некоторые двоичные переменные имеют некоторые отсутствующие значения (около 5%).
Я знаю, что я должен разделить набор данных на поезд-тест-валидацию, а затем выполнить вменение (я хочу использовать mice с этим методом logreg
). У меня есть несколько вопросов по этому поводу:
-
Должен ли я выполнять вменение только для набора поездов или также для наборов тестов и проверок? Если нет, то как мне заполнить NAs в наборах тестов и проверок?
-
Мой профессор сказал мне, что я должен уменьшить размеры моего набора данных. Могу ли я использовать PCA для этого? И должен ли я делать это до или после вменения? И должен ли я применять его только к тесту поезда или также к двум другим наборам?
-
Кроме того, я пытался использовать mice, но это невероятно медленно для моего набора данных (потребовалось около 50 минут, чтобы вычислить половину моих данных). Знаете ли вы какие-либо способы ускорить этот процесс? (Я читал здесь, на этом форуме, о таких методах, как
quickpred()
, но для этого необходимо указать минимальную корреляцию, которую я не знаю, насколько она в моем наборе данных.
Комментарии:
1. В одном есть несколько вопросов. Я бы посоветовал вам обсудить, как анализировать данные с вашим профессором. Каждый из этих вопросов достаточно широк сам по себе.
Ответ №1:
Лично это то, что я бы сделал:
- Да, я бы ввел значения перед разделением набора данных.
- Я бы уменьшил размерность после вменения данных, а также удалил бы предсказатели дисперсии, близкие к нулю.
- Я бы использовал пакет
caret
. Проверьте это. Все это можно сделать вtrain
вызове с помощью строки кода, напримерpreProcess = c( "nzv","knnImpute","pca")