def main(): X, Y = load_data(sys.argv[1]) X_val, Y_val = load_data(sys.argv[2]) X_test, Y_test = load_data(sys.argv[3]) print("1", X.shape) print("2", Y.shape) red = NeuralNetwork() red.type = 'C' #1 red.structure = [5, 4, 5] red.initialize_parameters() red.back_propagation2(X, Y, 10, X_val, Y_val, 0.05, 3) predicts = [] original = [] X_test_t = np.transpose(X_test) Y_test_t = np.transpose(Y_test) for j in range(len(X_test_t)): X_eval = X_test_t[j].reshape(len(X_test_t[j]), 1) Y_eval = Y_test_t[j].reshape(len(Y_test_t[j]), 1) y_predict, _ = red.L_model_forward(X_eval) predicts.append(y_predict.reshape(len(y_predict))) original.append(Y_eval.reshape(len(Y_eval))) stadistics(red.get_coded_y(predicts), red.get_coded_y(original)) print("--------------------") #2 red.structure = [5, 16, 5] red.initialize_parameters() red.back_propagation2(X, Y, 10, X_val, Y_val, 0.05, 3) predicts = [] original = [] X_test_t = np.transpose(X_test) Y_test_t = np.transpose(Y_test) for j in range(len(X_test_t)): X_eval = X_test_t[j].reshape(len(X_test_t[j]), 1) Y_eval = Y_test_t[j].reshape(len(Y_test_t[j]), 1) y_predict, _ = red.L_model_forward(X_eval) predicts.append(y_predict.reshape(len(y_predict))) original.append(Y_eval.reshape(len(Y_eval))) stadistics(red.get_coded_y(predicts), red.get_coded_y(original)) print("--------------------") # 3 red.structure = [5, 32, 5] red.initialize_parameters() red.back_propagation2(X, Y, 10, X_val, Y_val, 0.05, 3) predicts = [] original = [] X_test_t = np.transpose(X_test) Y_test_t = np.transpose(Y_test) for j in range(len(X_test_t)): X_eval = X_test_t[j].reshape(len(X_test_t[j]), 1) Y_eval = Y_test_t[j].reshape(len(Y_test_t[j]), 1) y_predict, _ = red.L_model_forward(X_eval) predicts.append(y_predict.reshape(len(y_predict))) original.append(Y_eval.reshape(len(Y_eval))) stadistics(red.get_coded_y(predicts), red.get_coded_y(original)) print("--------------------") #4 red.structure = [5, 64, 5] red.initialize_parameters() red.back_propagation2(X, Y, 10, X_val, Y_val, 0.05, 3) predicts = [] original = [] X_test_t = np.transpose(X_test) Y_test_t = np.transpose(Y_test) for j in range(len(X_test_t)): X_eval = X_test_t[j].reshape(len(X_test_t[j]), 1) Y_eval = Y_test_t[j].reshape(len(Y_test_t[j]), 1) y_predict, _ = red.L_model_forward(X_eval) predicts.append(y_predict.reshape(len(y_predict))) original.append(Y_eval.reshape(len(Y_eval))) stadistics(red.get_coded_y(predicts), red.get_coded_y(original)) print("--------------------") #5 red.structure = [5, 128, 5] red.initialize_parameters() red.back_propagation2(X, Y, 10, X_val, Y_val, 0.05, 3) predicts = [] original = [] X_test_t = np.transpose(X_test) Y_test_t = np.transpose(Y_test) for j in range(len(X_test_t)): X_eval = X_test_t[j].reshape(len(X_test_t[j]), 1) Y_eval = Y_test_t[j].reshape(len(Y_test_t[j]), 1) y_predict, _ = red.L_model_forward(X_eval) predicts.append(y_predict.reshape(len(y_predict))) original.append(Y_eval.reshape(len(Y_eval))) stadistics(red.get_coded_y(predicts), red.get_coded_y(original)) print("--------------------")
def main(): X, Y = load_data(sys.argv[1]) X_val, Y_val = load_data(sys.argv[2]) X_test, Y_test = load_data(sys.argv[3]) red = NeuralNetwork() red.out = 'sigmoid' #1 red.structure = [7, 16, 1] red.initialize_parameters() print("X", X.shape) print("Y", Y.shape) red.back_propagation3(X, Y, 50, X_val, Y_val, 0.05, 3) predicts = [] original = [] X_test_t = np.transpose(X_test) Y_test_t = np.transpose(Y_test) for j in range(len(X_test_t)): X_eval = X_test_t[j].reshape(len(X_test_t[j]), 1) Y_eval = Y_test_t[j].reshape(len(Y_test_t[j]), 1) y_predict, _ = red.L_model_forward(X_eval) predicts.append(y_predict.reshape(len(y_predict))) original.append(Y_eval.reshape(len(Y_eval))) stadistics(predicts, original) #2 red.structure = [7, 32, 1] red.initialize_parameters() print("X", X.shape) print("Y", Y.shape) red.back_propagation3(X, Y, 50, X_val, Y_val, 0.05, 3) predicts = [] original = [] X_test_t = np.transpose(X_test) Y_test_t = np.transpose(Y_test) for j in range(len(X_test_t)): X_eval = X_test_t[j].reshape(len(X_test_t[j]), 1) Y_eval = Y_test_t[j].reshape(len(Y_test_t[j]), 1) y_predict, _ = red.L_model_forward(X_eval) predicts.append(y_predict.reshape(len(y_predict))) original.append(Y_eval.reshape(len(Y_eval))) stadistics(predicts, original) #3 red.structure = [7, 16, 16, 1] red.initialize_parameters() print("X", X.shape) print("Y", Y.shape) red.back_propagation3(X, Y, 50, X_val, Y_val, 0.05, 3) predicts = [] original = [] X_test_t = np.transpose(X_test) Y_test_t = np.transpose(Y_test) for j in range(len(X_test_t)): X_eval = X_test_t[j].reshape(len(X_test_t[j]), 1) Y_eval = Y_test_t[j].reshape(len(Y_test_t[j]), 1) y_predict, _ = red.L_model_forward(X_eval) predicts.append(y_predict.reshape(len(y_predict))) original.append(Y_eval.reshape(len(Y_eval))) stadistics(predicts, original) #4 red.structure = [7, 32, 32, 1] red.initialize_parameters() print("X", X.shape) print("Y", Y.shape) red.back_propagation3(X, Y, 50, X_val, Y_val, 0.05, 3) predicts = [] original = [] X_test_t = np.transpose(X_test) Y_test_t = np.transpose(Y_test) for j in range(len(X_test_t)): X_eval = X_test_t[j].reshape(len(X_test_t[j]), 1) Y_eval = Y_test_t[j].reshape(len(Y_test_t[j]), 1) y_predict, _ = red.L_model_forward(X_eval) predicts.append(y_predict.reshape(len(y_predict))) original.append(Y_eval.reshape(len(Y_eval))) stadistics(predicts, original) #5 red.structure = [7, 4, 4, 4, 1] red.initialize_parameters() print("X", X.shape) print("Y", Y.shape) red.back_propagation3(X, Y, 50, X_val, Y_val, 0.05, 3) predicts = [] original = [] X_test_t = np.transpose(X_test) Y_test_t = np.transpose(Y_test) for j in range(len(X_test_t)): X_eval = X_test_t[j].reshape(len(X_test_t[j]), 1) Y_eval = Y_test_t[j].reshape(len(Y_test_t[j]), 1) y_predict, _ = red.L_model_forward(X_eval) predicts.append(y_predict.reshape(len(y_predict))) original.append(Y_eval.reshape(len(Y_eval))) stadistics(predicts, original)