4 - Construire un modèle

Une fois que les données ont été préparées, on peut créer un modèle à partir des données:

  1. Définir l’algorithme à utiliser. Régression linéaire, non linéaire, arbre de décision, K-means, etc. Les possibilités sont nombreuses, et chaque algorithme a ses forces et ses faiblesses.
    Le fonctionnement des différents algorithmes fera l’objet d’articles à part entière.

    Comment déterminer où et quand utiliser un algorithme plutôt qu’un autre?
    Il n’existe pas d’algorithme standard pour un problème spécifique, on doit essayer différents algorithmes, les optimiser et comparer. Garder celui qui donne les meilleurs résultats.

     from sklearn.tree import DecisionTreeRegressor
    
     # Define model
     model = DecisionTreeRegressor(random_state=1)
    
  2. Entraîner le modèle (fit)
    Dans le cas d’un algorithme supervisé, l’algorithme va utiliser les données pour chercher à miniminer les erreurs entre la valeur prédite (f(x)) et la valeur réelle (y).

     model.fit(train_X, train_y)
    
  3. Effectuer des prédictions (predict)
    Effectuer une prédiction consiste tout simplement à calculer f(x) sur des données — ici, sur les données de test.

     predict_y = model.predict(test_X)
    
  4. Évaluer
    Comparer les valeurs prédites sur les données de tests aux valeurs réelles.
    Il existe différentes méthodes pour juger la performance d’un modèle. En fonction des problèmes constatés, on va pouvoir optimiser le modèle — changer les hyperparamètres, changer les données ou carrément changer d’algorithme.

    print("MEA:", mean_absolute_error(test_y, predict_y))