我们都知道在机器学习中绘制预测结果散点图可以使用PCA技术来对多个维度特征进行降维。下面就代码来讲解PCA技术以及绘图一般步骤。
要绘制二维平面图,首先需要将多个特征压缩到两个特征
一、将矩阵X压缩到二维(PCA技术)
def _transform(self, X, dim):
covariance = calculate_covariance_matrix(X)
eigenvalues, eigenvectors = np.linalg.eig(covariance)
# Sort eigenvalues and eigenvector by largest eigenvalues
idx = eigenvalues.argsort()[::-1]
eigenvalues = eigenvalues[idx][:dim]
eigenvectors = np.atleast_1d(eigenvectors[:, idx])[:, :dim]
# Project the data onto principal components
X_transformed = X.dot(eigenvectors)
return X_transformed
1.1计算协方差矩阵
def calculate_covariance_matrix(X, Y