self._input_data = self._input_data.dropna(axis='columns') else: self._input_data = self._input_data.apply(lambda x: (x - x.mean()) / x.std()) # ================================================================================================ def _assign_dummy(self, x): x[x[0] + 1:] = 1000 return x # ================================================================================================ def report_card(self): pass # ================================================================================================ # ================================================================================================ if __name__ == '__main__': from Input import cMAPSS as ci ci.get_data(2) pp1 = cMAPSS() pp1.preprocess(ci.Train_input) # pp1.preprocess(ci.Test_input, False)
# -*- coding: utf-8 -*- """ Created on Wed Oct 23 12:46:15 2019 @author: Tejas """ import Testing as test import Config from Preprocess import cMAPSS as C from Input import cMAPSS as i model = test.read_model('../KerasModels/17_Nov_19__03_08_4826_6100') print(model.summary()) #i.set_datapath('C:/Users/Tejas/Desktop/Tejas/engine-dataset/') i.get_data(1) c = C(**Config.prepros_params) c.preprocess(i.Test_input, isTrain=False) test.cMAPSS.get_score(model, c.test_in, i.RUL_input)
def cMAPPS(experiment_name, prepros_params, train_params, dataset_no, tracking=True, path=None): from Input import cMAPSS as ci from Preprocess import cMAPSS as CP from Testing import cMAPSS as ct import Training as tr if tracking == True: mlflow.set_tracking_uri('sqlite:///mlflow.db') mlflow.set_experiment(experiment_name) with mlflow.start_run(): if path is not None: ci.set_datapath(path) if dataset_no in range(1, 5): ci.get_data(dataset_no) mlflow.log_param("DataSet Number", dataset_no) else: raise Exception('Please choose a number between 1 and 4') cp = CP(**prepros_params) cp.preprocess(ci.Train_input) run_id = mlflow.active_run().info.run_id tmpdir = tempfile.TemporaryDirectory() rnn_ff = tr.RNN_to_FF(cp.features, **train_params, model_dir=tmpdir.name, run_id=run_id) rnn_ff.create_model(cp.no_splits) rnn_ff.train_model(cp.splits_in, cp.splits_out, cp.no_splits) mlflow.log_param('Features', cp.features) mlflow.log_params(prepros_params) mlflow.log_params(train_params) mlflow.log_params({ 'MSE_Train': rnn_ff.loss.tolist, 'MSE_Validation': rnn_ff.val_loss.tolist, 'Delta_MSE': rnn_ff.del_loss.tolist }) mlflow.log_artifacts(tmpdir.name) tmpdir.cleanup() # Tags mlflow.set_tags({ 'RMSE_Train': (rnn_ff.loss**0.5).tolist, 'RMSE_Validation': (rnn_ff.val_loss**0.5).tolist }) cp.preprocess(ci.Test_input, isTrain=False) ct.get_score(rnn_ff.model, cp.test_in, ci.RUL_input) mlflow.log_params({ 'Score': ct.score.tolist, 'Test_MSE': ct.mse.tolist, 'Combined Score': ct.cm_score, 'Combined MSE': ct.cm_mse }) mlflow.set_tags({ 'Test RMSE': (ct.mse**0.5).tolist, 'Combined RMSE': ct.cm_mse**0.5 }) else: if path is not None: ci.set_datapath(path) if dataset_no in range(1, 5): ci.get_data(dataset_no) else: raise Exception('Please choose a number between 1 and 4') cp = CP(**prepros_params) cp.preprocess(ci.Train_input) rnn_ff = tr.RNN_to_FF(cp.features, **train_params) rnn_ff.create_model(cp.no_splits) rnn_ff.train_model(cp.splits_in, cp.splits_out, cp.no_splits) cp.preprocess(ci.Test_input, isTrain=False) ct.get_score(rnn_ff.models, cp.test_in, ci.RUL_input) return ci, cp, rnn_ff, ct clear_session()
# -*- coding: utf-8 -*- """ Created on Sat Oct 19 01:29:45 2019 @author: tejas """ from Input import cMAPSS as ci from Preprocess import cMAPSS as CP import os import numpy as np ci.get_data(1) cp = CP() cp.train_preprocess(ci.Train_input) a = cp.train_in train_id = np.arange(200) np.random.shuffle(train_id) tv_s = int(np.ceil(0.4 * 200)) val_id = train_id[:tv_s] train_id = train_id[tv_s:] tin_npy = './np_cache/tin_data.npy' tout_npy = './np_cache/tout_data.npy' if os.path.isfile(tin_npy): os.remove(tin_npy)