print('Finish Synthetic Data Generation') #%% Performance Metrics # 1. Discriminative Score Acc = list() for tt in range(Sub_Iteration): Temp_Disc = discriminative_score_metrics(dataX, dataX_hat) Acc.append(Temp_Disc) Discriminative_Score.append(np.mean(Acc)) # 2. Predictive Performance MAE_All = list() for tt in range(Sub_Iteration): MAE_All.append(predictive_score_metrics(dataX, dataX_hat)) Predictive_Score.append(np.mean(MAE_All)) # Print Results print('Discriminative Score - Mean: ' + str(np.round(np.mean(Discriminative_Score), 4)) + ', Std: ' + str(np.round(np.std(Discriminative_Score), 4))) print('Predictive Score - Mean: ' + str(np.round(np.mean(Predictive_Score), 4)) + ', Std: ' + str(np.round(np.std(Predictive_Score), 4))) #%% 3. Visualization PCA_Analysis(dataX, dataX_hat, 'original_pca.png') tSNE_Analysis(dataX, dataX_hat, 'original_tsne.png')
Discriminative_Score.append(np.mean(Acc)) print('generated discriminative score') # 2. Predictive Performance MAE_All = list() for tt in range(Sub_Iteration): MAE_All.append(predictive_score_metrics (dataX, dataX_hat)) Predictive_Score.append(np.mean(MAE_All)) print('generated predictive score') pyplot.scatter(np.linspace(1,24,24),dataX_hat[1][:,2], color='red') pyplot.scatter(np.linspace(1,24,24),dataX[1][:,2], color='blue') #%% 3. Visualization PCA_Analysis (dataX, dataX_hat) tSNE_Analysis (dataX, dataX_hat) # Print Results print('Discriminative Score - Mean: ' + str(np.round(np.mean(Discriminative_Score),4)) + ', Std: ' + str(np.round(np.std(Discriminative_Score),4))) print('Predictive Score - Mean: ' + str(np.round(np.mean(Predictive_Score),4)) + ', Std: ' + str(np.round(np.std(Predictive_Score),4))) f = open('/home/awasthi/shrutarv/timegan/score.txt','w') f.write('Discriminative Score - Mean: ' + str(np.round(np.mean(Discriminative_Score),4)) + ', Std: ' + str(np.round(np.std(Discriminative_Score),4)) + '\n' + 'Predictive Score - Mean: ' + str(np.round(np.mean(Predictive_Score),4)) + ', Std: ' + str(np.round(np.std(Predictive_Score),4))) f.close() data_unshuffle = unshuffle_data(dataX_hat,idx) data_reorder = reorder_data(data_unshuffle) data_denormal = denormalize(data_reorder, min, max) data_to_excel(data_denormal) print('Data Saved')
Acc.append(Temp_Disc) Discriminative_Score.append(np.mean(Acc)) # 2. Predictive Performance MAE_All = list() for tt in range(Sub_Iteration): MAE_All.append(predictive_score_metrics (dataXNorm, dataX_hatNorm)) Predictive_Score.append(np.mean(MAE_All)) print('Finish TGAN iterations') #%% 3. Visualization PCA_Analysis (dataXNorm, dataX_hatNorm) tSNE_Analysis (dataXNorm, dataX_hatNorm) # Print Results print('Discriminative Score - Mean: ' + str(np.round(np.mean(Discriminative_Score),4)) + ', Std: ' + str(np.round(np.std(Discriminative_Score),4))) print('Predictive Score - Mean: ' + str(np.round(np.mean(Predictive_Score),4)) + ', Std: ' + str(np.round(np.std(Predictive_Score),4))) #Rounding off the device ids and their values dataX_hat[:,:,1:] = np.round(dataX_hat[:,:,1:]) #Combining all samples allSamples = [dataX_hat[i,j,:] for i in range(dataX_hat.shape[0]) for j in range(dataX_hat.shape[1])] allSamples = np.array(allSamples) #For sorting allSamples on the basis of time
MAE_All = list() for tt in range(Sub_Iteration): MAE_All.append(predictive_score_metrics(dataX, dataX_hat)) Predictive_Score.append(np.mean(MAE_All)) print("Finished Computing Performance Metrics") print('Finish TGAN iterations') #%% # tSNE AND PCA tSNE_Analysis( dataX, dataX_hat, os.path.join("hyperparameter_tests/lstm_sl_24", data_name + "_tSNE.png")) PCA_Analysis( dataX, dataX_hat, os.path.join("hyperparameter_tests/lstm_sl_24", data_name + "_PCA.png")) print("Finished tSNE and PCA analysis") #%% # invert scaling dataX_hat = reverse_soro_data_loading(dataX_hat, seq_length) dataX_hat = scaler.inverse_transform(dataX_hat) dataX = reverse_soro_data_loading(dataX, seq_length) dataX = scaler.inverse_transform(dataX) print("Finished Data Inversion") #%% # Save outputs np.save(os.path.join("hyperparameter_tests/lstm_sl_24", "soro_synthetic_data"),
def PCA(self, output_file='PCA.png'): PCA_Analysis(self.dataX, self.dataX_hat, output_file)
print('Finish Synthetic Data Generation') #%% Performance Metrics # 1. Discriminative Score Acc = list() for tt in range(Sub_Iteration): Temp_Disc = discriminative_score_metrics (dataX, dataX_hat) Acc.append(Temp_Disc) Discriminative_Score.append(np.mean(Acc)) # 2. Predictive Performance MAE_All = list() for tt in range(Sub_Iteration): MAE_All.append(predictive_score_metrics (dataX, dataX_hat)) Predictive_Score.append(np.mean(MAE_All)) with open(parameters['output_dir'] + "generated.pck", "wb") as gen: pickle.dump(dataX_hat, gen) #%% 3. Visualization # Print Results print('Discriminative Score - Mean: ' + str(np.round(np.mean(Discriminative_Score),4)) + ', Std: ' + str(np.round(np.std(Discriminative_Score),4))) print('Predictive Score - Mean: ' + str(np.round(np.mean(Predictive_Score),4)) + ', Std: ' + str(np.round(np.std(Predictive_Score),4))) PCA_Analysis (dataX, dataX_hat,parameters) tSNE_Analysis (dataX, dataX_hat,parameters)