Как нормализовать с помощью PCA и scikit-learn

Позвольте мне сделать это. В принципе, я хочу знать: должен ли я это делать,

pca.fit(normalize(x)) new=pca.transform(normalize(x)) 

или это

 pca.fit(normalize(x)) new=pca.transform(x) 

Я знаю, что мы должны нормализовать наши данные перед использованием PCA, но какая из вышеперечисленных процедур верна с помощью sklearn?

One Solution collect form web for “Как нормализовать с помощью PCA и scikit-learn”

В общем, вы бы хотели использовать первый вариант.

Ваша нормализация помещает ваши данные в новое пространство, которое видно на PCA, и его преобразование в основном ожидает, что данные будут в одном пространстве.

Scikit-learn предоставляет инструменты для этого прозрачно и удобно, объединяя оценки в конвейере. Пытаться:

 from sklearn.preprocessing import StandardScaler from sklearn.decomposition import PCA from sklearn.pipeline import Pipeline import numpy as np data = np.random.randn(20, 40) pipeline = Pipeline([('scaling', StandardScaler()), ('pca', PCA(n_components=5))]) pipeline.fit_transform(data) 

Затем расширенный скалер будет всегда применять свое преобразование к данным перед тем, как перейти к объекту PCA.

Как указывает @larsmans, вы можете использовать sklearn.preprocessing.Normalizer вместо StandardScaler или, аналогично, удалить среднее центрирование из StandardScaler , передав аргумент ключевого слова with_mean=False .

  • Weird прогнозируемая производительность SVM в scikit-learn (SVMLIB)
  • Как вычислить точность, отзыв, точность и f1-score для многоклассового футляра с помощью scikit?
  • Соответствующая структура Deep Learning для многоклассовой классификации
  • sklearn Логистическая регрессия «ValueError: найден массив с dim 3. Ожидаемый ожидаемый <= 2."
  • Можно ли указать свою дистанционную функцию, используя scikit-learn K-Means Clustering?
  • Односторонний t-тест для линейной регрессии?
  • Дисбаланс в scikit-learn
  • Понимание min_df и max_df в scikit CountVectorizer
  • iPython (python 2) - ImportError: нет модуля с именем model_selection
  • Каковы различные варианты использования joblib против рассола?
  • Пакетный градиентный спуск с scikit learn (sklearn)
  •  
    Interesting Posts for Van-Lav

    В lxml, как удалить тег, но сохранить все содержимое?

    Уменьшение объема памяти при многопроцессорности?

    Отображение уравнения регрессии в морском регистре

    Как вы вычисляете корреляцию между всеми столбцами в DataFrame и всеми столбцами в другом DataFrame?

    Легкий способ проверить, находится ли каждый элемент в массиве numpy между двумя значениями?

    Преобразование макроса Abaqus в скрипт python

    Как избежать «Значение пытается установить на копии среза из DataFrame»?

    Python государственный дизайн машины

    Раздельный график проверки и обучения при использовании очередей для подачи данных в сеть в Tensorflow

    def anti_vowel – codecademy (python)

    Невозможно импортировать SQLite с Python 2.6

    Параметрирование Py.Test на основе параметризованного прибора

    python celery – ImportError: Нет модуля с именем _curses – при попытке запустить manage.py ceralev

    Загружать статические файлы для всех шаблонов в django

    «Смущающее параллельное» программирование с использованием python и PBS на кластере

    Python - лучший язык программирования в мире.