ответвлено от main/is_dnn
r
Этот коммит содержится в:
@@ -20,25 +20,31 @@ import lab02_lib as lib
|
||||
```py
|
||||
data = lib.datagen(8, 8, 1000, 2)
|
||||
```
|
||||

|
||||
|
||||
**3)Создать и обучить автокодировщик AE1 простой архитектуры, выбрав небольшое количество эпох обучения.**
|
||||
```py
|
||||
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
|
||||
@@ -63,18 +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)
|
||||
@@ -89,11 +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 Результаты задания**
|
||||
|
||||
Ссылка в новой задаче
Block a user