file_name = "DataSets/LinearRegression/ex1data1.txt" data = pd.read_csv(file_name, names=['X', 'Y']) #normalize Data scalerX = StandardScaler().fit(data[['X']]) data['X'] = scalerX.transform(data[['X']]) scalerY = StandardScaler().fit(data[['Y']]) data['Y'] = scalerY.transform(data[['Y']]) train, test = train_test_split(data, test_size=0.3) X_train = train['X'] Y_train = train['Y'] X_test = test['X'] Y_test = test['Y'] model = LinearRegression.GradientDescent(maxIterations=10000, alpha=0.1) model.fit(one_dim_array_reshape(X_train.values), one_dim_array_reshape(Y_train.values)) # Plot regressão linear predictions = [ model.predict(x) for x in np.insert(one_dim_array_reshape(X_test.values), 0, 1, axis=1) ] X_test = scalerX.inverse_transform(X_test) Y_test = scalerY.inverse_transform(Y_test) predictions = scalerY.inverse_transform(predictions) plt.plot(X_test, Y_test, 'o', X_test, predictions) plt.title('Regressão Linear (Gradiente Descendente)') plt.xlabel('X') plt.ylabel('Y')
list_word, wordtext, allwords = pr.TextProcess(Training_data, 60) with open("words.text", 'w') as txtfile: for i in range(len(wordtext)): txtfile.write(wordtext[i][0] + " " + str(wordtext[i][1]) + "\n") x_train, y_train = pr.DatasetConstruct(Training_data, list_word, 68) x_val, y_val = pr.DatasetConstruct(Validation_data, list_word, 68) x_test, y_test = pr.DatasetConstruct(Test_data, list_word, 68) ######################################### ##Task 2: Linear Regression Forms## ##Gradient Descent t = time() net_g, error_t = lin.GradientDescent(x_train, y_train, eps=0.00001, eta=0.00000001, beta=0.000001) run = time() - t print("Runtime: {}".format(run)) y_predtr = np.matmul(x_train, net_g) y_predv = np.matmul(x_val, net_g) y_predte = np.matmul(x_test, net_g) acc_t = lin.mse(y_train, y_predtr) acc_v = lin.mse(y_val, y_predv) acc_te = lin.mse(y_test, y_predte) print("Training MSE of gradient descent is: {}".format(acc_t)) print("Validation MSE of gradient descent is: {}".format(acc_v)) print("Test MSE of gradient descent is: {}".format(acc_te))