diff --git a/run_all_regressions.py b/run_all_regressions.py index ceed036..4544cc6 100644 --- a/run_all_regressions.py +++ b/run_all_regressions.py @@ -48,9 +48,14 @@ def standard_lr(x, y): def poly_regression(x, y, degree): + + # Reshapes the models to be able to run regression on them + x = x.reshape(-1, 1) + y = y.reshape(-1, 1) + # Polynomial regression with nth degree, gives back rmse and r2 polynomial_features = PolynomialFeatures(degree=degree) - x_poly = polynomial_features.fist_transform(x) + x_poly = polynomial_features.fit_transform(x) model = linear_model.LinearRegression() model.fit(x_poly, y) @@ -61,42 +66,25 @@ def poly_regression(x, y, degree): return rmse, r2 -def run_all_linears(): - - # Reads in the neccessary csv file - df = pd.read_csv('data_preparation/cleaned/time_series_normalized_wellness_menstruation.csv') - regr = linear_model.LinearRegression() - for i in range(4, 11): - for j in range(1, 11 - i): - mat = df[[df.columns[i], df.columns[i + j]]].values - regr.intercept_, regr.coef_, r2, mse = standard_lr(mat[:, 0], mat[:, 1]) - plt.figure(figsize=(6, 6)) - plt.xlabel(df.columns[i]) - plt.ylabel(df.columns[i + j]) - plt.title('r2: ' + str(r2)) - plt.scatter(mat[:, 0], mat[:, 1]) - plt.savefig('wellness_linear_regressions/' + df.columns[i] + '_vs_' + df.columns[i + j] + '.png') - plt.close() - - def run_all_polynomials(): # Reads in the neccessary csv file - df = pd.read_csv('data_preparation/cleaned/time_series_normalized_wellness_menstruation.csv') + df = pd.read_csv('data_preparation/cleaned/personal.csv') regr = linear_model.LinearRegression() - for i in range(4, 11): - for j in range(1, 11 - i): + print("xVal, yVal, degree, r2, rmse") + for i in range(3, 14): + for j in range(1, 14 - i): mat = df[[df.columns[i], df.columns[i + j]]].values - for d in range(2, 5): + for d in range(1, 6): rmse, r2 = poly_regression(mat[:, 0], mat[:, 1], d) plt.figure(figsize=(6, 6)) plt.xlabel(df.columns[i]) plt.ylabel(df.columns[i + j]) plt.title('r2: ' + str(r2) + 'degree: ' + str(d)) plt.scatter(mat[:, 0], mat[:, 1]) - plt.savefig('wellness_poly_regressions/' + df.columns[i] + '_vs_' + df.columns[i + j] + '_' + str(d) + '_degree.png') - print(df.columns[i] + '_vs_' + df.columns[i + j] + '_degree_' + str(d) + '_r2=' + str(r2) + '_rmse=' + str(rmse)) + plt.savefig('personal_regression_info/' + df.columns[i] + '_vs_' + df.columns[i + j] + '_' + str(d) + '_degree.png') + print(df.columns[i] + ', ' + df.columns[i + j] + ', ' + str(d) + ', ' + str(r2) + ', ' + str(rmse)) plt.close() -run_all_linears() +# run_all_linears() run_all_polynomials()