def test_fitting(self, opt_params=None, stops=None, mini_batch=30): logger.info("Testeando backpropagation en NeuralNetwork...") x = self.valid[0].features y = [self.valid[0].label] self._test_backprop(x, y) hits_valid = self._fit(opt_params=opt_params, stops=stops, mini_batch=mini_batch) logger.info("Asegurando salidas correctas...") assert hits_valid > 0.7 hits_test, pred_test = self.model.evaluate(self.test, predictions=True, measure='R2') assert hits_test > 0.7 logger.info("OK") logger.info("Testeando funciones de prediccion...") predicts = self.model.predict(self.test.collect()) assert np.array_equiv(pred_test, predicts) # Test plot of fitting logger.info("Testeando plots de fitting...") plot_fitting(self.model, show=False) logger.info("OK") return
def test_fitting(self, opt_params=None, stops=None, mini_batch=30, parallelism=1): hits_valid_pretrain = self._fit(opt_params=opt_params, stops=stops, mini_batch=mini_batch, parallelism=parallelism) hits_test_pretrain = self.model.evaluate(self.test, predictions=False, measure='F-measure') hits_valid_finetune = self._finetune(opt_params=opt_params, stops=stops, mini_batch=mini_batch, parallelism=parallelism) hits_test_finetune = self.model.evaluate(self.test, predictions=False, measure='F-measure') logger.info("Asegurando salidas correctas...") assert hits_valid_pretrain > 0.6 assert hits_valid_finetune > 0.8 assert hits_test_pretrain > 0.6 assert hits_test_finetune > 0.8 logger.info("OK") # Test plot of fitting logger.info("Testeando plots de fitting...") plot_fitting(self.model, show=False) logger.info("OK") return
hits_valid = neural_net.fit(train, valid, valid_iters=1, mini_batch=20, parallelism=0, stops=global_stops, optimizer_params=optimizer_params, measure='R2', keep_best=True, reproducible=False) hits_test, predict = neural_net.evaluate(test, predictions=True) logger.info("Hits en test: %12.11f", hits_test) # --4) Evaluacion de desempeño logger.info("Metricas de evaluación en clasificacion: ") labels = map(lambda lp: float(lp.label), test.collect()) metrics = RegressionMetrics(zip(predict, labels)) print "MSE: ", metrics.mse() print "RMSE: ", metrics.rmse() print "MAE: ", metrics.mae() print "RMAE: ", metrics.rmae() print "R-cuadrado: ", metrics.r2() print "Explained Variance: ", metrics.explained_variance() print zip(predict, labels)[:10] # --5) Ploteos plot_fitting(neural_net)
logger.info("Configuracion usada: %s", os.linesep+str(net_params)) # -- 3) Construcción y ajuste de red neuronal neural_net = NeuralNetwork(net_params) logger.info("Entrenando red neuronal ...") hits_valid = neural_net.fit(train, valid, valid_iters=1, mini_batch=20, parallelism=0, stops=global_stops, optimizer_params=optimizer_params, measure='R2', keep_best=True, reproducible=False) hits_test, predict = neural_net.evaluate(test, predictions=True) logger.info("Hits en test: %12.11f", hits_test) # --4) Evaluacion de desempeño logger.info("Metricas de evaluación en clasificacion: ") labels = map(lambda lp: float(lp.label), test.collect()) metrics = RegressionMetrics(zip(predict, labels)) print "MSE: ", metrics.mse() print "RMSE: ", metrics.rmse() print "MAE: ", metrics.mae() print "RMAE: ", metrics.rmae() print "R-cuadrado: ", metrics.r2() print "Explained Variance: ", metrics.explained_variance() print zip(predict, labels)[:10] # --5) Ploteos plot_fitting(neural_net)