这部分是误差预测的部分
#encoding:utf-8
import numpy as np
def Erro(pc, X, Y, B,Y_mean):# 将前面的得到的参数传进来
erro=np.zeros((1,pc)) # 定义两个矩阵
turn_y = np.zeros(( Y.shape[0], pc))
for i in range(pc):
y_pre=np.dot(X,B[:, [i]])
Y_pre=np.add(y_pre, Y_mean)# 得到预测的值
# 算每个主成分的均方跟误差
mse = np.sqrt(np.true_divide(np.dot((Y - Y_pre).T,(Y - Y_pre)), X.shape[0]))
turn_y[:, i] = Y_pre.ravel()# 将数据存储到矩阵中
erro[:, i] = mse.ravel()
return erro, turn_y
有不懂的可以给我发私信