Контекст: я выполняю PCA для матрицы MxN (N >> M) с некоторыми недопустимыми значениями, расположенными в матрице. Я не могу вывести эти значения, поэтому мне нужно удалить их все, что означает, что мне нужно удалить всю соответствующую строку или столбец. Конечно, я хочу сохранить максимальный объем данных. Недопустимые записи представляют ~ 30% данных, но большая их часть полностью заполнена несколькими строками, некоторые из них разбросаны по остальной части матрицы.
Некоторые возможные подходы:
Подобно этой проблеме , где я форматирую свою матрицу так, что допустимые записи данных равны 1, а недопустимые записи - огромному отрицательному числу. Однако все предлагаемые решения имеют экспоненциальную сложность, и моя проблема проще. ). Пересчитайте крысу ios для субматрицы и удалите самую высокую крысу ios. (не уверен, сколько строк или столбцов мы можем безопасно удалить за один шаг) и так далее, пока не останется недействительных данных. Это кажется нормальным решением, но я не уверен, что оно всегда дает оптимальное решение.
Я предполагаю, что это стандартная проблема анализа данных, но, к удивлению, я не смог найти решения онлайн.