model12 = MLP_auto([Layers[0], Layers[1]], ['sigmoid']) print("pre-training autoencoder 2") model12.train(out1, out1, alpha, 12, max_iter) out2 = model12.output_hidden(out1) model13 = MLP_auto([Layers[1], Layers[2]], ['sigmoid']) print("pre-training autoencoder 3") model13.train(out2, out2, alpha, 12, max_iter) # finetuning the stacked autoencoder print("fine tuning stacked autoencoder") # deep neural network using stacke autoencoder final_model = MLP([n, *Layers, 2], ['sigmoid', 'sigmoid', 'sigmoid', 'sigmoid']) # final_model.W_list[0:3] = model.W_list[0:3] final_model.W_list[0] = model11.W_list[0] final_model.W_list[1] = model12.W_list[0] final_model.W_list[2] = model13.W_list[0] # training deep neural network alpha = 0.5 batch_size = 12 max_iter = 200 final_model.train(X_train, y_train, X_test, y_test, alpha, batch_size, max_iter) print(final_model.accuracy(X_test, y_test)) print(final_model.conf_mat(X_test, y_test))