|
|
|
@ -60,7 +60,7 @@ print(data.shape)
|
|
|
|
(1000, 2)
|
|
|
|
(1000, 2)
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
### Создание и обучение автокодировщика AE1
|
|
|
|
### Создание и обучение автокодировщика AE1
|
|
|
|
```python
|
|
|
|
```python
|
|
|
|
@ -71,7 +71,7 @@ ae1_trained, IRE1, IREth1= lib.create_fit_save_ae(data,'out/AE1.h5','out/AE1_ire
|
|
|
|
lib.ire_plot('training', IRE1, IREth1, 'AE1')
|
|
|
|
lib.ire_plot('training', IRE1, IREth1, 'AE1')
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
### Создание и обучение автокодировщика AE2
|
|
|
|
### Создание и обучение автокодировщика AE2
|
|
|
|
```python
|
|
|
|
```python
|
|
|
|
@ -80,7 +80,7 @@ ae2_trained, IRE2, IREth2= lib.create_fit_save_ae(data,'out/AE2.h5','out/AE2_ire
|
|
|
|
lib.ire_plot('training', IRE2, IREth2, 'AE2')
|
|
|
|
lib.ire_plot('training', IRE2, IREth2, 'AE2')
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
### Расчет характеристик качества обучения автокодировщиков
|
|
|
|
### Расчет характеристик качества обучения автокодировщиков
|
|
|
|
```python
|
|
|
|
```python
|
|
|
|
@ -90,13 +90,13 @@ numb_square= 20
|
|
|
|
xx,yy,Z1=lib.square_calc(numb_square,data,ae1_trained,IREth1,'1',True)
|
|
|
|
xx,yy,Z1=lib.square_calc(numb_square,data,ae1_trained,IREth1,'1',True)
|
|
|
|
```
|
|
|
|
```
|
|
|
|
**Результат выполнения:**
|
|
|
|
**Результат выполнения:**
|
|
|
|

|
|
|
|

|
|
|
|
```
|
|
|
|
```
|
|
|
|
amount: 19
|
|
|
|
amount: 19
|
|
|
|
amount_ae: 284
|
|
|
|
amount_ae: 284
|
|
|
|
```
|
|
|
|
```
|
|
|
|

|
|
|
|

|
|
|
|

|
|
|
|

|
|
|
|
```
|
|
|
|
```
|
|
|
|
Оценка качества AE1
|
|
|
|
Оценка качества AE1
|
|
|
|
IDEAL = 0. Excess: 13.947368421052632
|
|
|
|
IDEAL = 0. Excess: 13.947368421052632
|
|
|
|
@ -113,13 +113,13 @@ numb_square= 20
|
|
|
|
xx,yy,Z2=lib.square_calc(numb_square,data,ae2_trained,IREth2,'2',True)
|
|
|
|
xx,yy,Z2=lib.square_calc(numb_square,data,ae2_trained,IREth2,'2',True)
|
|
|
|
```
|
|
|
|
```
|
|
|
|
**Результат выполнения:**
|
|
|
|
**Результат выполнения:**
|
|
|
|

|
|
|
|

|
|
|
|
```
|
|
|
|
```
|
|
|
|
amount: 19
|
|
|
|
amount: 19
|
|
|
|
amount_ae: 40
|
|
|
|
amount_ae: 40
|
|
|
|
```
|
|
|
|
```
|
|
|
|

|
|
|
|

|
|
|
|

|
|
|
|

|
|
|
|
```
|
|
|
|
```
|
|
|
|
Оценка качества AE2
|
|
|
|
Оценка качества AE2
|
|
|
|
IDEAL = 0. Excess: 1.105263157894737
|
|
|
|
IDEAL = 0. Excess: 1.105263157894737
|
|
|
|
@ -132,7 +132,7 @@ IDEAL = 1. Extrapolation precision (Approx): 0.475
|
|
|
|
#сравнение характеристик качестваобучения и областей аппроксимации
|
|
|
|
#сравнение характеристик качестваобучения и областей аппроксимации
|
|
|
|
lib.plot2in1(data,xx,yy,Z1,Z2)
|
|
|
|
lib.plot2in1(data,xx,yy,Z1,Z2)
|
|
|
|
```
|
|
|
|
```
|
|
|
|

|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
### Тестирование автокодировщиков
|
|
|
|
### Тестирование автокодировщиков
|
|
|
|
```python
|
|
|
|
```python
|
|
|
|
@ -142,28 +142,16 @@ data_test= np.loadtxt('data_test.txt', dtype=float)
|
|
|
|
#тестирование АE1
|
|
|
|
#тестирование АE1
|
|
|
|
predicted_labels1, ire1 = lib.predict_ae(ae1_trained, data_test, IREth1)
|
|
|
|
predicted_labels1, ire1 = lib.predict_ae(ae1_trained, data_test, IREth1)
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
#тестирование АE2
|
|
|
|
|
|
|
|
predicted_labels2, ire2 = lib.predict_ae(ae2_trained, data_test, IREth1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Блок 6: Применение автокодировщиков к тестовым данным
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
|
|
|
# Предсказания AE1
|
|
|
|
|
|
|
|
test_pred_ae1 = ae1.predict(test_points)
|
|
|
|
|
|
|
|
test_errors_ae1 = np.mean(np.square(test_points - test_pred_ae1), axis=1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Предсказания AE2
|
|
|
|
|
|
|
|
test_pred_ae2 = ae2.predict(test_points)
|
|
|
|
|
|
|
|
test_errors_ae2 = np.mean(np.square(test_points - test_pred_ae2), axis=1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#построение областей аппроксимации и точек тестового набора
|
|
|
|
#построение областей аппроксимации и точек тестового набора
|
|
|
|
lib.plot2in1_anomaly(data, xx, yy, Z1, Z2, data_test)
|
|
|
|
lib.plot2in1_anomaly(data, xx, yy, Z1, Z2, data_test)
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## ЗАДАНИЕ 2: Работа с реальными данными WBC
|
|
|
|
## ЗАДАНИЕ 2: Работа с реальными данными WBC
|
|
|
|
@ -230,7 +218,7 @@ i Labels IRE IREth
|
|
|
|
Обнаружено 16.0 аномалий
|
|
|
|
Обнаружено 16.0 аномалий
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
|