79 lines
2.4 KiB
Python
79 lines
2.4 KiB
Python
|
# -*- coding: utf-8 -*-
|
||
|
"""
|
||
|
Vous allez definir une classe pour chaque algorithme que vous allez développer,
|
||
|
votre classe doit contenit au moins les 3 methodes definies ici bas,
|
||
|
* train : pour entrainer le modèle sur l'ensemble d'entrainement
|
||
|
* predict : pour prédire la classe d'un exemple donné
|
||
|
* test : pour tester sur l'ensemble de test
|
||
|
vous pouvez rajouter d'autres méthodes qui peuvent vous etre utiles, mais moi
|
||
|
je vais avoir besoin de tester les méthodes train, predict et test de votre code.
|
||
|
"""
|
||
|
|
||
|
import numpy as np
|
||
|
|
||
|
|
||
|
# le nom de votre classe
|
||
|
# NeuralNet pour le modèle Réseaux de Neurones
|
||
|
# DecisionTree le modèle des arbres de decision
|
||
|
|
||
|
class Classifier: #nom de la class à changer
|
||
|
|
||
|
def __init__(self, **kwargs):
|
||
|
"""
|
||
|
c'est un Initializer.
|
||
|
Vous pouvez passer d'autre paramètres au besoin,
|
||
|
c'est à vous d'utiliser vos propres notations
|
||
|
"""
|
||
|
|
||
|
|
||
|
def train(self, train, train_labels): #vous pouvez rajouter d'autres attribus au besoin
|
||
|
"""
|
||
|
c'est la méthode qui va entrainer votre modèle,
|
||
|
train est une matrice de taille nxm, avec
|
||
|
n : le nombre d'exemple d'entrainement dans le dataset
|
||
|
m : le mobre d'attribus (le nombre de caractéristiques)
|
||
|
|
||
|
train_labels : est une matrice de taille nx1
|
||
|
|
||
|
vous pouvez rajouter d'autres arguments, il suffit juste de
|
||
|
les expliquer en commentaire
|
||
|
|
||
|
|
||
|
|
||
|
------------
|
||
|
|
||
|
"""
|
||
|
|
||
|
def predict(self, exemple, label):
|
||
|
"""
|
||
|
Prédire la classe d'un exemple donné en entrée
|
||
|
exemple est de taille 1xm
|
||
|
|
||
|
si la valeur retournée est la meme que la veleur dans label
|
||
|
alors l'exemple est bien classifié, si non c'est une missclassification
|
||
|
|
||
|
"""
|
||
|
|
||
|
def test(self, test, test_labels):
|
||
|
"""
|
||
|
c'est la méthode qui va tester votre modèle sur les données de test
|
||
|
l'argument test est une matrice de taille nxm, avec
|
||
|
n : le nombre d'exemple de test dans le dataset
|
||
|
m : le mobre d'attribus (le nombre de caractéristiques)
|
||
|
|
||
|
test_labels : est une matrice taille nx1
|
||
|
|
||
|
vous pouvez rajouter d'autres arguments, il suffit juste de
|
||
|
les expliquer en commentaire
|
||
|
|
||
|
Faites le test sur les données de test, et afficher :
|
||
|
- la matrice de confision (confusion matrix)
|
||
|
- l'accuracy (ou le taux d'erreur)
|
||
|
|
||
|
Bien entendu ces tests doivent etre faits sur les données de test seulement
|
||
|
|
||
|
"""
|
||
|
|
||
|
|
||
|
# Vous pouvez rajouter d'autres méthodes et fonctions,
|
||
|
# il suffit juste de les commenter.
|