Как найти отсутствующую маску? - PullRequest
0 голосов
/ 13 марта 2019

Я пытался следовать https://pypi.org/project/fancyimpute/

# print mean squared error for the four imputation methods above
ii_mse = ((X_filled_ii[missing_mask] - X[missing_mask]) ** 2).mean()
print("Iterative Imputer norm minimization MSE: %f" % ii_mse)

nnm_mse = ((X_filled_nnm[missing_mask] - X[missing_mask]) ** 2).mean()
print("Nuclear norm minimization MSE: %f" % nnm_mse)

softImpute_mse = ((X_filled_softimpute[missing_mask] - X[missing_mask]) ** 2).mean()
print("SoftImpute MSE: %f" % softImpute_mse)

knn_mse = ((X_filled_knn[missing_mask] - X[missing_mask]) ** 2).mean()
print("knnImpute MSE: %f" % knn_mse)

Что такое пропущенная маска и как я могу получить ее из фрейма данных с пропущенными значениями?

1 Ответ

1 голос
/ 13 марта 2019

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

[1 2] [3 NA]

Пропущенная маска будет другим массивом логических значений, где записи имеют значение True вместо, где ваши данные отсутствуют.В этом случае это будет:

[False False] [False True]

Пожалуйста, см. Эту страницу для связанной функции в пандах.https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.mask.html

Если вы хотите создать отсутствующую маску в исходном наборе данных, вы можете использовать df.isna () или df.isnull ().

В вашем случае, однако, эта процедура не имеет отношения.У вас уже есть набор данных пропущенных значений.Просто запустите импутацию для этого набора данных.Отсутствующая маска в руководстве FancyImpute существует только в том случае, если вы хотите, возможно, рассчитать показатели производительности или искусственно создать набор данных с пропущенными значениями, чтобы затем выполнить вменение.

Надеюсь, это было полезно и удачи!

...