|  |  |  | @ -18,7 +18,7 @@ from matplotlib import pyplot | 
			
		
	
		
			
				
					|  |  |  |  | from pandas import DataFrame | 
			
		
	
		
			
				
					|  |  |  |  | import numpy as np | 
			
		
	
		
			
				
					|  |  |  |  | import matplotlib.pylab as plt | 
			
		
	
		
			
				
					|  |  |  |  | #import aes_lib as aes | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import tensorflow.keras | 
			
		
	
		
			
				
					|  |  |  |  | import numpy as np | 
			
		
	
		
			
				
					|  |  |  |  | import math | 
			
		
	
	
		
			
				
					|  |  |  | @ -29,9 +29,7 @@ from pandas import DataFrame | 
			
		
	
		
			
				
					|  |  |  |  | from sklearn.metrics import precision_score, recall_score, f1_score, confusion_matrix | 
			
		
	
		
			
				
					|  |  |  |  | from tensorflow.keras.models import Sequential | 
			
		
	
		
			
				
					|  |  |  |  | from tensorflow.keras.layers import Dense, Activation | 
			
		
	
		
			
				
					|  |  |  |  | #from tensorflow.keras.utils import to_categorical | 
			
		
	
		
			
				
					|  |  |  |  | #from sklearn.metrics import zero_one_loss | 
			
		
	
		
			
				
					|  |  |  |  | #from sklearn.metrics import confusion_matrix | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | visual = True | 
			
		
	
	
		
			
				
					|  |  |  | @ -104,35 +102,39 @@ def create_fit_save_ae(cl_train, ae_file, irefile, epohs, verbose_show, patience | 
			
		
	
		
			
				
					|  |  |  |  |         # Ниже строки читать входные данные пользователя с помощью функции map () | 
			
		
	
		
			
				
					|  |  |  |  |         ae_arch = list(map(int, input("Задайте архитектуру скрытых слоёв автокодировщика, например, в виде 3 1 3 : ").strip().split()))[:n] | 
			
		
	
		
			
				
					|  |  |  |  |         ae = tensorflow.keras.models.Sequential() | 
			
		
	
		
			
				
					|  |  |  |  |          | 
			
		
	
		
			
				
					|  |  |  |  |         # input layer | 
			
		
	
		
			
				
					|  |  |  |  |         ae.add(tensorflow.keras.layers.Dense(size)) | 
			
		
	
		
			
				
					|  |  |  |  |         ae.add(tensorflow.keras.layers.Activation('tanh')) | 
			
		
	
		
			
				
					|  |  |  |  |          | 
			
		
	
		
			
				
					|  |  |  |  |         # hidden layers | 
			
		
	
		
			
				
					|  |  |  |  |         for i in range(len(ae_arch)): | 
			
		
	
		
			
				
					|  |  |  |  |             ae.add(tensorflow.keras.layers.Dense(ae_arch[i])) | 
			
		
	
		
			
				
					|  |  |  |  |             ae.add(tensorflow.keras.layers.Activation('tanh')) | 
			
		
	
		
			
				
					|  |  |  |  |          | 
			
		
	
		
			
				
					|  |  |  |  |         # output layer | 
			
		
	
		
			
				
					|  |  |  |  |         ae.add(tensorflow.keras.layers.Dense(size)) | 
			
		
	
		
			
				
					|  |  |  |  |         ae.add(tensorflow.keras.layers.Activation('linear')) | 
			
		
	
		
			
				
					|  |  |  |  |     else: | 
			
		
	
		
			
				
					|  |  |  |  |         ae = tensorflow.keras.models.Sequential() | 
			
		
	
		
			
				
					|  |  |  |  |          | 
			
		
	
		
			
				
					|  |  |  |  |         # input layer | 
			
		
	
		
			
				
					|  |  |  |  |         ae.add(tensorflow.keras.layers.Dense(size)) | 
			
		
	
		
			
				
					|  |  |  |  |         ae.add(tensorflow.keras.layers.Activation('tanh')) | 
			
		
	
		
			
				
					|  |  |  |  |          | 
			
		
	
		
			
				
					|  |  |  |  |         # hidden layers | 
			
		
	
		
			
				
					|  |  |  |  |         ae.add(tensorflow.keras.layers.Dense(3)) | 
			
		
	
		
			
				
					|  |  |  |  |         ae.add(tensorflow.keras.layers.Activation('tanh')) | 
			
		
	
		
			
				
					|  |  |  |  |         #ae.add(tensorflow.keras.layers.Dense(4)) | 
			
		
	
		
			
				
					|  |  |  |  |         #ae.add(tensorflow.keras.layers.Activation('tanh')) | 
			
		
	
		
			
				
					|  |  |  |  |         #ae.add(tensorflow.keras.layers.Dense(5)) | 
			
		
	
		
			
				
					|  |  |  |  |         #ae.add(tensorflow.keras.layers.Activation('tanh')) | 
			
		
	
		
			
				
					|  |  |  |  |         ae.add(tensorflow.keras.layers.Dense(2)) | 
			
		
	
		
			
				
					|  |  |  |  |         ae.add(tensorflow.keras.layers.Activation('tanh')) | 
			
		
	
		
			
				
					|  |  |  |  |         ae.add(tensorflow.keras.layers.Dense(1)) | 
			
		
	
		
			
				
					|  |  |  |  |         ae.add(tensorflow.keras.layers.Activation('tanh')) | 
			
		
	
		
			
				
					|  |  |  |  |         ae.add(tensorflow.keras.layers.Dense(2)) | 
			
		
	
		
			
				
					|  |  |  |  |         ae.add(tensorflow.keras.layers.Activation('tanh')) | 
			
		
	
		
			
				
					|  |  |  |  |         #ae.add(tensorflow.keras.layers.Dense(5)) | 
			
		
	
		
			
				
					|  |  |  |  |         #ae.add(tensorflow.keras.layers.Activation('tanh')) | 
			
		
	
		
			
				
					|  |  |  |  |         #ae.add(tensorflow.keras.layers.Dense(4)) | 
			
		
	
		
			
				
					|  |  |  |  |         #ae.add(tensorflow.keras.layers.Activation('tanh')) | 
			
		
	
		
			
				
					|  |  |  |  |         ae.add(tensorflow.keras.layers.Dense(3)) | 
			
		
	
		
			
				
					|  |  |  |  |         ae.add(tensorflow.keras.layers.Activation('tanh')) | 
			
		
	
		
			
				
					|  |  |  |  |          | 
			
		
	
		
			
				
					|  |  |  |  |         # output layer | 
			
		
	
		
			
				
					|  |  |  |  |         ae.add(tensorflow.keras.layers.Dense(size)) | 
			
		
	
		
			
				
					|  |  |  |  |         ae.add(tensorflow.keras.layers.Activation('linear')) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -176,11 +178,7 @@ def test(y_pred, Y_test): | 
			
		
	
		
			
				
					|  |  |  |  | def predict_ae(nn, x_test, threshold): | 
			
		
	
		
			
				
					|  |  |  |  |     x_test_predicted = nn.predict(x_test) | 
			
		
	
		
			
				
					|  |  |  |  |     ire = ire_array(x_test, x_test_predicted) | 
			
		
	
		
			
				
					|  |  |  |  |     # Расчет ошибки при нормализации: иначе закоментировать и раскоментировать 81 и 82 | 
			
		
	
		
			
				
					|  |  |  |  |     #x_test_norm = norm_array(x_test, 0) | 
			
		
	
		
			
				
					|  |  |  |  |     #x_test_predicted_norm = nn.predict(x_test_norm) | 
			
		
	
		
			
				
					|  |  |  |  |     #x_test_predicted = norm_array(x_test_predicted_norm, 1) | 
			
		
	
		
			
				
					|  |  |  |  |     #ire = ire_array(x_test, x_test_predicted) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     predicted_labels = (ire > threshold).astype(float) | 
			
		
	
		
			
				
					|  |  |  |  |     predicted_labels = predicted_labels.reshape((predicted_labels.shape[0], 1)) | 
			
		
	
		
			
				
					|  |  |  |  |     ire = np.transpose(np.array([ire])) | 
			
		
	
	
		
			
				
					|  |  |  | 
 |