PYTHON SKLEARN PRE-PROCESSING + PIPELINE (22/30)

Поделиться
HTML-код
  • Опубликовано: 19 июл 2024
  • Dans ce tutoriel Python sur sklearn (scikit-learn) je vous montre comment faire du pre-processing pour améliorer vos performances en Machine Learning et Data Science. Nous voyons comment traiter nos données avec LabelEncoder, OneHotEncoder, MinMaxScaler, StandardScaler, et bien d'autres transformers du module sklearn.preprocessing. En fin de vidéo je vous montre comment assembler plusieurs transformers ensemble avec le module Pipeline. Voici la timeline de la vidéo :
    0:00 Intro
    00:43 Data preprocessing
    02:56 Transformer Sklearn
    05:37 Encodage Ordinal
    10:13 Encodage One-Hot
    11:19 Sparse Matrix
    15:44 Normalisation MinMax
    19:27 Standardisation
    22:41 RobustScaler
    24:20 PolynomialFeatures
    27:00 Discretisation
    29:00 Pipelines
    Petit résumé :
    Le preprocessing est important pour améliorer la qualité de nos données avant leur passage dans la machine. Pour ca sklearn ont développé un objet appelé transformer. Son rôle est de transformer nos données de façon cohérente, en appliquant sur les données du testset la même fonction de transformation qui a servie a traiter les données du trainset.
    Pour ca, les transformers disposent d'une méthode fit(X_train) et d'une méthode transform(X_test), un peu comme les estimateurs disposent d'une méthode fit(X_train, y_train) et d'une méthode predict(X_test)
    Parmi les opération de preprocessing les plus populaires, on retrouve :
    L'Encodage : LabelEncoder, OrdinalEncoder, LabelBinarizer, et OneHotEncoder
    La Normalisation : MinMaxScaler, StandardScaler, RobustScaler
    la Création de polynômes : PolynomialFeatures
    la Discretisation : Binarizer, KBinDiscretizer
    les transformations non-linéaires : PowerTransform, QuantileTransform
    La classe Pipeline de sklearn permet d'assembler plusieurs transformers avec un estimateur, formant ainsi un estimateur composite. GridSearchCV vous permet ensuite de trouver les meilleurs paramètres de votre pipeline.
    ► MON SITE INTERNET EN COMPLÉMENT DE CETTE VIDÉO:
    machinelearnia.com/
    ► REJOINS NOTRE COMMUNAUTÉ DISCORD
    / discord
    ► D'autres BONUS sur Tipeee:
    fr.tipeee.com/machine-learnia
    ► Recevez gratuitement mon Livre:
    APPRENDRE LE MACHINE LEARNING EN UNE SEMAINE
    CLIQUEZ ICI:
    machinelearnia.com/apprendre-...
    ► Télécharger gratuitement mes codes sur github:
    github.com/MachineLearnia
    ► Abonnez-vous : / @machinelearnia
    ► Pour En Savoir plus : Visitez Machine Learnia : machinelearnia.com/
    ► Qui suis-je ?
    Je m’appelle Guillaume Saint-Cirgue et je suis Data Scientist au Royaume Uni. Après avoir suivi un parcours classique maths sup maths spé et avoir intégré une bonne école d’ingénieur, je me suis tourné vers l’intelligence artificielle de ma propre initiative et j’ai commencé à apprendre tout seul le machine learning et le deep learning en suivant des formations payantes, en lisant des articles scientifiques, en suivant les cours du MIT et de Stanford et en passant des week end entier à développer mes propres codes.
    Aujourd’hui, je veux vous offrir ce que j’ai appris gratuitement car le monde a urgemment besoin de se former en Intelligence Artificielle.
    Que vous souhaitiez changer de vie, de carrière, ou bien développer vos compétences à résoudre des problèmes, ma chaîne vous y aidera.
    C’est votre tour de passer à l’action !
    ► Une question ? Contactez-moi: contact@machinelearnia.com

