Итеративный Imputer с помощью sklearn, добавляющий строки в тестовый набор данных во время вменения - PullRequest
0 голосов
/ 09 апреля 2020

Я участвую в проекте data data sci на Kaggle, чтобы узнать больше о Python, и использую Iterative Imputer для оценки возраста как для тренировочного, так и для тестового набора данных.

Набор обучающих данных состоит из 891 строки, а набор тестовых данных - 418.

После преобразования набора тестовых данных для вменения значений с использованием подгонки импутеров к набору обучающих данных, он добавляет строк для набора тестовых данных также 891 строка.

Любая помощь приветствуется.

imp = IterativeImputer(max_iter=10, random_state = 1001, min_value=18, max_value=80, missing_values = np.nan)
features = ['Pclass', 'Age', 'SibSp','Parch', 'female', 'male', 'Cherbourg','Queenstown','Southampton']
train_df[features] = imp.fit(train_df[features])
#train_df[features] = imp.transform(train_df[features]) 
test_df[features] = imp.transform(test_df[features]) 

1 Ответ

0 голосов
/ 09 апреля 2020

Добро пожаловать! В документации сказано, что IterativeImputer().transform(X) возвращает массив numpy той же формы, что и X, поэтому, возможно, проверьте, что вы указали в методе. Задавая вопросы, вы можете попытаться опубликовать минимальный воспроизводимый пример с несколькими строками данных. Вот ссылка с советами: { ссылка }

...