# PCA {:.no_toc} ## The goal Questions to [David Rotermund](mailto:davrot@uni-bremen.de) ```python import numpy as np import matplotlib.pyplot as plt rng = np.random.default_rng(1) a_x = rng.normal(0.0, 1.0, size=(5000))[:, np.newaxis] a_y = rng.normal(0.0, 1.0, size=(5000))[:, np.newaxis] ** 3 data_a = np.concatenate((a_x, a_y), axis=1) b_x = rng.normal(0.0, 1.0, size=(5000))[:, np.newaxis] ** 3 b_y = rng.normal(0.0, 1.0, size=(5000))[:, np.newaxis] data_b = np.concatenate((b_x, b_y), axis=1) data = np.concatenate((data_a, data_b), axis=0) angle = -0.3 roation_matrix = np.array( [[np.cos(angle), -np.sin(angle)], [np.sin(angle), np.cos(angle)]] ) data_r = data @ roation_matrix plt.plot(data[:, 0], data[:, 1], "b.") plt.plot(data_r[:, 0], data_r[:, 1], "r.") ``` ![image0](image0.png)