Комментарии • 402

  • @johnnydelloue5174
    @johnnydelloue5174 Год назад +3

    il nous faudrait plus de professeur comme vous , très bonne pédagogie pour enseigner les sciences (math, physique, informatique), nos enfants ne sont pas aider, heureusement qu'il existe des personnes passionnées comme vous pour faire ce type de cours en vidéo. Pour ma part, je suis ingénieur en Mécanique et maintenance (gestion de projet) et j'y trouve en grand intérêt à suivre vos vidéos.

  • @vivouprince
    @vivouprince 4 года назад +14

    En un seul mot : Parfait ! Merci mille fois, Guillaume, pour ton énergie à nous communiquer ta passion.

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

      Merci c'est un plaisir de vous avoir comme public.

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

    Milles merci !! C'est remarquable tout ce que tu offres dans tes vidéos! Encore MERCI !

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

      Milles de rien ! Merci de ton soutien :)

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

    c'est en regardant et en écumant les autres vidéos et les autres chaines qu'on peut se rendre compte de ta facilité de vulgarisation , bien joué , et encore merci

  • @madaragrothendieckottchiwa8648
    @madaragrothendieckottchiwa8648 4 года назад +6

    Bon retour parmi nous ! Au passage bon heureuse année toi comme d'ab belle vidéo !!

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

      Merci beaucoup. J’espère que la vidéo vous plait vraiment, j'y ai passé du temps parce que le sujet est fondamental, mais j’espère également que le rythme n'est du coup pas trop lent.

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

    J'en suis à ma 28ème vidéo de ta chaîne en 2 jours. J'ai beau avoir passé le certificat IBM Data Science sur Coursera, il y a un paquet de trucs qui restaient flous. J'aimerais détruire le bouton like tellement tes explications sont claires et concises - c'est devenu un jeu d'enfant. Je m'attaque pour le moment à un algo génétique, j'espère que dans le futur tu pourras couvrir cette discipline passionnante. En attendant, 1000x MERCI pour ton boulot incroyable 🙏 Toutes les formations devraient renvoyer vers ton contenu - il est imbattable niveau pédagogie 😊 Je te souhaite tout le meilleur !

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

      Salut ! Désolé pour ma réponse tardive, ton commentaire est passé entre les mailles du filet ! Ca me fait tres plaisir de lire ton message, et oui je vais m'attaquer aux alogs génétiques surement en 2023.

    • @deojuvante1649
      @deojuvante1649 Год назад +1

      @@MachineLearnia Bonjour, attention, il y a une erreur sur la standardisation. Il fallait standardiser Y également !

  • @risiboule5573
    @risiboule5573 4 года назад +15

    Je passe juste pour dire que la newsletter est top !
    Première fois que j'en lis une à 100% et avec plaisir ;)
    Je regarderai la vidéo ce soir :o

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

      Merci c'est bien agréable de savoir que vous appréciez la newsletter ! Je m'applique beaucoup dans la création des résumés car j'aime ça et c'est cool d’être en contact avec des gens aussi motivés comme vous !

  • @mamadouseydi4999
    @mamadouseydi4999 4 года назад +3

    Enfin de retour, comme d'hab belle vidéo, merci a vous.

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

      Merci, content de savoir que la vidéo vous a plu !

  • @julienjacquemont6048
    @julienjacquemont6048 4 года назад +6

    Salut Guillaume,
    Quelle joie de voir la chaîne reprendre de plus belle pour l'année 2020. Cette vidéo a du être le résultat d'un travail monstrueux d'écriture et de montage et ce travail (dans mon cas) paye: Sklearn comporte tellement de fonction, de module,.... que j’étais littéralement perdu dans son utilisation. Ces 37 minutes sur sklearn ont mis de l'ordre dans ma vision du module et du preprocessing en général (souvent peu abordé sur d'autres chaines de ML). Je t'en remercie.
    Je trouve particulièrement satisfaisant les moments où, quelques choses qui nous apparaît comme complexe, devient d'un coup parfaitement intelligible.En cela je dois dire que, Machine Learnia est une chaîne particulièrement satisfaisante ;)!
    Merci pour la qualité de ton travail :D

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

      Salut Julien !
      Merci beaucoup pour ton super message ! Oui j'ai mis du temps a sortir la vidéo 22/30 (ce qui explique en partie la pause de décembre) car c'est selon moi la vidéo la plus importante de la série ! J'avais donc écrit un texte / code qui couvrait un maximum de choses, tout en essayant de rester a l'essentiel (un peu paradoxal du coup.. ce qui m'a pénalisé en temps). Au final j'avais du contenu qui durait plus d'une heure de vidéos, et je ne voulais pas upload cela sur RUclips, parce que je pense que c'est moins efficace pour vous.
      J'ai donc mis pas mal de temps a ré-ajuster mes mots, réduire la quantité, et sélectionner le plus important.
      Au final, j'aurais préféré faire 3 vidéos différentes (Encodage, Normalisation, Pipelines) mais ca ne rentrait pas dans les 30 vidéos de la série.
      Je suis tres heureux de savoir que la vidéo et le reste de mon contenu te permette de progresser et de mieux comprendre Sklearn. C'est mon but premier sur RUclips, il faut le rappeler : apporter de la valeur aux personnes intéressées par la Data Science / Machine Learning / Deep Learning
      Merci cher ami et a bientôt pour les prochaines vidéos ! :)

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

    Merci beaucoup cher Guillaume!! super beau comme vidéo un Grand bravo pour ton travail !!

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

    merci beaucoup je reviens souvant à tes videos ce sont une mine d'or en information

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

    Merci! c'était très clair. Super video.
    Grâce à vous mes modèles de données seront plus efficaces

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

    mercii enormement pour cette video, vous m'a beaucoup aidé sur mon projet de fin d'etude.

  • @master-tech1815
    @master-tech1815 4 года назад

    Je vous admire bro vous me permettez de bien comprendre ces notions
    Merci bcp et bonne continuation et j'ai hâte de suivre votre vidéo sur les réseaux neuronaux et sur l'algorithme de bacprop

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

      Merci beaucoup :) Oui j'ai hâte de faire ces vidéos aussi, j'adore ce sujet et je ferai de mon mieux pour que tout le monde comprenne

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

    Merci pour pour la vidéo, elle vient répondre à une question essentielle de mon domaine d'activité.

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

      C'est un plaisir ! A bientôt et bon courage dans vos projets ! :)

  • @khalilrabia-iw6sw
    @khalilrabia-iw6sw Год назад

    C"est la meilleure video que j'ai pu voir sur youtube !!!

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

    Je fais pas souvent de commentaire, mais ici, je pouvais pas passer sans dire merci. Super clair et concis, vraiment au top cette vidéo !!!

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

      Merci beaucoup je le prends avec une grand honneur alors :D

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

    Excellente vidéo, je suis stupéfaite par vos explications minutieuses et en même temps concises !! Après avoir parcouru dizaines de vidéos en anglais, qui m'ont rendu plus confuse qu'à l'inverse, avec cette vidéo, tout devient claire ! Merci pour ce beau travail !!

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

      Merci beaucoup, c'est un grand plaisir ! :)

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

    Merci Monsieur Guillaume,
    Pour la première fois je peux avoir un porsantage de 100% xD.
    Mon code:
    model = make_pipeline(PolynomialFeatures(),
    StandardScaler(),
    SGDClassifier(random_state=0))
    #model
    params = {
    'polynomialfeatures__degree': np.arange(1, 7),
    'polynomialfeatures__include_bias': [True, False],
    'standardscaler__copy': [True, False],
    'sgdclassifier__penalty': ['L1', 'L2']
    }
    grid = GridSearchCV(model, param_grid=params, cv=4)
    grid.fit(X_train, y_train)
    best_model = grid.best_estimator_
    y_pred = best_model.predict(X_test)
    confusion_matrix(y_test, y_pred)

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

    AH mon professeur favoris est de retour Welcome.! Alors la super vidéo très très très instructifs du contenue clair. Je sens que l'étendue de mon ignorance(erreur) se minimise au fur et à mesure que l'on évolue avec les notions(optimisation) à une vitesse d'apprentissage considérable. J'ai très apprécié la fin de la vidéo punch très énorme

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

      Merci mon cher ami, je suis content de savoir que les vidéos t'aident à progresser, c'est le but ! Pas mal la référence ahah ;) Et oui j'insiste le preprocessing c'est la clef, comme d'autres data scientists, j'ai réussi à gagner beaucoup de puissance dans certains projets, en trouvant les bonnes variables à donner au modele de ML, quel degré de PCA (on en parle dans la prochaine vidéo) utiliser, etc.

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

    C'est excellent ce que tu fais. Merci ! Continue ! :)

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

      Merci beaucoup, je le fais car c'est ma passion et vous êtes un public génial !

  • @90fazoti
    @90fazoti 4 года назад

    Excellente vidéo on apprend toujours de nouvelles choses avec Machine learnia merci encore

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

      Merci de toujours être fidèle aux vidéos ! :)

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

    c'est vraiment un très bon récap.Merci

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

    Cette video est ma preferee de toute la serie...chapeau

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

    j'attends impatiemment tes videos , Merci bcp !

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

      Merci, je fais de mon mieux pour vous :)

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

    Tu expliques vraiment bien. Merci beaucoup

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

    Super !
    Il faudra que je la regarde plusieurs fois, car la vidéo est dense !
    Je suis sur que tes vidéos sont diffusées en université, et écoles d'ingénieurs, car elles sont de très bonnes qualité et très riche en information !
    Merci !

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

      Merci a toi ;)
      Oui, cela arrive, et c'est un grand honneur !
      Heureux de partager mon travail avec les gens

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

    Waouh c'est super bien fait je comprends facilement. J'ai fait plusieurs formations certifiantes mais en tombant sur tes vidéos j'ai mieux compris ce que je codais. Je ne fais plus du copier coller, maintenant je sais ce que je fais. Merci beaucoup

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

    Merci pour cette excellente formation

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

    Merci pour ce contenu de qualité !

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

    Merci pour toutes ces vidéos!

  • @rofaidamerdji4213
    @rofaidamerdji4213 4 года назад +8

    Merci merci .. Tu m'as donné l'envie d'étuder

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

      Ah ! Quel plaisir quand on me dit ca ! Je vais faire prof ! ahah

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

    je suis très intéressante de votre vidéos car ils me aide beaucoup a avancée dans ce domaine

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

      Merci beaucoup je suis heureux d'apprendre ca ! merci pour votre fidélité !

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

    Super vidéo ! :D Merci pour ton travail

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

    Merci énormément pour cette vidéo très enrichissante!

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

    Ah merci le petit exemple sur la fin avec et sans normalisation donne une bonne idée de l'importance ! ... (et la réponse à la question que j'allais posé ^^')

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

      Je suis content d'avoir pu anticiper ta question :D

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

    sincerement, monsieur Guillaume Saint-Cirgue, je te donne un truc , tu sera meilleur prof en web , you're the best teacher.

  • @-x-dx7295
    @-x-dx7295 4 года назад +2

    Merci pour ce tuto pratico-pratique. Y a plus qu'à.

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

      Yes, je vais bientôt vous confier des projets sur la chaîne et on les corrigera ensemble !

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

    Merci pour cette super vidéo, c'est vraiment utile ! J'ai aussi hâte de voir le prochain bonus sur Tipeee ! :)

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

      Merci, je sors le prochain bonus demain

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

      @@MachineLearnia Super ! :)

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

      hihihi

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

      c'est quoi ces bonus et pour moi Tippee c'est une tante d'indien non?

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

    Excellente vidéo, merci infiniment, don con peut dire que l'étape numéro 1 dans la vie d'un Data scientist est après avoir collecter les donné appliquer les transformations adéquates aux donnée avant de les passer à la machine.
    Merci infiniment.
    Cordialement.

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

      Merci. L'étape 1 est l'exploration de données et leur compréhension, cela mène au pre-processing. A partir de la vidéo 25/30 nous allons faire des projets complets et vous pourrez bien comprendre la méthodologie de travail

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

      @@MachineLearnia Je suis déjà impatient de les voir :) ;).

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

      Excusez moi, j'ai pas compris quelque chose dans le code où vous avez fait iris = load_iris() puis X = iris.data,
      est ce que load_iris est une fonction de sklearn ? et que si vous faites t = iris.target que va contenir X et y ? genre comment il saura où sont les targets et les features, ?
      Merci bien.
      Cordialement.

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

      En effet load_iris est une fonction qui permet de charger un objet "Bunch", c'est-a-dire un objet qui regroupe différents éléments (un peu comme un disctionnaire) je vous invite a lire la documentation sklearn pour bien comprendre ca, ou bien je ferai une vidéo a ce sujet

  • @caumauethjacques-emile3124
    @caumauethjacques-emile3124 4 года назад +1

    Le preprocessing c'est la clé de votre réussite.
    Merci pour la vidéo, j'en pleure de joie

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

      Merci, c'est bon de savoir que je peux vous aider ! :)

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

    Un grand merci Guillaume

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

    Salut Guillaume,
    Tout d'abord un grand merci pour ces cours que tu nous mets à disposition gratuitement, ils n'ont absolument rien à envier a ceux présents dans des formations parfois hors de prix ! Donc c'est littéralement un cadeau d'une très grande valeur que tu fais à toute ta communauté
    De plus on sent que tu est passioné et c'est communicatif !
    En ce qui concerne la vidéo j'ai une remarque à faire, je reproduit toujours le code que tu produis pas-à-pas pour mieux comprendre et mémoriser les approches/méthodes et tips que tu présentes.
    Hors ici en entrainant le pipeline avec GridSearch j'ai obtenu un score de ... 1.0
    ça me paraît beaucoup non ? Est-ce normal ou cela montre que j'ai glissé une erreur dans le code ?
    D'ailleurs quand je teste sans aucun preprocessing, j'obtiens un score de 0.64 qui la encore n'est pas le même résultat que dans la vidéo.
    A vrai dire c'est plus le score de 1 qui m'inquiète ;)
    Merci beaucoup de m'avoir lu, et encore merci pour tout ce que tu fais c'est vraiment impressionnant

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

    Excellent!

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

    Vraiment Merci Pour la Vidéo

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

    c'est vraiment tres puissant!

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

    merci beaucoup!!! grace à vous je dis bien grâce à vous que je fais du machine Learning et python pour data science. Avant je ne savais rien faire avec python mais là je me sens balaise hahah

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

      Je suis tres heureux de lire ca ! :)

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

      @@MachineLearnia moi je suis très heureux d'être abonné à vous! Alors on se retrouve sur discord!!!

  • @aloualassane867
    @aloualassane867 4 года назад +5

    ah le petit punch qu'il me fallait just pour booster mon debut de semaine ;)

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

      Je suis heureux de pouvoir vous motiver ! :D

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

    Bonjour,
    vous faites des videos RUclips certainement par passion et autres...
    Mais vous n'avez pas idée de l'aide que vous apportez à des personnes qui retrouvent bloquées dans leurs études, projets, recherches et autres.
    Un simple MERCI ce n'est certainement pas assez au regard du travail fourni, mais j'espère qu'en précisant qu'il vient du fond du coeur, vous saurez lui attribuer une meilleure portée.
    MERCI!

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

      Merci pour votre gratitude :) J'ai un compte tipeee si vous voulez me soutenir :)

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

      @@MachineLearnia j'avais pas remarqué.
      J'apporte au plus vite ma Modeste contribution.

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

      @@bigo025 merci beaucoup !

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

    Merci Guillaume

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

    La qualité ✔ 👏🔥

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

      C'est le plus important la qualité ! Merci a toi ;)

  • @roddymbamba545
    @roddymbamba545 4 года назад +4

    C'est super

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

    Simplement super

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

    Encore Merci!!!!!!!

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

    Encore une super vidéo, bravo pour la pédagogie.
    Des vidéos prévues sur PyTorch, TensorFlow ou Keras ?

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

      Merci beaucoup ! Je prévois de faire des tutoriels sur les 3 ! (des séries même !) On en parle un peu plus tard dans l'année, car pour le moment il faut finir cette série la !

  • @yousseffellous8153
    @yousseffellous8153 4 года назад +3

    Merci Merci pour ce cadeaux ;)

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

      Merci c'est un plaisir de faire des vidéos :)

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

    merci pour les postes intéressants, je vous suis .....

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

    Bonjour Guillaume, j'ai repris la pipeline en testant d'autres transformers (MinMaxScaler et RobustScaler) et j'obtiens de moins bon résultats qu'avec StandardScaler !
    Avec StandardScaler
    Le meilleur score est de 0.975
    La meilleure combinaison est {'polynomialfeatures__degree': 4, 'sgdclassifier__penalty': 'l1'}
    Le test_score est de 0.933
    Avec MinMaxScaler :
    Le meilleur score est de 0.967
    La meilleure combinaison est {'polynomialfeatures__degree': 3, 'sgdclassifier__penalty': 'l1'}
    Le test_score est de 0.867
    Avec RobustScaler :
    Le meilleur score est de 0.975
    La meilleure combinaison est {'polynomialfeatures__degree': 4, 'sgdclassifier__penalty': 'l1'}
    Le test_score est de 0.9

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

      Oui c'est tout a fait possible, tout va bien :)

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

    excellent...

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

    merci prof

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

    Bonjour à toi,
    Merci pour tes supers vidéos, je me sens beaucoup plus à l'aise dans ce domaine depuis que j'ai commencé à les suivre.
    J'ai une question qui n'a pas grand chose à voir avec les vidéos mais qui me semble importante.
    Quelle est selon toi la différence entre un Data Engineer et un Data Analyst ? Et quelles sont les vidéos qui devraient beaucoup servir pour chacun de ces deux métiers ?
    Merci d'avance et vivement la prochaine vidéo 😊

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

      Bonjour et merci je suis content de savoir que mes vidéos t'ont permis de progresser ! :)
      Pour répondre a ta question, les vidéos de cette séries sont surtout utiles pour un Data Scientist / Data Analyst.
      Un Data Engineer devra plus apprendre a maitriser des outils comme Spark, Hadoop, et SQL. Son role est de s'occuper du ETL (Extract, Transform, Load) des données.
      Je ferai également des vidéos a ce sujet a l'avenir.
      Merci pour ton soutien et j’espère lire d'autres commentaires de ta part un de ces 4 ;)
      A+

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

    Merci

  • @aminataba8426
    @aminataba8426 8 месяцев назад +1

    je ne saurait comment vous remercier vraiment chapeaux vos vidéo mon vraiment aidé en tant que débutante.
    Cependant j'aurais besoin de votre aide pour se connecter a des bases de données MySQL ET PostgreSQL avec python

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

    bravo et merci infiniment , prière de faire une formation en deep learning et des vidéo pour la reconnaissance des émotions facials

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

    merci beaucoup

  • @3MAS-FR-MA
    @3MAS-FR-MA 4 года назад

    génial ;)

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

    je suis impatient quand tu vas commencer la série sur le deep leraning

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

    Bonjour M. Saint-Cirgue,
    je vous remercie pour vos vidéos qui représentent une mine d'or pour l'apprentissage efficace du machine learning et une prise en main rapide de Python.
    J'ai une question :
    est-ce que la valeur moyenne d'une variable normalisée (MinMax, RobustScaler) est plus robuste (représentative des observations qu'elle résume) que la valeur moyenne de cette variable non normalisée?

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

    Bonjour Guillaume, encore une fois merci beaucoup pour tes videos,je suis un certificat professionnel en python machine learning et data science avec ibm sur edx que j'ai presque fini mais c'est surtout grace à tes videos que j'arrive à cerner les choses.Pour aller encore plus loin j'aimerai avoir des exercices à traiter!ou si tas des conseils en particulier à donner aussi.Merci

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

      Merci, ça me fait toujours très plaisir quand on me dit que mes vidéos gratuites sont aussi bien que certains cours payants ! :)
      Pour t’entraîner avec des exercices, tu peux te rendre sur le site Kaggle.com, ou sinon attendre un peu car je vais faire des séries de projet et d'exercices dans pas longtemps sur la chaine !

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

      @@MachineLearnia sans aucun problème, je vais my rendre attendant que tes exercices soient dispo,encore une fois châpeau,.merci

  • @4abdoulaye
    @4abdoulaye 3 года назад

    Goooooood

  • @raphaelollier8048
    @raphaelollier8048 Год назад +1

    Bonjour, existe t-il une méthode qui permettrait de lister l'ensemble des valeurs possibles à un hyper paramètres donné ? Merci d'avance et super série de vidéos!

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

    Les deux dernières vidéos au niveau contenu c'est du lourd.
    Toujours avec cette aisance et cette réthorique didactique de présentation.
    Je m'accroche je m'accroche à chaque fois je dois faire des fiches pour synthétiser le contenu.
    Une petite question SVP lorsque vous écrivez
    model = make_pipeline(PolynomialFeatures(),
    StandardScaler(),
    SGDClassifier(random_state=0))
    model
    J'obtient ceci et pas ce qui se produit sur votre écran qui me serait nécessaire pour réaliser le dictionnaire de paramètre :(
    Pipeline(steps=[('polynomialfeatures', PolynomialFeatures()),
    ('standardscaler', StandardScaler()),
    ('sgdclassifier', SGDClassifier(random_state=0))])

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

      Bonjour et merci pour votre compliment :)
      Je ne comprends pas votre question, ce que vous obtenez est correct ! (parfois d'une version de librairie a l'autre font juste que les choses sont présentées différemment)

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

    Salut, superbe vidéo, toujours un plaisir de t'écouter Guillaume. J'ai une petite question sur le transformer et le pipeline. Tu as montré qu'on réalisait le fit_transform sur les données d'entrainement, et qu'on pouvait ensuite transformer les données de test.
    Si des données de validation interviennent, est-ce qu'il faut les séparer des données d'entrainement avant d'utiliser le fit_transform?

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

      Bonjour, désolé pour ma réponse tardive (j'ai deménagé).
      Si c'est une cross_validation, tu n'as rien a faire, tout est pris en charge par Sklearn.
      Si ce sont des données de Validation, alors oui il faut les séparer en 3 set : Train, Val, Test, et faire le fit_transform uniquement sur le Train. Ensuite le Transform() sur le Val, puis Le test aussi aura un Transform.

  • @4abdoulaye
    @4abdoulaye 3 года назад

    Realy good

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

    Bonjour @MachineLearnia , merci pour cette belle vidéo.
    J'ai une question à cet effet, si mon dataset contient des variables qualitatives et quantitatives et que j'y applique le transformer onehitencoder, la transformation va t-elle affecter les variables qualitatives? Si oui, comment contourner le problème lorsqu'on veut juste transformer les variables qualitatives.

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

      Merci beaucoup. Tres bonne question ! J'y réponds justement dans la prochaine vidéo qui sort dans quelques jours ! Il faut soit traiter chaque colonne indépendamment avec pandas et sklearn, soit construire une pipeline avec la Classe ColumnTransformer (le sujet de la prochaine vidéo)

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

    SGDClassifier est importé à partir du module linear_module(from sklearn.linear_model import SGDClassifier), merci

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

    Super intéressant comme d’habitude !! Petite question : Est-ce que cette série va parler des réseaux de neurones et de TensorFlow ? **je suis débutant donc je ne sais pas si Sklearn inclut déjà des réseaux de neurones**. Merci !

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

      Merci. Sklearn permet de développer des réseaux de neurones (dans le module sklearn.neural_network) mais je ne conseille pas de l'utiliser. Pour développer des réseaux de neurones, on va en effet utiliser Keras, TF, ou Pytorch. Je ne le ferai pas dans cette série mais dans une série spécialement dédiée a cela.

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

      @@MachineLearnia Voilà une très bonne nouvelle; je peux allez au lit rassurer avec un rêve...

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

    Excellente chaîne merci énormément
    Est ce qu'il y a des algorithmes ML pour la conformité des données et le format incohérente (inconsistant)
    Cordialement

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

    J'avais regardé les pipeline dans un bouquin, c'était pas super clair. Dans cette vidé, c'est limpide ! Merci 1000x

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

      Je suis content d'avoir pu vous aider dans cette vidéo !

  • @user-hi7ow4xb4m
    @user-hi7ow4xb4m Год назад

    Bonjour, merci pour ces explications,
    J'ai une question, par rapport au dataset iris étant les variables ont été mesuré avec même unité donc même echelle, donc initialement c'est un exemple d'un dataset ou la normalization n'est pas nécecssaire, Or comme nous pouvons la normalization a améliorée considérablement l'accuracy, + est-ce la normalization augumente toujours l'exactitude du modèle ?
    + à part la différence des echelles entre les features, et la distirbution des individus qu'est ce qui permet de dire les données ont besoin d'être normalisés,
    Merci

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

    Salut Guillaume,
    Merci tout d'abord pour ce super travail, pour l'effort et l'explication.
    j'ai deux questions :
    1- est-que vous pouvez faire un video pour expliquer le principe de SGDclassifier comme vous avez fait pour le gradient de descent ??
    2 - Est que vous pouvez faire une autre série des videos pour le Deeplearning ou bien NLP ??
    et Merci encore une fois !!!

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

      Salut.
      Alors pour aller droit au but : J'ai prévu de faire tout ca ! :D
      (et je suis en train de faire la série de vidéos sur le deep learning aujourd'hui meme)

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

    Bonjour Guillaume, je viens de m'abonner à votre chaine que je trouve super! j'ai déjà une question: dans la video 22, vous présentez fit comme une méthode de transformation, parle-t-on du même fit qu'on a vu dans les Modèles LinearRegression, SVM...? ou s'agit -il d'un autre fit?

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

      Oui c'est exactement le meme fit ! Il a pour but d'estimer les parametres de transformation (mais pas de prédiction) d'un modele de transformation (mais pas de prédiction). Mais c'est le meme principe ! :)
      Désolé pour la réponse tardive, votre commentaire était tombé dans la boite "review" de l'algorithme RUclips, je ne sais pas pourquoi.

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

    Bonjour,
    Tout d'abord merci pour cette séries de vidéos.
    Une question : Est ce que cela revient au même si tout le preprocessing est fait avant le split des données ?
    Merci

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

      Merci beaucoup :)
      Il faut en général faire le preprocessing apres avoir fait un train/test split.

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

    Bonjour Guillaume, super vidéo encore une fois. Existe-t-il une fonction dans scikit learn pour fit des fonction de type exponentielle (par exemple: a * np.exp(-b * x) + c)?
    Autre chose, la normalisation est-elle aussi nécessaire en régression?

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

      Bonjour Alexis. Si vous connaissez déjà la formule qu'est sensé respecter votre modèle, alors je vous conseille d'utiliser Scipy (j'ai fait une vidéo a ce sujet). Vous fournissez la fonction a votre modèle et il vous trouve les coefficients qui minimisent les erreurs.

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

    Pour la partie de la normalisation transforme scaler, imaginez qu'on veuille rajouter une nouvelle variable comme vous l'avez fait avec 80, mais qui soit supérieure au max (en l'occurrence dans cet exemple supérieure à 120) ça ne va pas fausser l'information sur les variables ?

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

    Bonjour, merci pour cette super video ! J'ai une question, à la minute 30, tu effectues model.fit(X_train_transformed, y_train), mais pourquoi tu ne normalises pas y_train comme X_train ?
    Merci pour ta réponses, et j'espère que tu vas continuer tes vidéos car elles sont incroyables !

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

      Tres bonne question ! :)
      En général, il n'est pas utile de normaliser la variable y, ce sont les variables X qui comptent !
      mais on peut appliquer d'autres transformations très utiles sur y dans bien des situations (comme par exemple des transformations log, j'en parlerai a l'avenir dans d'autres vidéos)

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

      d’accord merci beaucoup !

  • @Hicham-pz2em
    @Hicham-pz2em Год назад

    Bonjour et merci pour cette super vedeo ! j'ai un question à la mintute 18:15 pourquoi la transform de x_test elle a donné 0.4 et ne pas 0

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

    Bonjour Guillaume,
    merci pour les merveilleuses explications, très claires, nettes.
    J'ai une question, elle est la suivante:
    Pour la phase d'encodage nous pouvons utiliser la méthode de transformation des données catégorielles en numérique à travers
    df['column'].astype('category').cat.codes? Si oui quel est l'avantage par rapport à la méthode données dans sklearn.preprocessing? Quelle méthode préconiserez-vous?
    Merci.

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

      Bonjour et merci beaucoup :)
      Les 2 méthodes se valent. Celles de sklearn ont l'avantage de pouvoir être intégrées aux pipelines, je les conseille pour faire du machine learning. Quand on fait juste une analyse de données (sans développer de modeles) alors pandas suffit.

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

    Merci beaucoup pour cette vidéo!
    Petite question, est ce qu'il faut normaliser les valeurs encoder pour les utiliser avec les autres variables? Merci :)

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

      Non, il n'est pas utile de normaliser des variables catégorielles, sauf si on commence a avoir plus de 10 catégories nominales (donc des nombres allant de 0 a 10)

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

    Bjr Guillaume, j'aimerais savoir comment ca se passe si une valeur du data set test est plus grande que le plus grand élement du data set train. Parce que selon la formule dans le cas que je viens de citer, on obtiendra une valeur plus grande que 1.

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

    Merci pour cette vidéo ! c'est très clair et bien expliquée! Juste une question; Quand tu dis qu'on ne perd pas d'information en appliquant la normalisation. Est ce que la variance n'est pas perdu en appliquant la méthode MinMax scaler?
    Peace

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

      Non elle n'est pas perdue, et on peut toujours faire marche arriere (revenir aux parametres de base)

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

    Bravo pour cette video. J'ai une question : Quand nous avons dans le Dataset des features avec un mix de données quali et quanti, on doit encoder chaque colonne ?... on ne peut pas utiliser le OneHotEnoce, c'est bien ça ?
    D'avance merci pour le retour

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

      Tout a fait correct, je te conseille de regarder la vidéo "Pipelines avancées" dans laquelle je montre comment faire cela.

  • @Michael-vi5ch
    @Michael-vi5ch 4 года назад +1

    Merci beaucoup pour vos excellentes vidéos!
    Lors du preprocessing, est-il possible d'inclure un traitement des outliers, notamment avec une méthode provenant de sklearn?

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

      Bonjour ! Oui c'est posible avec l'algorithme Isolation Forest que je recommande vivement, et qui est présent dans sklearn. Pour apprendre a l'utiliser, je vous conseille la vidéo 24/30 sur l'apprentissage non-supervisé

    • @Michael-vi5ch
      @Michael-vi5ch 4 года назад

      Parfait. Merci pour la réponse et bravo pour le suivi.

  • @horo.grutto
    @horo.grutto 2 года назад

    Bonjour, déjà un grand merci pour l'ensemble de tes vidéos. L'apprentissage est vraiment facilité :)
    Petite question concernant la partie PolynomialFeature. Tu dis qu'il ne faut pas oublier de normaliser les variables après avoir utiliser un polynomiale feature. J'aurais tendance à penser qu'il faut le faire avant, dans le cas où l'on souhaite combiner deux variables dans un poly - comme le prix et la surface (pour les mettre à l'échelle avant de calculer le poly). Mais peut-être que cela ne change rien :) Merci d'avance pour ta réponse.

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

      Salut ! C'est une bonne question !
      Si tu normalises avant de faire un polynomialFeatures, alors tu vas multiplier des valeurs comprises entre 0 et 1, ce qui les rend encore plus petites -> 0.1 x 0.1 = 0.01 et qui casse la logique de ce que tu veux. (genre si tu mets une distance au carré, genre 10km -> 100 km, ca te donne un réultat plus grand) Bref en fait on pourrait en parler longtemps, un commentaire ne suffit pas.. Mais j'espere que tu as pu comprendre ce que je disais.
      Je t'invite a faire des expériences de ton coté :)

    • @horo.grutto
      @horo.grutto 2 года назад

      @@MachineLearnia Salut. Merci pour ta réponse, c'est très clair ;)

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

    Bonjour à l'execution du code final j'ai une erreur stipulant que polynomialfeatures___degree,et 'sgdclassifier__penalty ' ne sont pas des parametres de sgdclassifier

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

    super travail une nouvelle fois. Pas trouvé mieux que 0.9736842105263158 pourtant avec d'autres transformer et une GridSearch plus étendue.

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

      Merci pour ton analyse. Si tu veux, tu peux partager ton code avec la communauté ici-même et sur discord, tu aideras ainsi les gens qui cherchent eux-même a faire l'exercice. Ainsi tout le monde s'entre-aide et c'est magnifique :D
      Tu as utilisé quel Estimateur ?

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

      @@MachineLearnia j'ai utilisé standardscaler, robustscaler et minmaxscaler comme transformeurs. et un SGDClassifier comme estimateur, avec le code ci-dessous. J'ai également essayé avec un RidgeClassifierCV comme estimateur mais pas mieux !

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

      import numpy as np
      import matplotlib.pyplot as plt
      from sklearn.model_selection import train_test_split
      from sklearn.preprocessing import StandardScaler, PolynomialFeatures,MinMaxScaler, RobustScaler
      from sklearn.linear_model import SGDClassifier, RidgeClassifierCV
      from sklearn.pipeline import make_pipeline
      from sklearn.model_selection import GridSearchCV
      from sklearn.datasets import load_iris
      iris=load_iris()
      X=iris.data
      y=iris.target
      Xtrain,Xtest,ytrain,ytest=train_test_split(X,y)
      model=make_pipeline(PolynomialFeatures(),StandardScaler(),SGDClassifier(random_state=0))
      params={
      'polynomialfeatures__degree':[2,3,4],
      'sgdclassifier__alpha':[0.0001,0.001,0.01,0.1,1,10],
      'sgdclassifier__penalty':['l1','l2','elasticnet'],
      'sgdclassifier__loss':['hinge', 'log', 'modified_huber', 'squared_hinge'],
      'sgdclassifier__max_iter':[100,1000]
      }
      grille=GridSearchCV(model,param_grid=params,cv=4)
      grille.fit(Xtrain,ytrain)
      grille.best_params_
      grille.score(Xtest,ytest)
      avec StandardScaler résultat grille.score est 0.9736842105263158
      model3=make_pipeline(PolynomialFeatures(),RobustScaler(),SGDClassifier(random_state=0))
      avec RobustScaler grille.score donne : 0.8947368421052632
      model2=make_pipeline(PolynomialFeatures(),MinMaxScaler(),SGDClassifier(random_state=0))
      avec MinMaxScaler grille.score donne : 0.9210526315789473

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

      @@jmbdeblois Merci de la part de la commu :)

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

      @@MachineLearnia merci à toi surtout

  • @benjaminmassoteau7042
    @benjaminmassoteau7042 5 месяцев назад

    J'ai une question sur la standardisation. On m'a vendu ça comme un moyen d'avoir toutes les données se rapprochant les unes des autres et ainsi devoir utiliser moins d'epoch dans mon algo de deep learning, étant donné que les poids n'auraient pas à compenser les distances entre chaque valeur des variables. Seulement, je ne suis pas certains de comprendre pourquoi standardiser en fonction de X_train uniquement et utiliser cette moyenne et cet écart type sur le X_test plutôt que de standardiser l'ensemble des données,puis diviser en train et test, ou tout standardiser,diviser et restandardiser, ou encore standardiser X_train et X_test mais en fonction de leur moyenne et écart type respectifs (jusque là, seul la seconde méthode m'a donné de plus mauvaise résultat). Y a t il une raison théorique ?

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

    Bonjour Guillaume, merci pour toutes ces videos très pédagogiques et très intructives. Je suis un débutant en data analytics avec Python. Je traite principalement des données de spectroscopie. Je me demandais si il existait un moyen de tester différents pre-processing (par exemple différentes normalisation, différentes dérivées, ...) en plus des hyperparamètres? Et d'automatiser tout ça? Merci

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

      Bonjour, oui c'est possible et c'est une chose que l'on fait souvent. Je crois que je montre comment dans les vidéos suivantes (de souvenir) Mais attention cela demande beaucoup de ressources et beaucoup de temps de calcul. On ne peut pas aveuglément tester des millions de configurations possibles, et il faut faire des choix.

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

    Salut, je voulais vous remercier pour la clarté et la qualité de votre vidéo comme d'habitude. je voulais par contre vous poser une question au sujet de l'utilisation du pipeline au niveau de gridsearch, lorsque j'exécute votre code; la réponse est la suivante: Pipeline(steps=[('polynomialfeatures', PolynomialFeatures()),
    ('standardscaler', StandardScaler()),
    ('sgdclassifier', SGDClassifier(random_state=0))])
    sans donner les paramètres de ce model. Est ce que il y a une étape que j'ai raté?. Meri encore une fois.

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

      Il n'y a aucun probleme dans votre code, c'est juste que python vous indique ce qui a été passé dans gridsearch.

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

    Est-ce que R fonctionne de la même manière que python? avec la notion de transformer et estimator? c a d est ce qu il va transformer le test de la meme manière que le train?