def calculate_mean_square_error(trainsize, testsize, lamd): training_sample = data_generator1(trainsize) testing_sample = data_generator1(testsize) training_result1 = train_ridgeregression(training_sample[0], training_sample[1], lamd) square_error = [ (np.float(testing_sample[1][i] - np.dot(np.squeeze(training_result1), testing_sample[0].T[i]))) ** 2 for i in range(1000) ] return sum(square_error) / len(square_error)
def calculate_mean_square_error_1fold(Tset): trainingx = Tset[0][0] trainingy = Tset[0][1] testingx = Tset[1][0] testingy = Tset[1][1] training_result1 = train_ridgeregression(np.asarray(trainingx).T, trainingy, lamd) square_error = [(np.float(testingy[i]-np.dot(np.squeeze(training_result1),np.asarray(testingx)[i])))**2 for i in range(400)] return sum(square_error)/len(square_error)
def calculate_mean_square_error_HO(total_sample): indexlist = [i for i in range(500)] index = np.random.permutation(indexlist) trainingx = [total_sample[0].T[index[i]] for i in range(100)] trainingy = [total_sample[1][index[i]] for i in range(100)] testingx = [total_sample[0].T[index[i]] for i in range(100,500)] testingy = [total_sample[1][index[i]] for i in range(100,500)] training_result1 = train_ridgeregression(np.asarray(trainingx).T, trainingy, lamd) square_error = [(np.float(testingy[i]-np.dot(np.squeeze(training_result1),np.asarray(testingx)[i])))**2 for i in range(400)] return sum(square_error)/len(square_error)