diff --git a/Class_Mod/PLSR_.py b/Class_Mod/PLSR_.py index 355b95ae09b5ffb655a0a779424518682f4c69b7..7050ae48ede52acefbfc176141d22e6342bcd53a 100644 --- a/Class_Mod/PLSR_.py +++ b/Class_Mod/PLSR_.py @@ -39,7 +39,6 @@ class PinardPlsr: self.yt = pd.DataFrame(self.trained.predict(self.x_test)) # make predictions on test data and assign to Y_preds variable ################################################################################################################ - ################################################################################################################ @@ -52,10 +51,13 @@ class PinardPlsr: def metrics_(self): metc = metrics(self.y_train, self.yc) metc = metc.evaluate_ + metcv = metrics(self.y_train, self.ycv) metcv = metcv.evaluate_ + mett = metrics( self.y_test, self.yt) mett = mett.evaluate_ + met = pd.concat([metc, metcv, mett], axis = 0) met.index = ['calib','cv','test'] return met diff --git a/Class_Mod/Regression_metrics.py b/Class_Mod/Regression_metrics.py index 620041c6f12fd154d31567e3e8259811715dfe31..9e6194a307a27a780f239dced9eda8b992534297 100644 --- a/Class_Mod/Regression_metrics.py +++ b/Class_Mod/Regression_metrics.py @@ -7,14 +7,17 @@ class metrics: self.meas = meas.to_numpy() else : self.meas = meas.ravel() - - self.pred = pred.to_numpy().ravel() + + if isinstance(pred, pd.DataFrame): + self.pred = pred.to_numpy().ravel() + else : + self.pred = pred.ravel() @property def evaluate_(self): xbar = np.mean(self.meas) # the average of measured values e2 = (self.meas - self.pred)**2 # the squared error - print(xbar) + # Sum of squared: # TOTAL sst = np.sum((self.meas-xbar)**2) @@ -28,7 +31,7 @@ class metrics: # Compute statistical metrics metr = pd.DataFrame() metr['r'] = [np.corrcoef(self.meas.ravel(), self.pred)[0,1]] - metr['r2'] = [1-ssr/sst] + metr['r2'] = [ssm/sst] metr['rmse'] = [np.sqrt(np.mean(e2))] metr['mae'] = [np.mean(np.abs(e2))] metr['rpd'] = [np.std(self.meas)/np.sqrt(np.mean(e2))]