{"blog_title":"HTN20190109\u306e\u65e5\u8a18","url":"https://htn20190109.hatenablog.com/entry/2026/04/17/003819","blog_url":"https://htn20190109.hatenablog.com/","published":"2026-04-17 00:38:19","provider_url":"https://hatena.blog","image_url":null,"categories":["DL"],"author_url":"https://blog.hatena.ne.jp/HTN20190109/","title":"\u4e3b\u6210\u5206\u5206\u6790","type":"rich","description":"import numpy as np def pca(X, n_components=2): X = X - X.mean(axis=0) cov = np.cov(X, rowvar=False) l, v = np.linalg.eigh(cov) l_index = np.argsort(l)[::-1] v_ = v[:, l_index] components = v_[:, :n_components] T = np.dot(X, components) return T X = np.random.rand(100, 2) T = pca(X, n_components=1) p\u2026","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fhtn20190109.hatenablog.com%2Fentry%2F2026%2F04%2F17%2F003819\" title=\"\u4e3b\u6210\u5206\u5206\u6790 - HTN20190109\u306e\u65e5\u8a18\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","width":"100%","version":"1.0","author_name":"HTN20190109","provider_name":"Hatena Blog","height":"190"}