@ -27,24 +27,24 @@ data = lib.datagen(8, 8, 1000, 2)
patience= 300
ae1_trained, IRE1, IREth1= lib.create_fit_save_ae(data,'out/AE1.h5','out/AE1_ire_th.txt', 1000, True, patience)
```


**4)Зафиксировать ошибку MSE, на которой обучение завершилось. Построить график ошибки реконструкции обучающей выборки. Зафиксировать порог ошибки реконструкции –порог обнаружения аномалий.**
```py
lib.ire_plot('training', IRE1, IREth1, 'AE1')
```




**5)Создать и обучить второй автокодировщик AE2 с усложненной архитектурой, задав большее количество эпох обучения.**
```py
ae2_trained, IRE2, IREth2 = lib.create_fit_save_ae(data,'out/AE2.h5','out/AE2_ire_th.txt', 3000, True, patience)
```


**6)Зафиксировать ошибку MSE, на которой обучение завершилось. Построить график ошибки реконструкции обучающей выборки. Зафиксировать второй порог ошибки реконструкции –порог обнаружения аномалий.**
```py
lib.ire_plot('training', IRE2, IREth2, 'AE2')
```




**7)Рассчитать характеристики качества обучения EDCA для AE1 и AE2. Визуализировать и сравнить области пространства признаков, распознаваемые автокодировщиками AE1 и AE2. Сделать вывод о пригодности AE1 и AE2 для качественного обнаружения аномалий.**
```py
numb_square= 20
@ -69,25 +69,25 @@ IDEAL = 1. Extrapolation precision (Approx): 0.23170731707317074
lib.plot2in1(data,xx,yy,Z1,Z2)
```














**9)Изучить сохраненный набор данных и пространство признаков. Создать тестовую выборку, состоящую, как минимум, из 4ёх элементов, не входящих в обучающую выборку. Элементы должны быть такими, чтобы AE1 распознавал их как норму, а AE2 детектировал как аномалии.**
```py
data_test= np.loadtxt('data_test.txt', dtype=float)
```


**10)Применить обученные автокодировщики AE1 и AE2 к тестовым данными вывести значения ошибки реконструкции для каждого элемента тестовой выборки относительно порога на график и в консоль.**
```py
predicted_labels1, ire1 = lib.predict_ae(ae1_trained, data_test, IREth1)
lib.anomaly_detection_ae(predicted_labels1, ire1, IREth1)
lib.ire_plot('test', ire1, IREth1, 'AE1')
```


```py
predicted_labels2, ire2 = lib.predict_ae(ae2_trained, data_test, IREth2)
lib.anomaly_detection_ae(predicted_labels2, ire2, IREth2)
@ -102,13 +102,13 @@ i Labels IRE IREth
4 [1.] [4.99] 0.47
Обнаружено 5.0 аномалий
```


**11)Визуализировать элементы обучающей и тестовой выборки в областях пространства признаков, распознаваемых автокодировщиками AE1 и AE2.**
```py
lib.plot2in1_anomaly(data, xx, yy, Z1, Z2, data_test)
```


**12)Результаты исследования занести в таблицу:**
**Табл. 1 Результаты задания**