吴恩达《机器学习》——第七次作业:主要成分分析(PCA) Posted on 2019-05-25 | Post modified: 2019-10-16 | In ML Words count in article: 119 | Reading time ≈ 1 主要成分分析 12345678910111213141516171819202122232425262728293031323334import numpy as npimport matplotlib.pyplot as pltfrom scipy.io import loadmatdata = loadmat('data/ex7data1.mat')X = data['X']fig, ax = plt.subplots(figsize=(12, 8))ax.scatter(X[:, 0], X[:, 1])plt.show()def pca(X): X = (X - X.mean()) / X.std() #特征缩放X = np.matrix(X)cov = (X.T * X) / X.shape[0] #协方差U, S, V = np.linalg.svd(cov) #奇异值分解return U, S, Vdef project_data(X, U, k): U_reduced = U[:, :k] return np.dot(X, U_reduced)def recover_data(Z, U, k): U_reduced = U[:, :k] return np.dot(Z, U_reduced.T)U, S, V = pca(X)Z = project_data(X, U, 1) ------ 本文结束 ------