def test_replace_nan(x): x_clean = assessment.replace_nan(x) assert isinstance(x_clean, type(x)) try: assert np.nan not in x_clean except: assert not np.isnan(x_clean)
def measure(individual): func = numpy_phenotype(individual) data = load_boston() yhat = func(*data.data.T) if np.isscalar(yhat): yhat = np.ones_like(data.target) * yhat fit = nrmse(data.target, yhat), len(individual) return replace_nan(fit)
def rmse(self, individual, *f_args): y = self.trajectory(individual, *f_args) # 2/NT * ∫y0^2 dt from 0 to N*T. ampl_ = np.sqrt(scipy.trapz(y[0, :]**2, x=self.x) * 2.0 / self.NT) # 2/NTA^2 * ∫y1^2 dt from 0 to N*T. omega_ = np.sqrt( scipy.trapz(y[1, :]**2, x=self.x) * 2.0 / (self.NT * ampl_**2)) rmse_ampl = utils.numeric.rmse(self.ampl, ampl_) rmse_omega = utils.numeric.rmse(self.omega, omega_) # Alternative measure. # rmse_ampl = utils.numeric.rmse(self.ampl * np.sin(self.omega * self.x), y[0, :]) # rmse_omega = utils.numeric.rmse(self.ampl * self.omega * np.cos(self.omega * self.x), y[1, :]) return assessment.replace_nan((rmse_ampl, rmse_omega))
def rmse(self, individual, *f_args): y = self.trajectory(individual, *f_args) rmse_y_0 = utils.numeric.rmse(self.target, y[0, :]) rmse_y_1 = utils.numeric.rmse(self.target, y[1, :]) rmse_y_2 = utils.numeric.rmse(self.target, y[2, :]) return assessment.replace_nan((rmse_y_0, rmse_y_1, rmse_y_2))
def measure(self, individual): y = self.trajectory(individual) rmse_y_0 = utils.numeric.rmse(self.target, y[0, :]) return assessment.replace_nan((rmse_y_0, len(individual)))