У меня есть набор точек, лежащих в 15-мерном пространстве, которые я спроецировал на его 2-мерное подпространство. Как я могу построить эти точки, используя matplotlib?
import numpy as np
data = np.random.randn(100, 15) # 100 15-dimensional vectors
# v1, v2 are unit basis vectors of the subspace
v1 = np.random.randn(15)
v2 = np.random.randn(15)
v1 /= np.linalg.norm(v1)
v2 /= np.linalg.norm(v2)
A = np.array([v1, v2]).T
P = A @ np.linalg.inv(A.T @ A) @ A.T # Projection matrix
X = np.array([P@x for x in data]).T
Здесь X
- это список из 100 векторов в 15 измерениях, но лежащий в 2-мерном подпространстве, охватываемом v1
и v2
, Мне нужно построить эти 100 векторов на 2-мерном графике