2017-01-06 6 views
0

У меня есть набор данных из 50 тыс. Строк и 26 функций. Я нормализую столбцы с помощью стандартного словаря sklearn (каждый столбец имеет среднее значение 0 и 1 стандартное отклонение), а затем запускает PCA, чтобы уменьшить атрибут до ~ 90% от первоначальной дисперсии. Затем я нормализую строки, прежде чем запускаю алгоритм Sklearn KMeans.Можно ли нормализовать строку после запуска СПС?

Есть ли причина, по которой я не должен нормализовать строки после запуска СПС? Если есть, нормализует ли строки до того, как PCA вызовет какие-либо проблемы - следует ли это сделать до или после нормализации столбцов?

Причина нормализации строк заключается в том, чтобы удалить «величину» или «уровень квалификации» из каждой строки, а вместо этого взглянуть на взаимосвязь между соответствующими функциями, упрощенными PCA.

ответ

0

Это очень зависит от данных. Поскольку я не знаю, что могут иметь эти цифры «уровня квалификации» для формы данных, я не решаюсь дать прямой ответ. Например, разумно ли иметь несколько строк с несколькими нормированными оценками вне диапазона [-1, 1], в то время как другие имеют значения малой величины? Похоже, это тот случай, который вы пытаетесь решить.

Я беспокоюсь, что у вас будет много строк с несколькими значениями в диапазоне 1-2 (либо + или -), но некоторые строки с возможно одним значением +1, а остальные элементы около 0. Когда вы нормализуете «горячую» строку, вы получите одно значение, расширенное больше 10. Хотите ли вы, чтобы он сгруппировался как выброс или включался в центральную область пространства? Является ли кто-то с одним более чем средним признаком outlier для просмотра этой информации?

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

+0

Спасибо за ваши комментарии по этому вопросу. Возможно, центрируя среднее значение каждой строки на 0, но не делая ничего со стандартным отклонением, приведет к меньшим производительным выбросам. Я попробую несколько разных подходов и посмотрю, что показывают результаты. Спасибо, что помогли мне разобраться в этом вопросе. – Chris

+0

Рад помочь. Пожалуйста, дайте мне знать, что работает; Я тоже хотел бы узнать об этом. – Prune

+0

Итак, я попытался нормализовать строки (среднее = 0, stdev = 1), центрируя строки (среднее значение = 0, stdev без изменений) и не нормализуя строки. Наиболее значимыми результатами были центрирующие ряды. В моем наборе данных было 11 групп, основанных на уровне опыта, и показателем интереса была дальность до ближайшего центра тяжести по группе. Я рассчитал T-тесты Уэлша на расстояние до ближайшего центроида между каждой соответствующей группой. Одна (несколько хакерская) метрика оценки заключалась в том, чтобы суммировать абсолютные значения всех таких TTests. Центрированные данные tstat абсолютная сумма сумм составляли ~ 2100, неизменные данные составляли ~ 1400, нормированные данные составляли ~ 380. – Chris

 Смежные вопросы

  • Нет связанных вопросов^_^