Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

16 KiB

import os
os.chdir('/content/drive/MyDrive/Colab Notebooks/lab2')
# скачивание библиотеки
!wget -N http://uit.mpei.ru/git/main/is_dnn/raw/branch/main/labworks/LW2/lab02_lib.py
# скачивание выборок
!wget -N http://uit.mpei.ru/git/main/is_dnn/raw/branch/main/labworks/LW2/data/letter_train.txt
!wget -N http://uit.mpei.ru/git/main/is_dnn/raw/branch/main/labworks/LW2/data/letter_test.txt
#импортмодулей
import numpy as np
import lab02_lib as lib
os.getcwd()
#генерациядатасета
data=lib.datagen(5,5,1000,2)
#вывод данных и размерности
print('Исходные данные:')
print(data)
print('Размерность данных:')
print(data.shape)
# обучение AE1
patience= 300
ae1_trained, IRE1, IREth1= lib.create_fit_save_ae(data,'out/AE1.h5','out/AE1_ire_th.txt', 1000, False, patience)
#Построение графика ошибки реконструкции
lib.ire_plot('training', IRE1, IREth1, 'AE1')
# обучение AE2
ae2_trained, IRE2, IREth2= lib.create_fit_save_ae(data,'out/AE2.h5','out/AE2_ire_th.txt', 3000, False, patience)
lib.ire_plot('training', IRE2, IREth2, 'AE2')
#построение областей покрытия и границ классов
#расчет характеристик качестваобучения
numb_square= 20
xx,yy,Z1=lib.square_calc(numb_square,data,ae1_trained,IREth1,'1',True)
xx,yy,Z2=lib.square_calc(numb_square,data,ae2_trained,IREth2,'2',True)
#сравнение характеристик качества обучения и областей аппроксимации
lib.plot2in1(data,xx,yy,Z1,Z2)
#загрузка тестового набора
data_test= np.loadtxt('data_test.txt', dtype=float)
#тестирование АE1
predicted_labels1, ire1 = lib.predict_ae(ae1_trained, data_test, IREth1)
#тестирование АE1
lib.anomaly_detection_ae(predicted_labels1, ire1, IREth1)
lib.ire_plot('test', ire1, IREth1, 'AE1')
#тестирование АE2
predicted_labels2, ire2 = lib.predict_ae(ae2_trained, data_test, IREth2)
#тестирование АE2
lib.anomaly_detection_ae(predicted_labels2, ire2, IREth2)
lib.ire_plot('test', ire2, IREth2, 'AE2')
#построение областей аппроксимации и точек тестового набора
lib.plot2in1_anomaly(data, xx, yy, Z1, Z2, data_test)
#загрузка выборок
train= np.loadtxt('letter_train.txt', dtype=float)
test = np.loadtxt('letter_test.txt', dtype=float)
# обучение AE3
patience=5000
ae3_trained, IRE3, IREth3= lib.create_fit_save_ae(train,'out/AE3.h5','out/AE3_ire_th.txt', 100000, False, patience)
lib.ire_plot('training', IRE3, IREth3, 'AE3')
#тестирование АE3
predicted_labels3, ire3 = lib.predict_ae(ae3_trained, test, IREth3)
#тестированиеАE3
lib.anomaly_detection_ae(predicted_labels3, ire3, IREth3)
lib.ire_plot('test', ire3, IREth3, 'AE3')
# обучение AE3.2
patience=5000
ae32_trained, IRE32, IREth32= lib.create_fit_save_ae(train,'out/AE32.h5','out/AE32_ire_th.txt', 100000, False, patience)
lib.ire_plot('training', IRE32, IREth32, 'AE32')
#тестирование АE32
predicted_labels32, ire32 = lib.predict_ae(ae32_trained, test, IREth32)
#тестированиеАE32
lib.anomaly_detection_ae(predicted_labels32, ire32, IREth32)
lib.ire_plot('test', ire32, IREth32, 'AE32')
# обучение AE3.3
patience=5000
ae33_trained, IRE33, IREth33= lib.create_fit_save_ae(train,'out/AE33.h5','out/AE33_ire_th.txt', 100000, False, patience)
lib.ire_plot('training', IRE33, IREth33, 'AE33')
#тестирование АE33
predicted_labels33, ire33 = lib.predict_ae(ae33_trained, test, IREth33)
#тестированиеАE33
lib.anomaly_detection_ae(predicted_labels33, ire33, IREth33)
lib.ire_plot('test', ire33, IREth33, 'AE33')
# обучение AE3.4
patience=5000
ae34_trained, IRE34, IREth34=lib.create_fit_save_ae(train,'out/AE34.h5','out/AE34_ire_th.txt', 100000, False, patience)
lib.ire_plot('training', IRE34, IREth34, 'AE34')
#тестированиеАE34
lib.anomaly_detection_ae(predicted_labels34, ire34, IREth34)
lib.ire_plot('test', ire34, IREth34, 'AE34')
#тестирование АE34
predicted_labels34, ire34 = lib.predict_ae(ae34_trained, test, IREth34)