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

Поделиться
HTML-код
  • Опубликовано: 5 окт 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

  • @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.

  • @pulsorion
    @pulsorion 4 года назад +57

    La pédagogie à son paroxysme. 👏

  • @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 !)

  • @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.

  • @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 ! :)

  • @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

  • @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 :)

  • @Amadou418
    @Amadou418 4 года назад +2

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

  • @christopheaballea8452
    @christopheaballea8452 7 месяцев назад

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

  • @tiohacademy
    @tiohacademy Год назад

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

  • @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'}

  • @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.

  • @MrFruxion
    @MrFruxion 4 года назад

    Bonjour, Guillaume. L'explication sur les données de validation m'a fait sourire. Elle me fait penser aux projets informatiques en entreprise. De mon expérience c'est exactement la même chose ! Si les développeurs travaillent avec en vue les données des tests d'intégration (= test set) alors le code n'est pas vraiment bon puisque qu'ils développent alors des comportements trop en accord avec ces mêmes données et des bugs sont à prévoir en production. C'est là qu'intervient les tests en validation (souvent faits par le client). Ces tests (validation set) vont alors éprouvés réellement le code afin de savoir si il n'y a pas de bug. Je trouve l'analogie vraiment intéressante.

    • @MachineLearnia
      @MachineLearnia  4 года назад

      J'adore votre analogie et je la valide a 100% ! Merci d'avoir partagé un peu de votre expérience professionnelle ! :)

  • @4ppolyon
    @4ppolyon Год назад +2

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

  • @zainasadoun-nr8qh
    @zainasadoun-nr8qh 11 месяцев назад

    Merci Beaucoup , vous êtes mille fois mieux que notre prof de la fac 👏👏👏

  • @quentinpotie1814
    @quentinpotie1814 3 года назад

    Très dense cette vidéo ! J'ai appris beaucoup de choses merci !
    Résultats : metric = manhattan, neighbors ~10-25, weights = distance; need more data; score sur le test set ~ 75-85%

    • @MachineLearnia
      @MachineLearnia  3 года назад

      Merci a toi et bravo pour avoir réalisé l'exercice !

    • @darkiche3689
      @darkiche3689 3 года назад

      C'est drôle, pour ma part la metric c'est euclidean ! Ça peut s'expliquer par quoi d'après vous ?

    • @MachineLearnia
      @MachineLearnia  3 года назад +1

      @@darkiche3689 le hasard selon lequel les données ont été découpées dans les cross_validations

  • @EricPelletier-dq9gk
    @EricPelletier-dq9gk Год назад +1

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

  • @abdelkaderhamadi7422
    @abdelkaderhamadi7422 3 года назад

    Merci beaucoup pour ces tuto magnifiquement montés. Vous avez de la pédagogie que nombreux profs n'en ont pas

    • @MachineLearnia
      @MachineLearnia  3 года назад

      Merci beaucoup ça me fait très plaisir :)

  • @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 ! :)

  • @AlexisAshura
    @AlexisAshura 3 года назад

    Merci beaucoup Guillaume, vous êtes je pense le meilleur prof que j'ai pu croisé de toute mon existence, excellente présentation, très claires on a même pas besoin de revenir en arrière tout rentre très facilement... encore merci, bises

    • @MachineLearnia
      @MachineLearnia  3 года назад

      C'est génial ! Merci beaucoup ca me fait tres plaisir de lire ca ! :)

  • @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 !

  • @jonasguignet6051
    @jonasguignet6051 2 года назад

    Génial, je suis tes vidéos depuis la première de la série spéciale machine learning et c'est épatant. J'éprouve tellement de satisfaction à suivre tes vidéos, merci. C'est limpide et vraiment entraînant !

  • @laurentdorel8354
    @laurentdorel8354 3 года назад

    Bonjour Guillaume, merci pour tout ton travail très pédagogique. Pour l'exercice, j'ai obtenu :
    La meilleure combinaison est {'metric': 'manhattan', 'n_neighbors': 7, 'weights': 'uniform'}
    Le test_score est de 0.82
    Il semblerait qu'augmenter le nombre de données pourrait améliorer notre modèle cependant, l'écart-type des données étant assez important, cela n'est pas assuré !

    • @MachineLearnia
      @MachineLearnia  3 года назад

      Je suis 100% d'accord avec toi, surtout concernant la variance ! En effet il y a une grande part de hasard dans les gens qui ont survécus au naufrage du titanic.

  • @barma1986
    @barma1986 4 года назад

    Bonjour Guillaume , un grand merci pour l'effort que tu es entrain de fournir afin de rendre le ML accessible. ça fait des années que je voudrais m'interesser au ML, mais la motivation manquait, grace à tes vidéo je commence à prendre gout et j'ai trouvé qu'on peut tres bien s'amuser avec le ML. J'ai essayé l'exercice et j'ai obtenu un score de 0,8333 avec les parametres suivants:{'metric': 'canberra', 'n_neighbors': 7, 'weights': 'uniform'}

    • @MachineLearnia
      @MachineLearnia  4 года назад +1

      Ton message me fait super plaisir ! :) Bravo pour ta motivation a faire du Machine Learning et c'est génial si tu t'amuses bien en progressant, ca va t'offrir un bel avenir !
      Bravo pour tes résultats sur l'exercice.

  • @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

  • @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

  • @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 ! :)

  • @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

  • @mouhamedcamara8063
    @mouhamedcamara8063 4 года назад

    Grand merci à vous,
    Pour l'exercice, j'obtiens:
    1) Meilleur paramétrage : {'metric': 'manhattan', 'n_neighbors': 17, 'weights': 'distance'}
    2) Best Score Train: 0.8949211908931699
    3) Best Score Test: 0.7832167832167832
    4) Et selon le Learning-curve, il nous faudra encore plus de données pour améliorer notre modele
    Et comme vous, la fonction de prédiction me dit que j'y serai resté :)

    • @MachineLearnia
      @MachineLearnia  4 года назад +1

      Je suis d'accord avec vos résultats, bien joué ! :)

  • @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 !

  • @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

  • @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 ! :)

  • @herveballa4692
    @herveballa4692 3 года назад

    La manière de passer de la cross validation au Grid search CV est juste magnifique!!!!!!!!!!!!!!!!!!!

  • @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 RUclips 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?

  • @johannsenn37
    @johannsenn37 4 года назад +1

    Bonjour Guillaume,
    L'exercice sur le dataset du titanic me donne un Score test de 83,9% avec les hyperparametres suivants :
    metrics : manhattan, n_neighbors : 14, weights : distance.
    Pour arriver a ce resultat, j'ai augmenter le nombre de decoupe à 10 ainsi que le nombre de voisins à 100 pour "regarder" un peu plus loin. Je ne sais pas si la démarche est la bonne , mais les resultats sont meilleurs.
    Selon la learning curve il nous faudrait plus de données mais celle-ci semble s'aplatir à partir de 400 donc pas sûr selon moi que plus de données donneraient de meilleurs resultats.
    Au passage, merci pour ces videos tres pedagogiques qui me permettent d'apprendre et comprendre plus rapidement, c'est vraiment top! :) Et merci pour la mise en place du Discord c'est cool :)

    • @MachineLearnia
      @MachineLearnia  4 года назад

      Les résultats sont intéressants et ton analyse est bonne. Il est tout a fait OK d'avoir un cv=10. Concernant le nombre de voisin, je pense que 100 est pile la limite maximum (je pense qu'au dessus ca serait trop) Pas mal du tout !

  • @anonymousvevo8697
    @anonymousvevo8697 Год назад

    tu es 10 fois meilleur de mon prof ! Merci bcp

  • @khadimdiakhate8382
    @khadimdiakhate8382 4 года назад

    Merci Guillaume
    Pour le TP j'ai trouvé :
    best_estimator => { metric='manhattan', n_neighbors=14, weights='distance' }
    score => 0.783
    Après avoir tracer la courbe d'apprentissage, on voit qu'on peut améliorer le modéle avec plus de données

    • @MachineLearnia
      @MachineLearnia  4 года назад

      Bravo, je suis d'accord avec vos résultats !

  • @boutifar5913
    @boutifar5913 Год назад

    Tout d'abord bravo à toi pour la qualité exceptionnelle de ces vidéos. J'ai bien compris que le but de la vidéo était la cross-validation mais juste une petite précision pour tout le monde: il n'y a pas de phase d'entrainement pour l'algorithme knn (désolé si c'est dit dans la video et que j'ai loupé ça)

  • @ouedraogoaboubakari6538
    @ouedraogoaboubakari6538 3 года назад

    Grand Merci à vous très cher Guillaume.
    j'ai eu comme hyperparametre :
    metric : euclidean, n_neighbors : 11 et un score sur le test_set de 96%
    matrix de confusion :
    ([[10 , 0 , 0],
    [0 , 11 , 1],
    [0 , 0 , 8]
    ])

    • @MachineLearnia
      @MachineLearnia  3 года назад +1

      Bravo d'avoir fait l'exercice, ce sont de bons résultats. :)

  • @yattecyrille9918
    @yattecyrille9918 4 года назад

    Bonsoir Guillaume,
    Avec vos vidéos, le machine learning devient une chose évidente. Je suis heureux de vous suivre et bravo à vous!
    En relation avec l'exercice, j'ai obtenu 0.74 pour le n_neighbors et manathan pour le metric. Cependant ces hyperparamètres changent à chaque fois que je change la taille de mon jeu d'entraînement, de test et également le cv de GridSearchCV.

    • @MachineLearnia
      @MachineLearnia  4 года назад

      Merci beaucoup !
      Il est normal que les hyper-params changent si les données changent. Par exemple si vous remélangez vos données et utilisez d'autres données pour le train, alors le nombre de voisin optimal pour la machine va surement etre différent.

  • @romainbadet1814
    @romainbadet1814 3 года назад

    Chaque vidéo est meilleure que la précédente! Un grand 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 !

  • @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 :)

  • @theobloquet39
    @theobloquet39 3 года назад

    Bonjour Guillaume!
    Tout d'abord un grand merci pour tes vidéos qui sont justes exceptionnelles, très instructives, on les comprend parfaitement, la difficulté est justement dosée, nickel pour un étudiant qui veut se lancer dans le ML comme moi !
    Pour l'exercice du Titanic, j'ai visiblement obtenu des résultats similaires à d'autres personnes, mais voici les miens : (0.7495347063310451, {'metric': 'manhattan', 'n_neighbors': 15})
    Malheureusement plus que 9 épisodes de cette formation à savourer !

    • @MachineLearnia
      @MachineLearnia  3 года назад

      Merci pour ton message, ca me fait tres plaisir ! :)

  • @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

  • @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

  • @juniortonga9318
    @juniortonga9318 Год назад

    Purée tout mon cours en quelque minute 😍 merciiiiii

  • @yannkerzreho2850
    @yannkerzreho2850 Год назад

    Bonjour, merci beaucoup pour ces vidéos de grande qualité ! Je n'avais pas de problème jusqu'à celle-ci, quand j'utilise model.score ou tout autre méthode de validation Jupyter ou Spyder me renvoie :
    FutureWarning: Unlike other reduction functions (e.g. `skew`, `kurtosis`), the default behavior of `mode` typically preserves the axis it acts along. In SciPy 1.11.0, this behavior will change: the default value of `keepdims` will become False, the `axis` over which the statistic is taken will be eliminated, and the value None will no longer be accepted. Set `keepdims` to True or False to avoid this warning.
    mode, _ = stats.mode(_y[neigh_ind, k], axis=1)
    Je ne comprend pas pourquoi, je n'utilise pas directement SciPy, et je n'ai pas trouvé comment enlever ce message (qui n'est pas trop problématique car le code arrive quand même s'exécuter). Pourriez-vous m'aider ?
    Merci beaucoup !

    • @yannkerzreho2850
      @yannkerzreho2850 Год назад

      [Solution]
      import warnings
      warnings.filterwarnings('ignore', category = FutureWarning)

  • @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.

  • @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 :)

  • @mohamedoutghratine6432
    @mohamedoutghratine6432 4 года назад +1

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

  • @zinebadaika6544
    @zinebadaika6544 4 года назад

    Merci infiniment ,votre explication est très très très excellent,Allah bless you

  • @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 !

  • @amyd.2840
    @amyd.2840 4 года назад +4

    Comme toujours super vidéo, merci !

  • @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

  • @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 ! :)

  • @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 ! :)

  • @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.

  • @ريانسبيدرمان
    @ريانسبيدرمان 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

  • @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

  • @mmarva3597
    @mmarva3597 3 года назад

    Franchement vous êtes un dieu !! super vidéo merci beaucoup

    • @MachineLearnia
      @MachineLearnia  3 года назад

      Carrément !? Merci beaucoup :)

    • @mmarva3597
      @mmarva3597 3 года назад

      @@MachineLearnia Normal hier ne je comprenais rien mais aujourd'hui je me rends compte que c'est très simple et ce grâce à toi. C'est une question de maitrise et surtout de pédagogie :)

  • @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

  • @CherifDwd
    @CherifDwd 2 месяца назад

    vous êtes le meilleur

  • @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 🙏

  • @aaronad2456
    @aaronad2456 4 года назад +1

    Propre et précis !! Parfait ! Merci beaucoup 😊

    • @MachineLearnia
      @MachineLearnia  4 года назад +1

      Merci beaucoup pour ce commentaire, j'ai pris soin de faire de la qualité, comme toujours !

  • @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é.

  • @xaviercrozes631
    @xaviercrozes631 4 года назад +1

    Extrêmement pédagogique ! Merci beaucoup

  • @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 👍👍

  • @anasseidrissi6731
    @anasseidrissi6731 3 года назад

    Chapeau ! Merci infiniment . est-ce qu'on peut esperer des series similaires sur le deep learning. Merci

    • @MachineLearnia
      @MachineLearnia  3 года назад +1

      Bonjour Et merci :)
      Oui le premier épisode sur le deep learning va bientot sortir

  • @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 :)

  • @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.

  • @karlbina9665
    @karlbina9665 4 года назад

    La qualité est au rendez-vous et c'est très instructive comme formation.

  • @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.

  • @ahmedammar9058
    @ahmedammar9058 4 года назад +1

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

  • @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 :)

  • @cyrilbaudrillart8155
    @cyrilbaudrillart8155 4 года назад

    Juste magnifique! Bravo pour la qualité des vidéos et la clarté des explications. Merci infiniment Guillaume. Cerise sur le gâteau: les codes disponibles dans github :-)

  • @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 ;)

  • @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 ! :)

  • @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

  • @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

  • @bairammohamedkheireddine2695
    @bairammohamedkheireddine2695 3 года назад

    Merci beaucoup pour la video ,est ce que vous pouvez faire une video sur l'analyse en composantes principales(ACP) ,merci d'avance.

  • @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😊

  • @seraphintemadang2217
    @seraphintemadang2217 Месяц назад

    Waouh vous m'avez impression

  • @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.

  • @noredinehaj2135
    @noredinehaj2135 2 месяца назад

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

  • @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

  • @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)

  • @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

  • @w.marquess4643
    @w.marquess4643 3 года назад

    merci beaucoup, très claire, je partage tout de suite

  • @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

  • @mwanzamayukipax2707
    @mwanzamayukipax2707 4 года назад +1

    vous etes tres formidable

  • @nizarnizar6965
    @nizarnizar6965 2 года назад

    Cher Guilaume, merci pour tes excellentes présentations. Pour évaluer un seul modèle, je pense il faut se baser sur cross-validation pour trouver le vrai score (moyenne) et non un seul score basé sur une seule split. Est ce que c'est juste ?

  • @jipy3220
    @jipy3220 4 года назад

    Merci Guillaume! Pour la learning_curve peux-tu faire un tuto ou une fiche sur son utilisation et sa lecture. J'aimerais mieux comprendre son utilité et son fonctionnement. Merci

    • @MachineLearnia
      @MachineLearnia  4 года назад +1

      J'ai prévu de mieux l'expliquer dans mon livre qui va bientot sortir, et je vais également faire une nouvelle video pour mieux en parler (avec l'overfitting et l'underfitting)

    • @guirikiki235
      @guirikiki235 3 года назад

      @@MachineLearnia Hello. Merci pour tes vidéos, je serai intéressé par ton livre si il est déjà sorti ? Merci et bonnes fêtes.

  • @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 ??

  • @ediangonebadji7964
    @ediangonebadji7964 4 года назад +1

    merci encore

  • @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.

  • @soukaina980
    @soukaina980 4 года назад

    Salut, je vous remercie d'abord pour vos vidéos qui sont très constructives et qu'on consomme sans se rendre compte du temps écoulé.
    Bon je veux savoir est ce que ces méthodes expliquées dans cette vidéo peuvent être utilisées juste dans les algorithmes du supervisé ou même dans les algorithmes du non supervisé? Et aussi dans le cas de la classification ou dans tous les modèles .
    Je vous remercie encore une autre fois pour vos partages de savoir et je vous félicite sur la qualité de votre travail.

    • @MachineLearnia
      @MachineLearnia  4 года назад +1

      Bonjour et merci. On utilise surtout ces méthodes pour le supervisé, régression ET classification. merci :)

    • @soukaina980
      @soukaina980 4 года назад

      @@MachineLearnia D'accord, merci pour votre réponse. En fait, je travaille sur un problème de détection de fraude. On a essayé deux modèles du non supervisé. La performance est bonne. Mais, nous n'avons pas pu obtenir les informations pour l'améliorer en utilisant la GridSearchCV et learning curve . C'est très compliqué. Est ce que vous pouvez nous proposer des méthodes pareils au cas des algorithmes de l'apprentissage non supervisé ?
      Merci encore une autre fois.

    • @MachineLearnia
      @MachineLearnia  4 года назад

      Personnellement je code mes propres fonctions de recherches pour ce genre d'algorithme (ou j'explore de facon aléatoire le domaine des hyper-parametres) Donc je ne sais pas si sklearn permets de faire ca

    • @soukaina980
      @soukaina980 4 года назад

      @@MachineLearnia D'accord, merci beaucoup. ça me dit bcp de choses.

  • @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.