test_size=0.20,
                                                    random_state=10)

XtrS, params = ml.rescale(X_train)
Xvas, _ = ml.rescale(X_test, params)

from imblearn.under_sampling import RandomUnderSampler

rus = RandomUnderSampler(random_state=42)
X_res, y_res = rus.fit_resample(XtrS, y_train)

mlp = MLPClassifier(solver='sgd', max_iter=2000)
mlp.hidden_layer_sizes = (100, 100, 100)
mlp.activation = 'logistic'
mlp.learning_rate_init = 0.1
mlp.learning_rate = 'adaptive'
mlp.verbose = True

mlp.fit(X_res, y_res)

print(mlp.score(Xvas, y_test))

Xte = np.genfromtxt(
    'C:\\Users\\radad\\OneDrive\\Desktop\\cs178\\CS178-Kaggle-Competition\\X_test.txt',
    delimiter=None)
Yte = np.vstack((np.arange(Xte.shape[0]), mlp.predict_proba(Xte)[:, 1])).T
np.savetxt(
    'C:\\Users\\radad\\OneDrive\\Desktop\\cs178\\CS178-Kaggle-Competition\\Y_submit.txt',
    Yte,
    '%d, %.2f',
    header='ID,Prob1',
import os
from sklearn.neural_network import MLPClassifier
from sklearn.metrics import accuracy_score, classification_report
from loading_dataset import load_dataset
import matplotlib.pyplot as plt
from random import shuffle

images_test, labels_test = load_dataset("../training_dataset/", 160)

data = images_test.reshape(len(images_test), -1)

classifier = MLPClassifier(solver="sgd")

classifier.activation = "relu"
classifier.learning_rate_init = 0.001
classifier.learning_rate = "adaptive"

print(classifier)

classifier.fit(data, labels_test)

images_test, labels_test = load_dataset("../test_dataset/", 160, False)

data_test = images_test.reshape(len(images_test), -1)

expected = labels_test
predicted = classifier.predict(data_test)

accuracy = accuracy_score(expected, predicted)

print("****************** average_score : " + str(accuracy))