def mars(x_train, x_test, y_train, y_test, timestamp): # set model model = Earth(max_degree=1, penalty=1.0, endspan=5) # predict model = model.fit(x_train, y_train) y_pred = model.predict(x_test) # score # score=model.score(x_test,y_test) correlation_matrix = np.corrcoef(y_test, y_pred) correlation_xy = correlation_matrix[0, 1] score = correlation_xy**2 MSE, MAD, MAPE = outputReport.regression_basic_results(y_test, y_pred) fileName, result = outputReport.regression_extanded_results( timestamp, y_test, y_pred, "mars") try: model_summary = str(model.summary()) model_summary_final = model_summary.replace("\n", "<br>") result += "<br>Model Parameters:<br>" + str(model.get_params( )) + "<br>Model Summary:<br>" + model_summary_final except: result += "<br>Model Summary is not available for MARS" return score, fileName, MSE, MAD, MAPE, result
def mars_forecast(x_train, x_test, y_train, timestamp): # set model model = Earth(max_degree=1, penalty=1.0, endspan=5) # predict model = model.fit(x_train, y_train) y_pred = pd.DataFrame(model.predict(x_test), columns=["Forecasted Values"]) filename = outputReport.regression_extanded_results_forecast( timestamp, y_pred, "mars forecast") try: model_summary = str(model.summary()) model_summary_final = model_summary.replace("\n", "<br>") result = "<br>Model Parameters:<br>" + str(model.get_params( )) + "<br>Model Summary:<br>" + model_summary_final except: result = "Model Summary is not available for MARS" result += str( y_pred.to_html(formatters={'Name': lambda x: '<b>' + x + '</b>'})) return filename, result