PYTHON SKLEARN - MODEL SELECTION : Train_test_split, Cross Validation, GridSearchCV (21/30)

Поділитися
Вставка
  • Опубліковано 30 вер 2024

КОМЕНТАРІ • 483

  • @Alexis-gv8ew
    @Alexis-gv8ew 4 роки тому +117

    Bonjour Guillaume, tout d'abord un grand merci pour cette vidéo très instructive ! ça fait plaisir d'avoir des explications aussi claires sur le machine learning ;)
    J'ai fait l'exercice du titanic, j'obtiens comme hyperparamètres metric: manhattan, n_neighbors: 17 et weights: distance. Comme meilleur score, j'obtiens 0.783, score que l'on peut améliorer avec plus de données selon les courbes d'apprentissage.

    • @MachineLearnia
      @MachineLearnia  4 роки тому +17

      Tres intéressant ! J'encourage tout le monde a lire le commentaire d'Alexis et a mettre un pouce bleu dessus ! Si d'autres personnes ont des réponses, mettez les ci-dessous, c'est important ! Moi aussi je vais faire l'exercice et poster mes réponses ici :)
      Merci Alexis a bientôt ! :D

    • @c.d3304
      @c.d3304 4 роки тому

      @@MachineLearnia Cette vidéo est une bonne initiative, cependant, il ne permet de s'entrainer sur d'autres dataset,s ses algorithmes sont calqués sur son problème, les fleurs d'iris, c'est quelque chose que l'on trouve à la première recherche sur le net. Comment faire pour appliquer un modèle lorsque ce n'est pas un dataset intégré à la librairie?

    • @valeryaugais4791
      @valeryaugais4791 4 роки тому

      @@MachineLearnia Bonjour Guillaume, je trouve aussi exactement le même résultat qu'Alexis après avoir lancé l'optimisation suivante (pas très originale au niveau métriques pour GridSearchCV et cv pour learning_curve). Le tracé de train_score et val_score indique aussi qu'il faudrait plus de données mais j'ai un gros doute là car la courbe "train" décroit dès le premier train_size de 91 !!!!!! Est-ce possible ? Est-ce que tu as couvert le corrigé dans une vidéo (j'en ai regardé plusieurs dont 22).
      param_grid = {'n_neighbors': np.arange(1, 20), 'metric': ['euclidean', 'manhattan', 'minkowski'], 'weights': ['uniform', 'distance']}
      grid = GridSearchCV(KNeighborsClassifier(), param_grid, cv=5)
      N, train_score, val_score = learning_curve(model, X_train, y_train, train_sizes=np.linspace(0.2, 1.0, 5), cv=5)

    • @aichanemo1307
      @aichanemo1307 4 роки тому

      @@MachineLearnia j'ai trouve trainnig = 0.76 , test 0.77, n_neighbors= 5 , metric = manhatan pou l'exemple titanic

    • @fredzanghi4090
      @fredzanghi4090 2 роки тому +1

      Bonjour à tous, oui superbe vidéo comme toujours !
      J'ai trouvé un best_score de 0.777 avec best_params = {'metric': 'manhattan', 'n_neighbors': 11} et un model.score(X_test, y_test) = 0.713
      De belles courbes croissantes globalement en train et validation qui demandent d'autres données pour progresser.
      Pas vu non plus de corrections de Guillaume mais ça me semble une bonne 1ere approche vu les autres résultats en commentaires
      Bien à tous !

  • @philippeetasse1840
    @philippeetasse1840 Рік тому +19

    Bonjour Guillaume, je fais une petite pause durant ces cours que je dévore depuis 10 jours. Je ne connaissais ni l'I.A. ni Python. J'arrive encore à m'émerveiller à + de 60 ans ! Je t'envoie un immense merci pour tout ce que tu fais. Et puis il y a un nouveau truc hyper facilitateur quand je bute encore sur la syntaxe : C'est ChatGPT. Il répond à toutes mes questions. Je l'harcèle tellement que je n'ose même plus lui poser de questions , de peur de le déranger 🤪

    • @andreisilaev9264
      @andreisilaev9264 Рік тому +1

      mieux bosser la documentation que l'outil qui ne fait pas correctement le array slicing en python....ca va vous enseigner beaucoup plus

  • @pulsorion
    @pulsorion 4 роки тому +57

    La pédagogie à son paroxysme. 👏

  • @C05Mik
    @C05Mik 4 роки тому +21

    La quantité de choses que j'apprends à chaque vidéo qui font pourtant seulement 20 minutes... Bluffant, bravo !

    • @MachineLearnia
      @MachineLearnia  4 роки тому +6

      Merci beaucoup, c'est mon but d'avoir le plus d'infos précises en 20 minutes

    • @noel9335
      @noel9335 4 роки тому +8

      En attendant il ne faut pas 20 minutes pour assimiler les concepts nouveaux.
      Il n'est pas rare que chaque vidéo me prenne de 1 à 2 heures : entrainement, tests, etc.
      En tout cas merci.

  • @gwenaellesidorski1396
    @gwenaellesidorski1396 2 роки тому +2

    Bonjour,
    Merci beaucoup pour ces vidéos elles me sont très utile.
    Je signale, que j'ai eu un problème avec la fonction validation_curve. Dans mon cas, il a fallut que je renseigne que le n_neighbors etaient les param_name et que k était le param_range.
    Merci encore pour les vidéos !

  • @basilerichard3196
    @basilerichard3196 4 роки тому +1

    Bonjour Guillaume,
    Merci pour ces vidéos, elles sont très instructives.
    A 4:58, le score pour le train_set n'est pas de 100%. Comment cela se fait-il ? Si j'entraine un modèle sur un set alors le score de ce set ne devrait-il pas être de 100% ?
    Enfin, avez-vous des conseils pour comprendre et voir ce qu'il y a derrière les modèles (par exemple KNeighborClassifier) et les fonctions (par exemple fit) ?
    Mille merci.

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      Le train_score ne peux pas toujours atteindre 100% cela dépend de la complexité du projet et du dataset. Par exemple si l'on prend le dataset du Titanic, parmi les victimes on a retrouvé des gens qui avaient tous exactement le même age, le même sexe, le même profil, donc on ne peut pas prédire avec 100% d'exactitude qui va survivre ou qui va périr. Il en va de même pour un modèle.
      Pour savoir ce qui se cache derriere les Algorithmes, le mieux est de les apprendre (je vais faire une série de videos a ce sujet, mais également une série d'articles sur mon blog)
      On peut aussi consulter le code source de sklearn, mais il peut-etre difficile a décrypter si l'on est débutant.

  • @mondistributeur326
    @mondistributeur326 Рік тому +2

    Salut, pourquoi a chaque fois qu'on relance le code, le nombre de voisin de best params change? pourtant les donnée ne changent pas avec le titanic

  • @4ppolyon
    @4ppolyon Рік тому +2

    Mec merci beaucoup je suis étudiant en M1 info et c'est mon cours (en mieux) que tu viens de faire 😍

  • @DucDeBoko
    @DucDeBoko 4 роки тому +6

    Suis devenu avancé en machine learning grâce à toi. Longue vie à toi.

    • @MachineLearnia
      @MachineLearnia  4 роки тому +1

      Ça me fait très plaisir de savoir ça. C'est mon but. Donc c'est une petite victoire chaque fois qu'on me dit ça ! Merci

  • @semoumirami1246
    @semoumirami1246 4 роки тому +1

    Merci infiniment pour cette vidéo très instructive.
    Tout ces paramètres montre l'importance de comprendre l'aspect mathématique derrière la machine.
    J'ai fait l'exercice et j'obtiens comme meilleur score au train set 0.894 et 0.797 au test set, n_neighbors=11, metric='manhattan' et weights='distance'.
    Remarque: pour le GridSearchCV j'ai utilisé un cv= 20.
    Comment choisir le bon cv stp?
    Je compare avec les autre personne et pourquoi est-ce que les résultat différer d'une personne à l'autre stp?
    Merci encore pour cette exercice pratique.

    • @MachineLearnia
      @MachineLearnia  4 роки тому +1

      Les résultats peuvent différer selon la découpe initiale des données, il ne faut pas trop s'inquiéter de cette différence, meme si la question est légitime. Pour choisir le bon cv, c'est une histoire de compromis ! Plus cv est grand, plus l'entrainement et l'évaluation sera long, en général, il faut essayer de choisir un cv de telle sorte a ce que le validation set contiennent au minimum 10% de données (s'il y a trop peu de données dans le valset ca peut donner des résultats erronés)

    • @semoumirami1246
      @semoumirami1246 4 роки тому

      @@MachineLearnia Ok je comprends mieux. Merci encore pour ces contenus de super qualité.

  • @jonathan8313
    @jonathan8313 4 роки тому +1

    Bonjour Guillaume,
    Je te remercie beaucoup pour tes excellents cours d'abord, tu es mon meilleur professeur :)
    J'aimerais savoir pourquoi lorsque je tape
    "grid.best_params_" cela me renvoie {'metric': 'euclidean', 'n_neighbors': 5}
    alors que le n_neighbors devrait egale à 9 du coup "model.score(X_test, y_test)" est egale à 0.93333 et la suite est faussée.
    Par contre si je met manuellement le parametre de n_neighbors à 9, tout revient à la normal comme ton cours.
    Merci de m'éclairer.

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      Il me semble avoir déjà répondu a cette question plusieurs fois, donc tu trouveras peut-être quelques informations dans d'autres commentaires. Il n'est pas anormal de tomber sur n_neighbor=9, je suis moi-meme tombé sur cette valeurs de temps en temps lors de la préparation de la vidéo, ca peut dépendre des découpes et du cv, mais il n'y a rien de "casse" dans votre code, et si le résultat peut semble grandement différent, il ne l'est en fait pas tellement, ce qui compte c'est la performance réelle de votre modèle.

  • @TheRemiRODRIGUES
    @TheRemiRODRIGUES 4 роки тому +3

    Super !
    Merci !
    Tu démontres très bien en quoi Scikit Learn est un outil très puissant !
    Je n'imaginais pas qu'on pouvais optimiser à ce point la recherche d’hyper-paramètre.

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      Merci Smartful ;) content de voir que tu es toujours la a commenter les vidéos ! :D
      Oui et je vais encore montrer beaucoup de choses sur Sklearn ! :)

  • @mahamadouzakou9513
    @mahamadouzakou9513 4 роки тому +1

    bonjour
    Cours trés interessant à la fois theorique et pratique
    juste une question comment faites vous pour faire apparaitre la liste des parametres qui s'applique à "grid" (13:51 de la video) sur jupyter notebook?
    Merci d'avance

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      Bonjour et merci beaucoup.
      Pour afficher les paramètres, il suffit d’exécuter la ligne model.fit(X, y) dans jupyter. Comme cette ligne nous retourne un modèle, celui-ci est affiché dans la console.
      Si tu utilises un autre IDE que Jupyter Notebook, alors tu peux faire un print(model.fit(X, y))
      A bientôt :)

  • @mrx42
    @mrx42 4 роки тому +3

    Merci infiniment pour ces excellentes leçons gratuites qui me sauvent littéralement la vie.
    J'ai soit disant des cours de cette matière à l'Université...
    Grâce à vous, je comprends tout et je m'entraîne efficacement =)
    Merci infiniment.
    Votre travail est d'utilité publique !

    • @MachineLearnia
      @MachineLearnia  4 роки тому +1

      Merci beaucoup pour votre message je suis super heureux de savoir que les vidéos vous aident autant ! :)

  • @tiohacademy
    @tiohacademy Рік тому

    Super vidéo, merci Guillaume
    Best_params = {'metric': 'manhattan', 'n_neighbors': 9, 'weights': 'distance'}
    model.score =0.804

  • @hibe77
    @hibe77 4 роки тому +1

    Bonjour Guillaume, tout d'abord 1 grand merci pour vos tutos. La notion d'over-fitting que vous avez détaillée grace aux courbes representatives du train_score et du val_score en utilisant validation_curve() est trés utile. Je souhaite en faire de meme avec GridSearchCV().
    L'attribut ( .cv_results_) permet d'avoir un dict() qui renvoit des infos sur notre grid.
    Mon script:
    list_mean_train_score = []
    for i in grid.cv_results_['mean_train_score']:
    list_mean_train_score.append(j)
    list_mean_test_score = []
    for j in grid.cv_results_['mean_test_score']:
    list_mean_test_score.append(j)
    Tracer les courbes representatives de: list_mean_train_score, list_mean_test_score.
    Ma question est de savoir s'il n'existe pas un moyen plus simple?

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      Il faut en effet utiliser .cv_results_ pour faire le graphique que vous souhaitez et votre script est parfaitement adapté pour cela, ce que je conseille, c'est de mettre ce script dans une fonction que vous aurez créée, cela simplifie votre code et vous vous constituez progressivement une bibliothèque de fonctions utiles.

  • @salsabilidrissomar8787
    @salsabilidrissomar8787 4 роки тому +1

    Bonjour Guillaume, merci énormément pour tes videos mais j'ai n'arrive pas à comprendre l'erreur dû au training. La seule chose que j'ai pu trouver est que cette est liee au outlier???

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      Bonjour, de quoi parlez-vous ?

    • @salsabilidrissomar8787
      @salsabilidrissomar8787 4 роки тому

      @@MachineLearnia en fait je n'ai pas compris pourquoi la performance de modèle dans la phase d'apprentissage n'est pas un à 100 %

    • @MachineLearnia
      @MachineLearnia  4 роки тому +2

      @@salsabilidrissomar8787 Le fait qu'un modele n'atteigne pas 100% de performance sur le train-set est du a 2 choses :
      1) le modele a un biais (il est en underfitting) ce qui veut dire que le modele n'est pas assez puissant par rapport a la complexité de la tache, il faut donc opter pour un modele plus puissant (l'entrainer plus longtemps ou bien changer ses hyper-parametres)
      2) Le dataset décrit un phénomène non déterministe (ce qui arrive 99% de la vraie vie) ce qui veut dire que plusieurs points sensé avoir la meme position sont en fait différents. Par exemple, dans le naufrage du titanic, vous pouvez avec 2 individus parfaitemant similaires, pourtant l'un aura survécu et l'autre non. C'est le hasard.

  • @EricPelletier-dq9gk
    @EricPelletier-dq9gk Рік тому +1

    Depuis titanic je ne vous quitte plus .Vous + python + CHATgpt +Power BI voilà un mélange détonnant!

  • @zakariagoundiam8757
    @zakariagoundiam8757 4 роки тому +1

    Bonjour Guillaume,
    on vous remercierai jamais assez, mais encore une fois un grand merci.
    toutefois je voudrais savoir le comportement du train set en fonction des valeurs du paramètre randomstate ?

    • @MachineLearnia
      @MachineLearnia  4 роки тому +1

      Random_state permet de fixer le générateur de nombre aléatoire pour qu'il reproduise toujours les mêmes résultats, c'est un bon moyen de comparer efficacement la performance de vos modèles sur des découpes identiques. le nombre choisit dans random_state n'a aucune importance / aucun impact sur vos données

  • @noel9335
    @noel9335 4 роки тому +1

    Pour les résultats trouvés :
    0.7988 pour le score sur le model
    7 pour le voisinage
    Les données sont insuffisantes

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      Je suis d'accord avec vos résultats ! Bien joué !

  • @noel9335
    @noel9335 4 роки тому +1

    A chaque fois que tu commences une vidéo j'ai peur que tu casses quelque chose en levant les bras en l'air, ou que tu tombes de ta chaise... ;)
    Fais attention quand même : un accident de travail est vite arrivé. ;)

  • @philippebillet4359
    @philippebillet4359 4 роки тому +2

    Super vidéo comme d'habitude.
    Pour ce qui est de l'exercice :
    Meilleur paramétrage : {'metric': 'manhattan', 'n_neighbors': 17, 'weights': 'distance'}
    Meilleur score : 0.7828
    L'apprentissage pourrait être amélioré, mais l'expérience n'est pas reproductible.

    • @philippebillet4359
      @philippebillet4359 4 роки тому

      en fait on peut faire un peu mieux avec :
      Meilleur paramétrage : {'metric': 'canberra', 'n_neighbors': 8, 'weights': 'uniform'}
      Meilleur score : 0.8161120840630472...

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      C'est très intéressant ! Un autre abonné (Alexis) a trouvé les mêmes résultats {'metric': 'manhattan', 'n_neighbors': 17, 'weights': 'distance'} avec le même score.
      C'est intéressant de comparer cela avec une distance Canberra. Je trouve ça curieux que Canberra (qui est semblable à Manhattan mais avec des coefficients) ait un bon score avec des weights "uniform"
      Concernant les courbes d'apprentissage, on pourrai croire que plus de données aideraient a améliorer l'algorithme, mais en se rappelant que les données ont une grande variances (des passagers de même classes, même age, même genre ont parfois survécus, parfois non) alors on peut se rend compte que récolter plus de données ne sera pas forcément utile (meme si les courbes le laissent a penser !) (bravo pour avoir complété l'exercice !)

  • @fati3869
    @fati3869 4 роки тому +1

    Comment on peut implémenter des algorithmes d'optimisation comme PSO;ANT; les algorithmes génétiques .... Dans phyton

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      Je ferai des vidéos a ce sujet a l'avenir, ne vous en faites pas. En attendant je peux vous conseiller d'aller voir sur GitHub, il y a de tres bons exemples

  • @eliengandu2748
    @eliengandu2748 4 роки тому +3

    Finalement j'ai trouvé mon mentor que j'ai toujours rêver! Tu me fascine, explication claire , simple et concis!!! You are the best One!!!Mon maître j'attends le cour de C++ et java Niveau expert!

    • @MachineLearnia
      @MachineLearnia  4 роки тому +8

      Merci beaucoup ! :)
      Je ne sais pas si je vais faire du Java et du C++ en niveau expert (on ne peut pas être bon partout !) mais la chaîne va tout de même proposer du contenu tourné Arduino, C, microprocesseur dans le futur ! :)

    • @noel9335
      @noel9335 4 роки тому

      Expert en Java JEE et full stack (pour reprendre l'expression très à la mode), j'attends Arduino avec impatience.
      Ce n'est pas que les tutoriels soient absents sur le net mais j'attends du concis et du professionnel, ayant une expérience de la programmation bas niveau.
      A bientôt.

  • @houssamzouhri820
    @houssamzouhri820 4 роки тому +1

    super mais c etait un peu vite j ai pas pu suivre

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      J'en suis navré, je vous conseille de faire des pauses et de revenir en arrière.

  • @kid3082
    @kid3082 4 роки тому +4

    Toujours aussi instructif. Un grand merci a toi pour le partage de ton savoir.

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      Merci beaucoup pour ton commentaire :) Dans le cas ou tu fais l'exercice, dis nous dans les commentaires les performances que tu obtiens, ca serait intéressant ;)

    • @c.d3304
      @c.d3304 4 роки тому

      Mais comment tu mets ta variable y, j'ai essayé de faire ça, et la machine me dit que y n'est pas définie

  • @aureliendeside4778
    @aureliendeside4778 4 роки тому +2

    Bonjour ! Merci pour cette superbe série hyper intéressante ! Je me pose une question sur comment trouver les meilleurs paramètres... En effet, en conservant les mêmes données 'iris', dès que je relance mon algo, il trouve de nouveaux meilleurs paramètres (Manhattan & euclidean ou x neighbors...) qui souvent sont les mêmes mais pas toujours... J'image que cette différente doit venir de mon 'train_test_split' qui fait que le modèle n'est pas toujours évalué & testé sur les mêmes données car le shuffle est aléatoire... Du coup je crée une boucle '"for" qui reproduit tout l'ago plusieurs fois de suite pour que je sache globalement, quels sont les meilleurs paramètres... Est-que vous auriez une meilleurs méthodes ? J'espère que mon message est compréhensible haha, merci beaucoup pour votre aide !

    • @MachineLearnia
      @MachineLearnia  4 роки тому +3

      Bonjour et merci pour le commentaire. Votre question est parfaitement légitime. En effet vos paramètres idéaux varient selon le mélange train_test_split() mais également selon les conditions initiales de votre algorithme (comme un algorithme SGDClassifier ou un Réseau de Neurones) (KNNClassifier n'est pas concercé car il ne développe pas de fonction paramétrée).
      Il est en effet possible de "Hacker" les performances d'un modele en l'entrainant sur plusieurs mélanges de train/test et en retenant la meilleure configuration. Cependant ce n'est pas forcément une bonne idée car on risque d'avoir un overfitting et de réduire la performance sur les données futures.
      Ce que je conseille, c'est de trouver une configuration qui donne un mélange train/test équilibré. Donc apres avoir effectuer un shuffle, il est important de visualiser les données, et calculer les proportions des différentes classes.
      Ensuite, il faut s'en tenir a utiliser cette configuration tout au long du projet, pour garantir une cohérence et répétabilité dans nos résultats et dans nos évaluations.

    • @aureliendeside4778
      @aureliendeside4778 4 роки тому +1

      @@MachineLearnia Merci Beaucoup pour votre réponse ! Je vais tester cela.

    • @MachineLearnia
      @MachineLearnia  4 роки тому +1

      Pas de soucis ! Tenez moi informé et n'hésitez pas pour toute autre question :)

  • @HamisBadarou
    @HamisBadarou 4 роки тому +20

    Longue vie à toi Guillaume, j'ai appris en 20min ce que j'essaie de comprendre depuis 3 mois. Au top la vidéo, je suis fan :)

  • @amyd.2840
    @amyd.2840 4 роки тому +4

    Comme toujours super vidéo, merci !

  • @djomantchaadamasorho4912
    @djomantchaadamasorho4912 4 роки тому +2

    Bonjour Guillaume, un grand merci pour cette vidéo très instructive ! ça fait plaisir d'avoir des explications aussi claires sur le machine learning ;)
    J'ai fait l'exercice du titanic, j'obtiens comme hyperparamètres metric: manhattan, n_neighbors: 7. Comme meilleur score, j'obtiens 0.79, score que l'on peut améliorer avec plus de données selon les courbes d'apprentissage.

  • @nicothuillier6185
    @nicothuillier6185 4 роки тому +1

    Bonjour,
    Je suis un peu en retard, mais je viens de faire le TP et j'ai donc trouvé:
    best_score = 0.7870 avec les hyper_param {'metric': 'manhattan', 'n_neighbors': 15}
    model.score(X_test, y_test) = 0.7571
    Merci Guillaume pour toutes tes vidéos !

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      Merci Nicolas ! Bien joué pour le TP ! Je te conseille de lire les autres commentaires, il y a des réponses intéressantes

  • @ayouboussmana6258
    @ayouboussmana6258 4 роки тому +1

    Bonjour Guillaume, s’il vous plait comment appliquer la méthode train_test_split sur un Dataset téléchargeable sur google (dataset des images) afin d’entrainer un modèle ( KNeighborsClassifier, SVM …etc) avec la méthode model.fit (x_train,y_train) et merci d’avance

    • @MachineLearnia
      @MachineLearnia  4 роки тому +1

      Importer les images dans une liste python a l'aide de PILLOW. Convertissez chaque image dans tableau Numpy, et assembler les images dans dans grand tableau numpy.
      Exemple : vous avez un dataset de 100 images qui font 8x8 pixels.
      Vous ouvrez le tout avec PIL, puis convertissez avec Numpy, et mettez le tout dans un tableau ndarray qui fait donc des dimensions (100, 64) Cela vous donne le tableau X
      pour le tableau y, il suffit d'enregistrer les target dans un tableau ndarray de dimension (100, 1)
      Ensuite, vous pouvez mettre le tout dans train_test_split
      Bon courage ! :)

    • @ayouboussmana6258
      @ayouboussmana6258 4 роки тому

      @@MachineLearnia Merci beaucoup pour votre aide notre cher Professeur

    • @ayouboussmana6258
      @ayouboussmana6258 4 роки тому

      Bonjour mon Professeur, je vous saurais gré de bien vouloir me corriger ce code, j’essayer mais malheureusement toujours « erreur » et merci beaucoup pour votre aide cher Professeur (concernant le shape de mes images est (4000, 6000, 3)).
      #LE CODE
      from PIL import Image
      import numpy as np
      import os
      for f in os.listdir('images/.'):
      if f.endswith('images/.jpg'):
      feature=Image.open(f)
      for J in os.listdir('label_images/.'):
      if J.endswith('label_images/.jpg'):
      target=Image.open(J)
      x=np.ndarray(feature)
      y=np.ndarray(target)
      from sklearn.model_selection import train_test_split
      x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2)
      from sklearn.neighbors import KNeighborsClassifier
      model=KNeighborsClassifier (n_neighbors=1)
      model.fit(x_train,y_train)

    • @MachineLearnia
      @MachineLearnia  4 роки тому +1

      Je ne suis pas sur de vos dimensions X et y. Quelle erreur obtenez-vous ? Je vous invite a nous en faire part sur notre discord

    • @ayouboussmana6258
      @ayouboussmana6258 4 роки тому

      @@MachineLearnia Merci beaucoup pour votre message et pour votre aide cher Professeur ;
      Concernant le type d’erreur : « erreur de dimensions »
      Je tiens à vous informer que mes dimensions X et y est (4000, 6000, 3)
      Veuillez trouver ci-dessous le code :
      from PIL import Image
      import numpy as np
      import os
      for f in os.listdir('images/.'):
      if f.endswith('images/.jpg'):
      feature=Image.open(f)
      for J in os.listdir('label_images/.'):
      if J.endswith('label_images/.jpg'):
      target=Image.open(J)
      x=np.array(feature)
      y=np.array(target)
      from sklearn.model_selection import train_test_split
      x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2)
      from sklearn.neighbors import KNeighborsClassifier
      model=KNeighborsClassifier (n_neighbors=1)
      model.fit(x_train,y_train)

  • @lhoussainjaaboub5978
    @lhoussainjaaboub5978 4 роки тому +1

    Bonjour
    Je n'ai pas pu trouver la suite 24 à 30/30
    Cordialement

    • @MachineLearnia
      @MachineLearnia  4 роки тому +1

      Bonjour, la suite est actuellement en production. Désolé pour l'attente

  • @laidinassim9058
    @laidinassim9058 4 роки тому +2

    Bravo merci beaucoup pour vos vidéos c'est un régale pour nous RESPECT

    • @MachineLearnia
      @MachineLearnia  4 роки тому +1

      Merci beaucoup. Je suis content de savoir ca. Ca me garde motivé :D MERCI !

  • @cubeWorld555
    @cubeWorld555 2 роки тому +1

    Si certains sont bloqués à 11:15 il faut écrire pour les derniers hyper-paramètres leur nom explicite :
    train_score,val_score = validation_curve(model, X_train, y_train,param_name='n_neighbors',param_range=k,cv=5)

    • @MachineLearnia
      @MachineLearnia  2 роки тому

      Merci de l'avoir précisé !

    • @stevi32800
      @stevi32800 2 роки тому

      Merci beaucoup, tu viens de me debugger

  • @alielbied9192
    @alielbied9192 4 роки тому +1

    Merci pour vos vidéos vous m'avez sauvé mon module 😂, j ai une question à propos du graphique de la fonction validation curve, de ce que j ai compris de votre vidéo corrigé moi si je me trompe, grâce au graphe on peut determiner si il ya overffiting ou non, j ai déduie d apres les resultat de votre gridsearch k = 9 et du graphe que la meilleur valeur en évitant l overfiting est celle où xtrain es la plus haute et en meme temps supérieur a xvalidation,
    mais je me rend compte en ayant essayé de mon cotès ce n est pas le cas, du coup ma question est à quoi reconnaitons un overfiting depuis les valeurs xtrain et xvalidation sur le graphe ?
    Encore une fois, je vous remercie enormément pour tout vos efforts, ce n est vrmt pas communc ce que vous faite.

    • @MachineLearnia
      @MachineLearnia  4 роки тому +1

      le graphique de validation curve ne permet que d'observer l'évolution du score en fonction d'UN hyper-parametre. En général, si on peut vérifier si notre modèle est en overfitting, on calcule simplement le train_score et le test_score, et si le train_score est bien supérieur au test score, alors c'est un signe d'overfitting (le modèle est sensé bien fonctionné sur le train, mais en le testant dans la réalité il est médiocre)
      Est-ce-que ma réponse a pu t'aider ? :)

    • @alielbied9192
      @alielbied9192 4 роки тому

      @@MachineLearnia ui c'est bcp plus claire mnt, merci 👍👍

  • @Amadou418
    @Amadou418 4 роки тому +2

    Vos vidéos me font gagner beaucoup de temps. J'apprends très vite avec vous. Merci Guillaume.

  • @aliounendiaye265
    @aliounendiaye265 4 роки тому +1

    j'ai essayé de récupérer données sur twitter pour faire de l'analyse et la prediction sur les accidents et embouteillage

  • @Agesilas2
    @Agesilas2 4 роки тому +3

    on fait comment pour mettre 2 pouces bleus ? 😋

    • @MachineLearnia
      @MachineLearnia  4 роки тому +1

      Ahah je vais demander a UA-cam ! ^^

    • @noel9335
      @noel9335 4 роки тому

      @@MachineLearnia Quelle est la probabilité que UA-cam réponde par l'affirmative ? Encore un exercice IA en perspective. ;)

  • @wajdiayari3139
    @wajdiayari3139 3 роки тому

    Thank you, you are the best ,
    Homework :
    the best score= 0.7776164549304295
    the best paramters= {'metric': 'manhattan', 'n_neighbors': 8}
    score on test set= 0.7832167832167832

  • @thepythoner3686
    @thepythoner3686 2 роки тому +1

    slt, que veut dire la metric minkowski?

    • @MachineLearnia
      @MachineLearnia  2 роки тому

      Désolé de ne pas t'avoir répondu plus tot, pour vulgariser, c'est une sorte de mélange entre la distance de Manhattan et et la distance Euclidienne

  • @lamineniang3447
    @lamineniang3447 День тому

    salut j'utilise pycharm et g des problemes pour charger les documents(titanic,etc...)

  • @amineziad5099
    @amineziad5099 3 роки тому +1

    Hi
    Is there a video that explain computer vision and image recognition
    That you made or even was not made by you in english or french
    Thank you keep it up machine learnia

    • @MachineLearnia
      @MachineLearnia  3 роки тому +1

      Hi mate,
      I have not produced any videos about computer vision yet, but this is one of the things I do a lot in my job so there will be videos very soon. Cheers ! :)

  • @mamadouseydi4999
    @mamadouseydi4999 4 роки тому +2

    Vous êtes le meilleur.
    Ca devient vraiment facile avec vous

    • @MachineLearnia
      @MachineLearnia  4 роки тому +1

      Mon ultime but est de vous aider pour que vous deveniez meilleur que moi !

  • @ibrahimchakourfopountieche6917
    @ibrahimchakourfopountieche6917 4 роки тому +1

    bonsoir et merci pour ce que vous faite
    svp je voudrais avoir un lien je pour apprendre comment créer un dataset pour le deep-learning

  • @madaragrothendieckottchiwa8648
    @madaragrothendieckottchiwa8648 4 роки тому +1

    Mon modèle de prédiction neuronale pense déjà trop souvent avoir bien prédis la qualité de ta vidéo à venir mais se heurte si souvent à tes bon modèles de vidéos optimiser, Tout ce qui ce conçois bien S'énonce très clairement force à toi Guillaume bon boulot

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      Ahah Merci beaucoup ! :) Je suis satisfait si la vidéo est claire et précise et qu'elle peut vous aider

  • @assiaararbi635
    @assiaararbi635 4 роки тому +1

    Merci pour cette vidéo est ce que y en a des vidéos sur le tensorflow le keras?

    • @MachineLearnia
      @MachineLearnia  4 роки тому +2

      Je vais bientot produire une série tout entiere sur Tensorflow et Keras ! :)

  • @madikahi8834
    @madikahi8834 4 роки тому +1

    j'ai vue cette vidéo plus de 4 fois, chaque fois je découvre autant de chose merci pour le courage que vous m’apporter avec tes super vidéo monsieur le génie.
    autre chose j'ai vue les différentes métriques utilisées dans l'analyse de régression mais comment savoir quel métrique j' utiliser pour des différent model ?

    • @MachineLearnia
      @MachineLearnia  4 роки тому +1

      Merci beaucoup ça me fait super plaisir de savoir que des gens trouvent les vidéos vraiment utiles et qu'ils arrivent a progresser grâce a ces vidéos ! Pour les métriques : Il y a des mesures pour les régressions et les classifications. La vidéos sur les métriques de régression vous informe de ce qu'il faut faire pour choisir la bonne métrique (et je préconise d'utiliser plusieurs métriques pour évaluer un modèle). Pour les classifications, Accuracy est le choix par défaut, et pour les classifications binaires vous pouvez évaluer la précision et le recall (qui sont des rapports entre vrais positifs, vrai négatifs, faux positifs et faux négatifs) Je ferai une vidéo a ce sujet dans peu de temps, en attendant je vous conseille de consulter Wikipedia.

    • @madikahi8834
      @madikahi8834 4 роки тому +1

      @@MachineLearnia Merci de m'avoir répondre et je te retrouverai dans ta prochain vidéo monsieur le génie,merci

  • @Ju2Crane
    @Ju2Crane 4 роки тому +1

    Bonjour Guillaume, merci pour ces vidéos d'apprentissages très instructives!
    J'obtiens comme meilleur score au train set 0.81 et 0.79 au test set, n_neighbors=11, metric='manhattan' et weights='uniform'
    Une remarque cependant, j'ai regardé les résultats avec des test_size différents (dans train_test_split) et j'obtient des résultats assez identiques mais avec des estimateurs différents au niveau du n_neighbors.
    Par exemple:
    test_size = 15% score_train = 0.85, score_test = 0.82, n_neighbors=3
    test_size = 25% score_train = 0.81, score_test = 0.81, n_neighbors=9
    Existe-il un moyen de savoir la meilleure façon de découper ses data entre train et test set? Et ainsi de savoir le n_neighbors optimal?

    • @MachineLearnia
      @MachineLearnia  4 роки тому +2

      Merci ! ta question est intéressante.
      Il est impossible d'obtenir le n_neighbors optimal (ou tout autre hyper-parametres) en machine learning. Plus il y a de valeurs dans le test_set, plus tu va converger vers les bons réglages (car tu auras confiance que ces réglages te donne de bons résultats sur 1000, puis 100,000, puis 1,000,000 de données dans ton test_set)
      Voila pourquoi je dis qu'on ne peux pas avoir de réglage optimal pour un algorithme. En effet cela dépend de la taille des train_set/test_set, et cela dépend des découpes que l'on utilise. On peut etre assez sur d'avoir le "bon" réglage quand on test notre algo sur un tres gros paquet de données.

  • @moussabamba6216
    @moussabamba6216 4 роки тому +1

    concernant le best_score de titanic j'obtiens 76%

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      C'est pas mal ! sachant que nous n'avons pas encore fait de preprocessing, de model sélection, etc.. très cool !

  • @dolbiaspire9545
    @dolbiaspire9545 4 роки тому +1

    Bonjour merci pour cette merveilleuse video j'ai appris beaucoup de chose grace a toi, cependant j'ai une question si dans predict on donne un fichier CSV et par exemple on a comme label 'vrai' 'faux' comment faire pour calculer le nombre de prediction vrai et le nombre de faux? merci a toi et bonne continuation

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      Salut ! Merci pour ton message :)
      Dans ton cas, predict(X) te donne un tableau Numpy y_pred qui contient soit 0, soit 1 (ou équivalent), tu peux donc utiliser np.sum(y_pred == 0) pour compter le nombre de 0 et np.sum(y_pred==1) pour compter le nombre de 1
      Bien sur tu peux aussi utiliser confusion matrix pour afficher tous tes résultats dans un graphique (ou une matrice Numpy) ce qui est très pratique !
      Est-ce-que j'ai pu répondre a ta question ? :)

    • @dolbiaspire9545
      @dolbiaspire9545 4 роки тому

      je t'en remercie une excellente reponse j'ai tres bien compris , merci a toi :D
      ps: on attend tes nouvelles videos avec impatience :D

  • @ريانسبيدرمان
    @ريانسبيدرمان 3 роки тому +1

    pour l'exercice titanic, j'ai conclus qu'il n y a pas assez de données sur ce dataset telecharger depuis sklearn, et collecter encore plus de données serait vraiment utile

  • @jord-aeleon1887
    @jord-aeleon1887 4 роки тому +1

    Excellent cours encore une fois. C'est fou par contre, plus j'avance dans les vidéos et plus j'y passe du temps pour bien tout assimiler.
    Pour ma part j'ai trouvé les hyperparamètres suivants : 'metric': 'manhattan', 'n_neighbors': 24, 'weights': 'distance' avec un score test de 80% environ. Par contre, il faudrait un train set qui fasse au moins 1000 éléments environ pour obtenir des performances intéressantes :)
    merci encore de partager tes connaissances à travers ces excellentes vidéos :)

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      Bravo pour avoir bien su résoudre l'exercice, et ta conclusion est pertinente ! Je suis heureux si les vidéos t'aident a progresser ! :)

  • @ulrichkarlodjo1457
    @ulrichkarlodjo1457 4 роки тому +1

    Monsieur le professeur BIG CONGRAT! J'en suis de plus de plus épaté par à chaque vidéo! Merci PROF! Hihihi

    • @MachineLearnia
      @MachineLearnia  4 роки тому +2

      Merci ! Ce n'est que le début ! (l'avenir sera vraiment cool !) :D

  • @jasonkilembe3604
    @jasonkilembe3604 4 роки тому +1

    Merci beaucoup pour cette formation claire et précise, mais pour la suite des leçons??

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      Les vidéos suivantes arrivent très bientôt ! Je fais de mon mieux pour sortir au minimum une vidéo par semaine :)

  • @julienjacquemont6048
    @julienjacquemont6048 4 роки тому +2

    C'est vraiment impressionnant : J'essaye d'apprendre le ML, en parallèle de tes vidéos, sur des bouquins.... et tu clarifies tellement de chose que je pensais avoir compris dans les livres! Merci à toi. Cette capacité à rendre explicites et intuitives des notions complexes est vraiment rare sur UA-cam je trouve, et ta chaîne la possède c'est une vrai force! :D
    Du coup ça me donne une idée pour une prochaine série de vidéo pour ta chaîne:
    Les mathématiques derrières le ML.
    Je pense que ça rendrait service à beaucoup d'abonnés! (dont moi ;) )

    • @MachineLearnia
      @MachineLearnia  4 роки тому +6

      Merci beaucoup Julien. J'ai prévu de faire une série spécial Maths qui explique l'origine de chaque algorithme de Data Science et de machine Learning. C'est prévu pour 2020 ! :)
      Merci de me suivre ca fait plaisir de lire tes commentaires a travers les vidéos ! Bon courage et je suis a fond derrière toi !

    • @julienjacquemont6048
      @julienjacquemont6048 4 роки тому +1

      @@MachineLearnia Ah mais tu me fais un super teasing là! Vivement 2020 :)

    • @noel9335
      @noel9335 4 роки тому

      @@MachineLearnia Quand ? Quand ? Dis-nous vite...

    • @brahimiyounes319
      @brahimiyounes319 6 місяців тому

      @@MachineLearnia cette série serait magnifique!! vous avez pu la publier?

  • @hubertrabeantoanina2003
    @hubertrabeantoanina2003 Рік тому

    Bonjour, voilà, je veux avoir la meilleur performance de gestion de grids de 6 groupes électrogènes de différent puissance et un panneau PV, Dont ci-joint le courbe des charges en ville Res : [0...2700] Kw varié, Le PV selon l’apparition du soleil Ppan: [0...1100] Kwc variée aussi et les groupes Grp1, Grp3 a une puissance disponible 300Kw , Grp3, Grp4, Grp5, Pd:500Kw et le Grp6 = 650Kw. La charge en ville est variable pendant 24h. Donc je créer un système d'évaluer la performance de système afin d'obtenir la meilleur synchronisation pour garantir l'énergie délivrée en ville.
    Merci

  • @RaniaCht
    @RaniaCht 4 роки тому +1

    bonsoir monsieur, et merci infiniment pour cette playliste, monsieur juste est-ce que vous pouvez faire des videos sur tensorflow et keras..., nous sommes besion de ces videos avec votre explication merveilleuse, merci encore une fois

    • @MachineLearnia
      @MachineLearnia  4 роки тому +1

      Bonsoir et merci ! Oui je vais faire des playlists similaires sur TensorFlow et Keras

    • @RaniaCht
      @RaniaCht 4 роки тому

      Svp en plus tôt possible svp je les ai vraiment besion 🙏

  • @moussabamba6216
    @moussabamba6216 4 роки тому +1

    ah wep vraiment je suis toujours heureux d'apprendre avec tes tuto je regarde plusieurs fois ces vidéos en pratiquant vraiment c'est fascinant j'ai l'impression que tu demystifies la data science

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      Merci beaucoup ton commentaire me fait très plaisir ! C'est un honneur de savoir que mes vidéos peuvent autant aider certaines personnes ! :)

  • @mohammed_yazidcherifi9816
    @mohammed_yazidcherifi9816 4 роки тому +1

    Bonjour Guillaume, un grand merci pour cette vidéo très instructive, pédagogique et explicative! c’est un grand plaisir d'avoir des explications et des vidéos aussi claires, bien faites et de haute qualité, Grand merci :).
    Voilà je voulais aussi vous poser 2 questions simples qui m'ont intrigué.
    Question 1 : Est ce que si on pouvais choisir un autre valeurdans le cv, ici on a toujours fait cv=5, mais est ce que le changement du cv pourrait avoir des conséquences sur les performances de notre modèle, par exemple peu être avec cv=10 on aurait eu une meilleure performance, ou ç'a n'a rien à avoir.
    Question 2 : si par exemple on avait un dataset que on en plus plus augmenter car ç'a ne sert à rien via la courbe car la performance ne va plus argumenter, et que on a tous tester les paramètres, les hyperparamètres, d'autres modèles etc... mais on ne peut pas dépasser une performance par exemple de 70% qui je pense pas assez bien, est ce que ce cas peut arriver, et si oui est ce que on peut dire que ce problème, on ne peut pas le résoudre en Machine Learnng ?.
    Désolé pour mes questions, je sais que je te publie des commentaires assez long et j'en m’excuse pour cela.
    Merci encore une fois.
    Cordialement.

    • @MachineLearnia
      @MachineLearnia  4 роки тому +1

      Bonjour et merci, ce sont des bonnes questions ! :)
      Question 1 : Oui le cv joue un rôle dans la performance finale du modèle. Il y a des regles pour choisir un bon cv (mais je ne vais pas les détailler ici) et sans meme connaitre ses regles il faut savoir que le CV peut lui meme etre considérer comme un hyper-parametre (on peut tester différents cv avec une boucle for dans laquelle on fait des gridsearchCV par exemple)
      Question 2: (question tres intéressante). En principe, un modele est soit en situation d'underfitting (le modele n'est pas assez complexe) soit en overfitting (le modele est trop complexe et varie trop pour bien généraliser). Donc, si vous avez 70% de bonnes réponses, c'est forcément que le modele n'est pas assez "bon" (autres réglages nécessaires, modèle plus complexes comme un réseau de neurones) ou alors que le modele est en overfitting (il faut plus de données, ou bien ajouter une régularisation au model pour limiter sa variance)
      Une exception a ces situation est si vous essayer de construire un model statistique pour prédire une chose statistiquement imprédictible (par exemple les résultats du LOTO). Dans ce cas, ni le machine learning, ni un modèle traditionnel ne peut atteindre un bon score.

    • @mohammed_yazidcherifi9816
      @mohammed_yazidcherifi9816 4 роки тому

      @@MachineLearnia Merci beaucoup pour vos réponses rapide et explicatives, merci infiniment.

  • @cyrillekesiku8570
    @cyrillekesiku8570 4 роки тому +1

    ce meilleur Félicitation pour cette belle contribution

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      Merci beaucoup ! :) Si vous faites l'exercice, dites nous vos performances dans les commentaires !

  • @benkenzouahadjer4001
    @benkenzouahadjer4001 2 роки тому

    S'il vous plaît j'ai un problème avec le dessin de la première déclaration comment pouvez-vous m'aider j'ai un projet à terminer jeudi

  • @espoireespoire4227
    @espoireespoire4227 4 роки тому +1

    Merci pour ce super tutoriel Guillaume.
    Comment utilisé sklearn pour implémenter le kriegage.?

    • @MachineLearnia
      @MachineLearnia  4 роки тому +1

      Merci. Pour le kriegage, il faut utiliser les classe du module Ggussian_process, par exemple GaussianProcessRegressor, ainsi que les differents kernel associés : WhiteKernel etc.

    • @espoireespoire4227
      @espoireespoire4227 4 роки тому

      @@MachineLearnia ok je vais essayer de le faire😊

  • @noredinehaj2135
    @noredinehaj2135 2 місяці тому

    Merci infiniment pour les efforts.
    SVP est ce que vous pouvez faire touts ces étapes en utilisant un dataset images? Merci.

  • @ramzirebai3661
    @ramzirebai3661 Рік тому

    Best Hyperparameters = {'metric': 'manhattan', 'n_neighbors': 15, 'weights': 'distance '}
    score=0.783
    But, when I have plotted the learning curve , I found that we have an overfitting problem . So getting more data is likely to help

  • @seddikanis2735
    @seddikanis2735 7 місяців тому

    Jamais vu autant de commentaires positifs sur UA-cam
    Guillaume yes you did it 😂

  • @mwanzamayukipax2707
    @mwanzamayukipax2707 4 роки тому +1

    vous etes tres formidable

  • @zieouattara9708
    @zieouattara9708 4 роки тому +1

    Cette vidéo tombe pile poile . Merci professeur

  • @pierreesteves2691
    @pierreesteves2691 4 роки тому +1

    Salut ! J’aime beaucoup tes cours ! Je suis étudiant stagiaire et j’ai appliqué tes recommandations sur des données de physiologie pour prédire la qualité de la reprise en main d’un véhicule autonome . J’ai eu exactement les mêmes résultats pour ma régression logistique que pour l’algo Kneighbors. Je suis amateur en data science puisque je viens d’un Master en sciences humaines. Est-ce que c’est normal ?! Les performances des deux modèles sont exactement identiques. Ensuite, je voulais savoir si : Etant donné que mes p.values de transformation f en régression logistique ne sont pas significatives et que les résultats entre la régression et l’algo Kneigbors sont identiques, cela voudrait dire que mon modèle est faux, erroné !? Autais-tu un conseil à me donner pour examiner quel outil de machine Learning utiliser en fonction de l’architecture et des courbes de mes données quanti et quali ! Je tenais à te remercier, tu me sauves mon stage de fin d’étude par le biais de ta pédagogie! Tu sauves beaucoup d’étudiant qui n’ont pas les moyens d’aller étudier dans le privee et l’apprentissage par la pratique du machine Learning est encore peu pratiqué à la faculté ! Merci à toi !

    • @MachineLearnia
      @MachineLearnia  4 роки тому +1

      Salut Pierre et bravo pour ce que tu as déja pu accomplir !
      - Oui il est tout a fait possible d'avoir les mêmes performances sur tes 2 modèles. Je te rassure ça ne veut pas dire que tes modèles sont erronées ou que tu as fais des erreurs. Tu as surement fait du bon travail. En fait, si tu disposes d'un petit dataset (on va dire avec moins de 5000 points) et que tes données sont faciles a segmenter dans ce dataset, alors il est "logique" que différents modèles obtiennent les mêmes performances. Dans la pratique, c'est moins souvent le cas.
      - Pour comprendre comment examiner les données qualitative et quantitative, je te conseille de voir mes vidéos suivantes (la sélection de variables) et aussi celle sur le preprocessing
      - Mes recommandation pour la suite : Ce que je te conseille de faire, c'est d'examiner l'écart de performance entre le train_set et le test_set pour comprendre si tu es en situation d'underfitting ou bien d'overfitting
      Bon courage pour ton stage et si tu as la moindre question, n'hésite pas a me faire signe ! :D

    • @pierreesteves2691
      @pierreesteves2691 4 роки тому

      Merci pour tes encouragements ainsi que pour ces précieux conseils. J’arrive bien à faire le training, la validation curve qui test le training en le recoupant et le test du modèle . Par contre il y a trois points sur lesquels je suis bloqué : - Parfois, je ne peux pas appliquer de Learning curve, un message d’erreur apparaît comme quoi le nombre de voisin ne doit pas dépasser le nombre nsample. Mais si je baisse le nombre de voisin alors je n’interroge plus l’apprentissage futur de mon best_model.. - La deuxième interrogation concerne une technique qui me plaît beaucoup que tu présentes dans ta vidéo de cross validation. J’aimerais utiliser le stratified k fold pour couper mes données entre training et test avant d’appliquer une régression logistique,. Je n’ai que très peu de valeurs pour l’échec de la reprise en main du véhicule (0) en comparaison avec la réussite (1). Donc je suis persuadé que cette technique pourrait influencer positivement la prediction de mon modèle lors de la phase de test. Mais dans ta vidéo tu présentes les 4 vecteurs en résultat du stratified . Moi j’aimerais l’appliquer en’ donnant les valeurs directement à xtrain,ytrzin,xtest,ytest en remplaçant le split habituel par cette technique. Qu’est-ce que je dois faire ?
      Enfin, une fois mon modèle crée j’aimerais prédire sur des valeurs précises, tu as expliqué que j’avais juste à appeler les variables et donner les valeurs au sein d’une ligne de code de prédiction, mais cela ne marche pas quand je tente d’appliquer directement des nombres pour prédire. Je te remercie pour ton attention ! Je vais partager tes vidéos auprès de la communauté d’étudiants en neurosciences, sciences cognitives de l’université de Bordeaux car tu es vraiment à l’écoute de tes auditeurs et très pédagogue. Pierre.

  • @zieouattara9708
    @zieouattara9708 4 роки тому +1

    C’est de l’apprentissage non supervisé ??

    • @MachineLearnia
      @MachineLearnia  4 роки тому +3

      Non, toute la vidéo concerne l'apprentissage supervisé. Je vais faire la vidéo sur l'apprentissage non-supervisé très bientôt !

    • @zieouattara9708
      @zieouattara9708 4 роки тому

      Machine Learnia impatient

  • @seraphintemadang2217
    @seraphintemadang2217 Місяць тому

    Waouh vous m'avez impression

  • @irisiris3388
    @irisiris3388 4 дні тому

    0,76 pour l'exercice

  • @spritevlsm
    @spritevlsm 4 роки тому +1

    Sans commentaire !!!!!!!!
    👍👍👍👍👍👍👍👍

    • @MachineLearnia
      @MachineLearnia  4 роки тому +1

      Merci pour ce commentaire sans commentaire !

  • @globaltitofoundation
    @globaltitofoundation Рік тому

    S'il te plaît si tu peux commencer avec des vidéos de projets réels et avancée ça pourrait beaucoup plus m'aider

  • @The__T
    @The__T 2 роки тому

    Bonjour
    D'abord je vous remercie beaucoup des leçons que vous exposez sur les machines learning ils sont excellents.
    Voilà, je travail sur le forecasting concernant le rayonnement solaire. Ma question est ce que les données de la data base doivent être stationnaire en tant que série temporel afin de les faire entraîner sur un modèle machine learning?

    • @MachineLearnia
      @MachineLearnia  2 роки тому

      Pas forcément, vous pouvez utiliser un modele ARIMA si les données ne sont pas stationnaires.

  • @jeannetteemerencemekuate1379
    @jeannetteemerencemekuate1379 8 місяців тому

    Merci pour tes vidéos. J'ai une formation en analyse de données tu me fais réviser les cours en apprenant python

  • @marctwit5727
    @marctwit5727 2 роки тому

    job de pedagogie haute performance

  • @ineschtioui3776
    @ineschtioui3776 4 роки тому

    guillaume stp tu peux m aider à comprende ce code j ai pas eu de reponse sur discord :(
    score_train=[]
    score_test=[]
    oof_train = np.zeros((len(X)))
    cv_scores = []
    train_scores=[]
    for ind,(ind_train,ind_val) in (enumerate (kfolds.split(X,y))):
    X_train,X_val = X.iloc[ind_train],X.iloc[ind_val]
    y_train,y_val = y.iloc[ind_train],y.iloc[ind_val]
    xgb = XGBRegressor(subsample=0.9,colsample_bytree=0.5,learning_rate=0.09,max_depth=10,min_child_weight=5,n_estimators=360,objective='reg:squarederror',random_state=85)
    xgb.fit(X_train,y_train)
    val_pred = xgb.predict(X_val)
    train_pred = xgb.predict(X_train)
    oof_train[ind_val] += val_pred
    score_fold_validation=np.sqrt(mean_squared_error(y_val, val_pred))
    score_fold_train=np.sqrt(mean_squared_error(y_train, train_pred))
    train_scores.append(score_fold_train)
    cv_scores.append(score_fold_validation)
    score_test.append(r2_score(y_val, val_pred))
    score_train.append(r2_score(y_train,train_pred))
    print('Iteration : {} - CV Score : {} - R² Score CV : {} - Train Score : {} - R² Score train : {}'.format(str(ind+1),score_fold_validation,r2_score(y_val, val_pred),score_fold_train,r2_score(y_train,train_pred)))
    end_train_score=np.mean(train_scores)
    train_scores.append(end_train_score)
    end_cv_score=np.mean(cv_scores)
    print('Average CV score : {} - Average Train score : {}'.format(end_cv_score,end_train_score))

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      Salut Ines.
      C'est un code qui découpe tes donnéesavec la technique KFold (je l'ai montré dans la vidéo avec le jeu de carte) pour ensuite faire une validation croisée a la main : A chaque iteration, un modele SGDRegressor est entrainé sur un train split Kfold, puis il est évaluer sur le testsplit. A la fin, on fait la moyenne des scores pour avoir une moyenne globales de la performance

  • @ediangonebadji7964
    @ediangonebadji7964 4 роки тому +1

    merci encore

  • @nostalgia9048
    @nostalgia9048 2 місяці тому

    excellent !!

  • @alexlabou8920
    @alexlabou8920 2 роки тому

    svp pouvez noius indiquer un site pour avoir des bases de données pour des projets personnelles?

  • @xaviercrozes631
    @xaviercrozes631 4 роки тому +1

    Extrêmement pédagogique ! Merci beaucoup

  • @radiopaquito4462
    @radiopaquito4462 4 роки тому +1

    Merci beaucoup pour cette vidéo, très claire et très précise :) Cela change des vidéos trop difficiles à suivre :) Merci :)

  • @globaltitofoundation
    @globaltitofoundation Рік тому

    Non Guillaume t'est le meilleur🥰

  • @bricesiou1572
    @bricesiou1572 5 місяців тому

    cool

  • @tafsirndiour
    @tafsirndiour Рік тому

    On est en fin 2022, je tombe sous ces vidéos géniales, franchement merci beaucoup.
    Ma réponse du coup pour les hyperparamètres: {'metric': 'manhattan', 'n_neighbors': 12, 'weights': 'distance'}

  • @alexwina7491
    @alexwina7491 4 роки тому +1

    Juste Merci avec un grand M Guillaume :)

    • @MachineLearnia
      @MachineLearnia  4 роки тому

      C'est un plaisir ! Et ça me fait encore plus plaisir quand je reçois des remerciements ! :)

  • @chainonsmanquants1630
    @chainonsmanquants1630 4 роки тому

    Merci

  • @jonathannoutcha9749
    @jonathannoutcha9749 4 роки тому +1

    je te remercie

  • @soufiane_elbk
    @soufiane_elbk Рік тому

    Done

  • @TechSmartAtelier
    @TechSmartAtelier 2 роки тому

    bonsoir
    Merci pour la vidéo
    J'ai une question
    dans le cas d'une régression linéaire, quel paramètre on utilise a la place de " n_neighbors" dans la GridSearchCV ?
    Merci

    • @deuxsoixantedouze1670
      @deuxsoixantedouze1670 2 роки тому +1

      Bonjour, je pense que vous n'avez pas besoin d'utiliser GridSearchCV pour une régression linéaire. C'est un modèle qui vous donne d'emblée le meilleur coefficient R²

  • @CherifDwd
    @CherifDwd Місяць тому

    vous êtes le meilleur

  • @christopheaballea8452
    @christopheaballea8452 7 місяців тому

    Bravo pour votre pédagogie. On sent que vous êtes passionné et que vous aimez transmettre. Merci !👏👏👏

  • @jeankouassitraore8660
    @jeankouassitraore8660 2 роки тому

    Bonsoir chers
    GUILLAUME. Je suis un débutant en machine learning. J'ai une question qui me dérange ces derniers temps. Ma question est :
    Comment savoir quel type constructeur faut-il utiliser pour développer un modèle de machine learning avec les données qu'on possède ??

  • @deadsoulfx5156
    @deadsoulfx5156 11 місяців тому

    Bonjour et merci bcp pour ces explications très claires. Toutefois j'aurais une question. Peut on appliquer ces différentes méthodes à d'autres type de modèles, comme par exemple en régression logistique ou linéaire multiple ?
    Merci par avance pour votre réponse ;)

  • @spider279
    @spider279 Рік тому

    Tout d'abord excellent vidéo comme toujours depuis que je te suis ,
    train_score,val_score=validation_curve() le fait d'initialiser 2 variables differentes simultanément a quel effet merci de me l'expliquer

  • @yousseffellous8153
    @yousseffellous8153 4 роки тому +1

    Merci , super vidéo !

  • @mohamedoutghratine6432
    @mohamedoutghratine6432 4 роки тому +1

    Merci pour tes vidéos. Encore une fois, c'est très clair et vraiment bien détaillé ;)

  • @ahmedammar9058
    @ahmedammar9058 4 роки тому +1

    Super génial! Excellent tuteur!! merci :)

  • @williamsavoce279
    @williamsavoce279 4 роки тому

    Pour ceux qui ont aimé aussi bien la vidéo que le son voici le lien vers le son : ua-cam.com/video/IhPPJhBda9M/v-deo.html . Personnellement j'ai adoré le son utilisé pour intro le GreadSearchCV