Select Git revision
graphe-dico.py
Forked from
Vuillemot Romain / INF-TC1
Source project has a limited visibility.
-
Romain Vuillemot authoredRomain Vuillemot authored
main.py 4.66 KiB
from read_cifar import read_cifar, split_dataset
from knn import evaluate_knn_for_k, plot_accuracy_versus_k
import matplotlib.pyplot as plt
from mlp import run_mlp_training, plot_accuracy_versus_epoch
if __name__=="__main__":
# data, labels = read_cifar("data\cifar-10-batches-py")
#split = 0.9
#data_train, labels_train, data_test, labels_test = split_dataset(data,labels,split)
# data_train, data_test = data_train/255.0, data_test/255.0
# kmax = 20
#accuracies = evaluate_knn_for_k(data_train, labels_train, data_test, labels_test,kmax)
# accuracies = [0.351,
# 0.31316666666666665,
# 0.329,
# 0.33666666666666667,
# 0.33616666666666667,
# 0.3413333333333333,
# 0.343,
# 0.3428333333333333,
# 0.341,
# 0.3335,
# 0.3325,
# 0.3328333333333333,
# 0.33016666666666666,
# 0.3295,
# 0.32766666666666666,
# 0.3285,
# 0.327,
# 0.32716666666666666,
# 0.32916666666666666,
# 0.3305]
#plot_accuracy_versus_k(accuracies)
####################################
# parameters of the MLP :
split_factor = 0.9
data, labels = read_cifar("data\cifar-10-batches-py")
data_train, labels_train, data_test, labels_test = split_dataset(data, labels, split=split_factor)
# print(len(data_test), len(data_train))
data_train, data_test = data_train/255.0, data_test/255.0 # normalize ou data
d_h = 64
lr = 0.1
num_epoch=100
accuracies, _ = run_mlp_training(data_train, labels_train, data_test,
labels_test, d_h, lr, num_epoch)
# accuracies = [0.08788888888888889, 0.08990740740740741, 0.09135185185185185, 0.09296296296296297, 0.09514814814814815, 0.09631481481481481, 0.09724074074074074, 0.09787037037037037, 0.09820370370370371, 0.09883333333333333, 0.09844444444444445, 0.09859259259259259, 0.09857407407407408, 0.09885185185185186, 0.09872222222222223, 0.09855555555555555, 0.09872222222222223, 0.09883333333333333, 0.0989074074074074, 0.09881481481481481, 0.0987962962962963, 0.09898148148148148, 0.09916666666666667, 0.09938888888888889, 0.09961111111111111, 0.09975925925925926, 0.09975925925925926, 0.1, 0.10003703703703704, 0.09998148148148148, 0.10007407407407408, 0.10011111111111111, 0.10001851851851852, 0.10014814814814815, 0.10012962962962962, 0.09998148148148148, 0.1000925925925926, 0.1000925925925926, 0.10007407407407408, 0.10005555555555555, 0.10014814814814815, 0.10018518518518518, 0.1002037037037037, 0.10018518518518518, 0.10016666666666667, 0.10011111111111111, 0.10016666666666667, 0.10012962962962962, 0.10007407407407408, 0.10005555555555555, 0.1, 0.1, 0.1, 0.1, 0.1, 0.09998148148148148, 0.09998148148148148, 0.09996296296296296, 0.09996296296296296, 0.09996296296296296, 0.09994444444444445, 0.09994444444444445, 0.09994444444444445, 0.0999074074074074, 0.09994444444444445, 0.09996296296296296, 0.09996296296296296, 0.09996296296296296, 0.09998148148148148, 0.09996296296296296, 0.09998148148148148, 0.1, 0.1, 0.10003703703703704, 0.10003703703703704, 0.10005555555555555, 0.10007407407407408, 0.10007407407407408, 0.10007407407407408, 0.10003703703703704, 0.10001851851851852, 0.10003703703703704, 0.10003703703703704, 0.10003703703703704, 0.10001851851851852, 0.10001851851851852, 0.10003703703703704, 0.10003703703703704, 0.10005555555555555, 0.10007407407407408, 0.10007407407407408, 0.10007407407407408, 0.10007407407407408, 0.10005555555555555, 0.10005555555555555, 0.10005555555555555, 0.10007407407407408, 0.10007407407407408, 0.10007407407407408, 0.10007407407407408]
# print(accuracies)
plot_accuracy_versus_epoch(accuracies)
# Result for k = 1
# Reading data from disk
# [INFO] Splitting data into train/test with split=70
# [INFO] Training set has 42000 samples and testing set has 18000 samples.
# [INFO] Time taken 0
# Evaluating the k-NN with k = 1
# Computing distance matrix between train and test sets
# finished calculating dists
# Running the prediction using k-NN with k = 1
# [INFO] computing accuracy of the predictions
# accuracy = 0.3388888888888889
# Reading data from disk
# [INFO] Splitting data into train/test with split=70
# [INFO] Training set has 42000 samples and testing set has 18000 samples.
# [INFO] Time taken 0
# Evaluating the k-NN with k = 3
# Computing distance matrix between train and test sets
# finished calculating dists
# Running the prediction using k-NN with k = 3
# [INFO] computing accuracy of the predictions
# 0.3308333333333333