def hotStartValRMSE(model_name, K, L, X1, X2, val_I, val_J, val_Y, train_op): M = X1.shape[0] N = X2.shape[0] Xs = train_op['params']['Xs'] betas = train_op['params']['betas'] r = train_op['params']['r'] predictions = mmbae_cpld_linear_predict(val_I, val_J, M, N, Xs, betas, r, K, L) Z = sp.csr_matrix((val_Y, (val_I,val_J)), shape=(M,N)) nonzero_Z = np.array(Z[(val_I,val_J)]).ravel() hotStartTrainRMSE = np.sqrt(np.mean((predictions-nonzero_Z)**2)) return hotStartTrainRMSE
def hotStartTrainRMSE(model_name, K, L, X1, X2, train_I, train_J, train_Y, train_op): M = X1.shape[0] N = X2.shape[0] Xs = train_op['params']['Xs'] betas = train_op['params']['betas'] r = train_op['params']['r'] if model_name.upper().split('_')[1] == 'CPLD': predictions = mmbae_cpld_linear_predict(train_I, train_J, M, N, Xs, betas, r, K, L) Z = sp.csr_matrix((train_Y, (train_I,train_J)), shape=(M,N)) nonzero_Z = np.array(Z[(train_I,train_J)]).ravel() hotStartTrainRMSE = np.sqrt(np.mean((predictions-nonzero_Z)**2)) return hotStartTrainRMSE