Я пытаюсь сделать простой анализ основных компонентов с помощью matplotlib.mlab.PCA, но с атрибутами класса я не могу получить чистое решение моей проблемы. Вот пример:Базовый пример для PCA с matplotlib
Получить некоторые фиктивные данные в 2D и начать PCA:
from matplotlib.mlab import PCA
import numpy as np
N = 1000
xTrue = np.linspace(0,1000,N)
yTrue = 3*xTrue
xData = xTrue + np.random.normal(0, 100, N)
yData = yTrue + np.random.normal(0, 100, N)
xData = np.reshape(xData, (N, 1))
yData = np.reshape(yData, (N, 1))
data = np.hstack((xData, yData))
test2PCA = PCA(data)
Теперь, я просто хочу, чтобы получить основные компоненты как векторы в моих исходных координатах и построить их в виде стрелок на мои данные.
Что такое быстрый и чистый способ добраться туда?
Спасибо, Tyrax
здорово, спасибо. Это то, что я искал. – Tyrax
Что такое константа 1.618? откуда она взялась? – joaquin
@joaquin: Его приблизительно [золотое соотношение] (http://en.wikipedia.org/wiki/Golden_ratio). Вы можете, конечно, выбрать любую константу, которая вам нравится, но она [часто выглядит хорошо] (http://en.wikipedia.org/wiki/Golden_ratio#Painting). – unutbu