lambdaV = numpy.ones((J,K))/10. priors = { 'alpha':alpha, 'beta':beta, 'lambdaU':lambdaU, 'lambdaV':lambdaV } init_UV = 'random' metrics = ['MSE', 'R^2', 'Rp'] # Load in data R_true = numpy.loadtxt(input_folder+"R_true.txt") # For each noise ratio, generate mask matrices for each attempt M_attempts = 100 all_Ms = [ [try_generate_M(I,J,fraction_unknown,M_attempts) for r in range(0,repeats)] for noise in noise_ratios ] all_Ms_test = [ [calc_inverse_M(M) for M in Ms] for Ms in all_Ms ] # Make sure each M has no empty rows or columns def check_empty_rows_columns(M,fraction): sums_columns = M.sum(axis=0) sums_rows = M.sum(axis=1) for i,c in enumerate(sums_rows): assert c != 0, "Fully unobserved row in M, row %s. Fraction %s." % (i,fraction) for j,c in enumerate(sums_columns): assert c != 0, "Fully unobserved column in M, column %s. Fraction %s." % (j,fraction) for Ms in all_Ms: for M in Ms:
repeats = 10 iterations = 1000 I, J, K = 100, 80, 10 init_UV = 'exponential' expo_prior = 1 / 10. metrics = ['MSE', 'R^2', 'Rp'] # Load in data R_true = numpy.loadtxt(input_folder + "R_true.txt") # For each noise ratio, generate mask matrices for each attempt M_attempts = 100 all_Ms = [[ try_generate_M(I, J, fraction_unknown, M_attempts) for r in range(0, repeats) ] for noise in noise_ratios] all_Ms_test = [[calc_inverse_M(M) for M in Ms] for Ms in all_Ms] # Make sure each M has no empty rows or columns def check_empty_rows_columns(M, fraction): sums_columns = M.sum(axis=0) sums_rows = M.sum(axis=1) for i, c in enumerate(sums_rows): assert c != 0, "Fully unobserved row in M, row %s. Fraction %s." % ( i, fraction) for j, c in enumerate(sums_columns): assert c != 0, "Fully unobserved column in M, column %s. Fraction %s." % ( j, fraction)