主成分定义的平面Python方程降维

主成分定义的平面Python方程降维,python,machine-learning,pca,plane,Python,Machine Learning,Pca,Plane,我需要理解用python代码编写的平面方程 从3d数据集中应用降维以获得前两个主要组件 pca.components是定义平面的这两个向量 数组([-0.93636116,-0.29854881,-0.18465208], [0.34027485,-0.90119108,-0.2684542]] 我想了解定义平面的最后两行: 我一直在研究各种平面方程,但找不到任何类似于z=(R[0,2]*x1+R[1,2]*x2)/(1-R[2,2]) 什么描述R? 我知道这是一个3x3矩阵,它在下一行使用了最

我需要理解用python代码编写的平面方程

从3d数据集中应用降维以获得前两个主要组件

pca.components是定义平面的这两个向量

数组([-0.93636116,-0.29854881,-0.18465208], [0.34027485,-0.90119108,-0.2684542]]

我想了解定义平面的最后两行:

我一直在研究各种平面方程,但找不到任何类似于z=(R[0,2]*x1+R[1,2]*x2)/(1-R[2,2])

什么描述R? 我知道这是一个3x3矩阵,它在下一行使用了最后一列, 但是为什么呢

图为:

提前感谢您帮助理解它

使用基本平面方程可以像这样绘制同一平面: ax+by+c*z=0,其中(a,b,c)为法向量

normal = np.cross(C[0,:],C[1,:])
z_dav = (-normal[0]*x1-normal[1]*x2)/(normal[2])

ax.plot_surface(x1, x2, z, alpha=0.1, color="y")
ax.plot_surface(x1, x2, z_dav, alpha=0.3, color="g")

不管怎样,我还是想明白这一点:

R = C.T.dot(C)
z = (R[0, 2] * x1 + R[1, 2] * x2) / (1 - R[2, 2])
R = C.T.dot(C)
z = (R[0, 2] * x1 + R[1, 2] * x2) / (1 - R[2, 2])