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.
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 !
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.
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
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 UA-cam, 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 UA-cam, 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 ! :)
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
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 !!
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 !
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
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.
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.
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
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.
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
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
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.
Bonjour, vous faites des videos UA-cam 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!
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 !
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
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
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é ^^')
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
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
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
Bonjour à l'execution du code final j'ai une erreur stipulant que polynomialfeatures___degree,et 'sgdclassifier__penalty ' ne sont pas des parametres de sgdclassifier
Bonjour Mr . Je souhaite realise un chatBot d'aide a la presincriptions des etudiant. Ma dataset est en fichier json, svp dois-je fait du pre-processing sur les donnees de ma dataset ? Mes donnees sont en fichier json donc cle valeurs j ai les categories de questions , les questions et reponses associèes. Merci bien.
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))])
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)
Merci pour cette vidéo aussi riche que d'habitude J'aurais deux questions cette fois ci. -1) Concernant l'encodage des variables catégorielles, notamment l'encodage OneHot, tu nous as bien fait comprendre que sklearn avait développé des techniques de stockage des matrices creuses qui permet de gérer le problème d'espace, mais j'aimerais savoir, d'un point de vu logique notre dataset à quand même autant de dimensions en plus qu'il y avait de catégories dans la variable de départ. Ne risquons nous pas de souffrir de la malédiction de la dimension si nous avons beaucoup de catégories dans nos variables et éventuellement beaucoup de variables catégorielles ? -2) Ma deuxième question est de savoir si les opérations de preprocesssing, notamment de normalisation peuvent s'appliquer aussi sur des variables catégorielles encodées? Est-ce que ça aurait du sens ?
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
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 😊
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+
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.
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 !
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 ?
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!
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?
Bonjour, J'ai voulu savoir s'il y avait des mises à bour concernant GridSearchCV? Car en executant les etapes de code et avec n'importe quel modèle de ML, je ne reçoit aucun hyperparametre à part le random_state déjà mentionné? Merci d'avance et je vous remercie pou tous les efforts déployés.. à l'attente de vos prochaines playlist..
Bonjour, non il n'y a pas eu de MAJ depuis ma vidéo (pour gridsearchCV en tout cas). Je vous avoue que votre probleme est étrange, vérifiez bien votre code et si vous avez toujours des soucis, venez faire un tour sur notre discord.
Est-ce-que vous faites appel a d'autres fichier python ? vous utilisez une fonction main() quelque part ? Je vous invite a rejoindre notre serveur discord pour partager votre problème avec la communauté, ca sera peut-etre plus simple pour trouver une solution.
Salut guillaume j'ai fais une boucle qui execute chacun de '"normalisateurs "' avec eval de python. j'ai remarque qui y'a un ordre particulier qu'on doit suivre pour faire la pipeline et sur l'un des modeles j'ai un score de 1.0 est-ce normal? sur les autres c'est 0.96 . Voici un apercu de mon code: for scaler in ['StandardScaler','RobustScaler','MinMaxScaler']: model=make_pipeline(PolynomialFeatures(),eval(scaler)(),SGDClassifier(random_state=0)) ....................
Hello je ne vois pas ton code en entier et je ne suis pas sur de comprendre a 100% ce que tu veux dire, mais je crois quand meme comprendre. C'est normal d'avoir des performances différentes selon l'opération de normalisation. A titre de curiosité, laquelle te donne 1.0 ?
@@MachineLearnia Desolè j'ai mal reformulè. Je disais que pour creer une pipeline on doit suivre un ordre particulier (d'abord polynomialfeatures ensuite les normalisateurs 'MinMax ou Standard' et enfin le modele ).Comment connaitre l'ordre lorsqu'on cree nos propres pipelines?. Voici mon code en entier j'ai refait le test aujourdhui et j'ai pas pu avoir 1.0 je sais pas pourquoi. for scare in ['MinMaxScaler','StandardScaler','RobustScaler']: pipeline=make_pipeline(PolynomialFeatures(),eval(scare)(),SGDClassifier(random_state=0),) params={ 'polynomialfeatures__degree':[2,3,4], } grid=GridSearchCV(pipeline,params,cv=4) grid.fit(X_trains,y_train) print('SCALE :%s BEST PARAMS :%s and score %s' % (scare,str(grid.best_params_) ,grid.score(X_test,y_test)))
Bonjour Guillaume à la place de standarscaler() j'ai utilisé x-x.mean(axis=0)/x.std(axis=0) pour le dataset iris mais j'ai pas les mémes résultats .je ne sais pas pourquoi?
Bonjour, tout d'abord un grand merci pour vos vidéos ! J'aurai une petite question. Sur mon notebook les détails du 'pipeline' ne s'affichent pas. J'ai seulement Pipeline(steps=[('polynomialfeatures', PolynomialFeatures()), ('standardscaler', StandardScaler()), ('sgdclassifier', SGDClassifier(random_state=0))]) Pourtant j'ai bien pris votre code sut Github et cela semble quand même très pratique d'avoir les détails pour faire son dictionnaire... Merci d'avance, et surtout encore merci pour ces vidéos !
Bonjour, avez vous essayé print(grid) ? C'est peut-etre parce que vous n'utiliser pas Jupyter Notebook, mais un autre IDE, auquel cas un print() fera l'affaire !
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 ?
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 !
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.
Bonjour. Merci pour cette nième super vidéo En fait je ne comprends pas KBinsDiscretizer à 28:00. Il me semble que cela devrait renvoyer des nombres de 0 à 5. Non ?
KBins signifie K colonnes binaires. Donc on obient 5 colonnes remplis de 0 et de 1. C'est une facon de présenter les données, souvent plus simple a manipuler pour les algorithmes d'apprentissage par la suite. PS : Désolé pour la réponse tardive !
Très bien expliqué! A la minute 33:38 je n'arrive pas à obtenir les details du modèle, comme toi , afin d'élaborer le dictionaire de params pour le GridSearchCV. En voyant les details du modèle je trouve que ça aide à bien couvrir les params que je veux explorer avec le GridSearchCV. Merci!
Hm c'est peut-etre une nouvelle mise a jour de sklearn qui ne montre plus les hyper-parametres. Pas grave tu peux toujours te rendre sur la documentation de sklearn : voici par exemple la page qui décrit les parametres d'un SVC : scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html
Salut et merci pour tes vidéos. Je ne trouve pas le corrigé de l'exercice de la vidéo 21. Je pense avoir fait juste mais j'ai un problème pour afficher des graphiques de dataframes et je ne comprends pas pourquoi.
Bonjour, je n'ai pas fait de corrigé de la vidéo 21 car il s'agit juste d'écrire le code vu dans la vidéo 21. Plusieurs personnes ont partagées leur résultats dans les commentaires.
@@MachineLearnia Merci. Oui, c'est un copié collé mais je voulais afficher les datas dans un graphique. Je suis toujours perdu entre les array et les dataframes et comment les utiliser dans un graph. Est-ce : plt.scatter(X_test[:, 'pclass'], X_test[:, 'sex'],c=y_test, alpha=0.8) ou X_train.plot(x='pclass', y= 'sex', kind='scatter') Je me mélange toujours les pinceaux et je n'arrive pas à trouver une méthode qui soit la même quel que soit le type.
Salut Guillaume !! dans la normalisation avec la classe MinMaxScaler, quand j'essaie la transformation sur mon X_test, avec scaler.transform(X_test) du coup, et ben ça me sort: - array( [ [0.] ] ) Alors qu'avec ton exemple, normalement ça donne 0.4, any help? x)
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 ?
@@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 !
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.
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)
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
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 !
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
j'ai une question si vous permettez : dans minute 33.37 quand vous afficher model on voit clairement tout les paramètres et des transformers et de l'estimateur cependant moi je n'ai pas le même résultat ce problème est du à une mise à jour de sklearn merci?
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?
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é
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.
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.
bjr, j'ai une question : jai une dataset qui comporte des colonnes qualitatives et quantitatives lorsqu'on applique le oneHot encoder sur les variables qualitatifs est ce qu'on peut faire ensuite la normalisation sur tous les colonnes?? merci
@@MachineLearnia d'accord, si j'ai une colonne qui comporte des 0 et des 1 seulement il est possible d'appliquer sur ce colonne la normalisation ou standerScaler ou non?
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.
En un seul mot : Parfait ! Merci mille fois, Guillaume, pour ton énergie à nous communiquer ta passion.
Merci c'est un plaisir de vous avoir comme public.
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 !
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.
@@MachineLearnia Bonjour, attention, il y a une erreur sur la standardisation. Il fallait standardiser Y également !
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
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 UA-cam, 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 UA-cam, 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 ! :)
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
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 !!
Merci beaucoup, c'est un grand plaisir ! :)
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
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 !
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
Bravo je suis fier de vous !
merci beaucoup je reviens souvant à tes videos ce sont une mine d'or en information
Bon retour parmi nous ! Au passage bon heureuse année toi comme d'ab belle vidéo !!
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.
Merci merci .. Tu m'as donné l'envie d'étuder
Ah ! Quel plaisir quand on me dit ca ! Je vais faire prof ! ahah
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 !!!
Merci beaucoup je le prends avec une grand honneur alors :D
sincerement, monsieur Guillaume Saint-Cirgue, je te donne un truc , tu sera meilleur prof en web , you're the best teacher.
Merci beaucoup :)
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.
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
@@MachineLearnia Je suis déjà impatient de les voir :) ;).
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.
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
Milles merci !! C'est remarquable tout ce que tu offres dans tes vidéos! Encore MERCI !
Milles de rien ! Merci de ton soutien :)
C"est la meilleure video que j'ai pu voir sur youtube !!!
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
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.
Bonjour,
vous faites des videos UA-cam 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!
Merci pour votre gratitude :) J'ai un compte tipeee si vous voulez me soutenir :)
@@MachineLearnia j'avais pas remarqué.
J'apporte au plus vite ma Modeste contribution.
@@bigo025 merci beaucoup !
Enfin de retour, comme d'hab belle vidéo, merci a vous.
Merci, content de savoir que la vidéo vous a plu !
Cette video est ma preferee de toute la serie...chapeau
Merci, ca me fait très plaisir :)
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)
Bravo ! :)
@@MachineLearnia merci ^^.
c'est vraiment un très bon récap.Merci
Merci beaucoup pour le retour positif
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 !
Merci a toi ;)
Oui, cela arrive, et c'est un grand honneur !
Heureux de partager mon travail avec les gens
Merci pour pour la vidéo, elle vient répondre à une question essentielle de mon domaine d'activité.
C'est un plaisir ! A bientôt et bon courage dans vos projets ! :)
Excellente vidéo on apprend toujours de nouvelles choses avec Machine learnia merci encore
Merci de toujours être fidèle aux vidéos ! :)
mercii enormement pour cette video, vous m'a beaucoup aidé sur mon projet de fin d'etude.
Merci pour ce tuto pratico-pratique. Y a plus qu'à.
Yes, je vais bientôt vous confier des projets sur la chaîne et on les corrigera ensemble !
C'est excellent ce que tu fais. Merci ! Continue ! :)
Merci beaucoup, je le fais car c'est ma passion et vous êtes un public génial !
j'attends impatiemment tes videos , Merci bcp !
Merci, je fais de mon mieux pour vous :)
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
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
Le preprocessing c'est la clé de votre réussite.
Merci pour la vidéo, j'en pleure de joie
Merci, c'est bon de savoir que je peux vous aider ! :)
Merci beaucoup cher Guillaume!! super beau comme vidéo un Grand bravo pour ton travail !!
Merci beaucoup Aymen ! :)
ah le petit punch qu'il me fallait just pour booster mon debut de semaine ;)
Je suis heureux de pouvoir vous motiver ! :D
Merci pour cette super vidéo, c'est vraiment utile ! J'ai aussi hâte de voir le prochain bonus sur Tipeee ! :)
Merci, je sors le prochain bonus demain
@@MachineLearnia Super ! :)
hihihi
c'est quoi ces bonus et pour moi Tippee c'est une tante d'indien non?
Tu expliques vraiment bien. Merci beaucoup
Merci beaucoup :)
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
Je suis tres heureux de lire ca ! :)
@@MachineLearnia moi je suis très heureux d'être abonné à vous! Alors on se retrouve sur discord!!!
je suis très intéressante de votre vidéos car ils me aide beaucoup a avancée dans ce domaine
Merci beaucoup je suis heureux d'apprendre ca ! merci pour votre fidélité !
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é ^^')
Je suis content d'avoir pu anticiper ta question :D
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
Merci! c'était très clair. Super video.
Grâce à vous mes modèles de données seront plus efficaces
De rien ! :)
Merci pour toutes ces vidéos!
De rien :)
Merci pour ce contenu de qualité !
De rien !
Merci pour cette excellente formation
Un grand merci Guillaume
De rien !
La qualité ✔ 👏🔥
C'est le plus important la qualité ! Merci a toi ;)
Merci énormément pour cette vidéo très enrichissante!
De rien, c'est un plaisir :)
C'est super
Merci !
Merci Guillaume
De rien :)
bravo et merci infiniment , prière de faire une formation en deep learning et des vidéo pour la reconnaissance des émotions facials
C'est prévu ! J'ai commencé a le faire !
Merci et bonne continuation
c'est vraiment tres puissant!
content que ca vous plaise !
Super vidéo ! :D Merci pour ton travail
Merci beaucoup, ca fait super plaisir !
nous sommes en décembre 2023 est ce que vous êtes toujours la?
Vraiment Merci Pour la Vidéo
De rien ! tout le plaisir est pour moi
Simplement super
Merci
Merci Merci pour ce cadeaux ;)
Merci c'est un plaisir de faire des vidéos :)
Excellent!
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
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
Bonjour à l'execution du code final j'ai une erreur stipulant que polynomialfeatures___degree,et 'sgdclassifier__penalty ' ne sont pas des parametres de sgdclassifier
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
Bonjour Mr . Je souhaite realise un chatBot d'aide a la presincriptions des etudiant. Ma dataset est en fichier json, svp dois-je fait du pre-processing sur les donnees de ma dataset ? Mes donnees sont en fichier json donc cle valeurs j ai les categories de questions , les questions et reponses associèes. Merci bien.
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))])
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)
merci pour les postes intéressants, je vous suis .....
Merci a bientôt !
je suis impatient quand tu vas commencer la série sur le deep leraning
En septembre :)
Merci pour cette vidéo aussi riche que d'habitude
J'aurais deux questions cette fois ci.
-1) Concernant l'encodage des variables catégorielles, notamment l'encodage OneHot, tu nous as bien fait comprendre que sklearn avait développé des techniques de stockage des matrices creuses qui permet de gérer le problème d'espace, mais j'aimerais savoir, d'un point de vu logique notre dataset à quand même autant de dimensions en plus qu'il y avait de catégories dans la variable de départ. Ne risquons nous pas de souffrir de la malédiction de la dimension si nous avons beaucoup de catégories dans nos variables et éventuellement beaucoup de variables catégorielles ?
-2) Ma deuxième question est de savoir si les opérations de preprocesssing, notamment de normalisation peuvent s'appliquer aussi sur des variables catégorielles encodées? Est-ce que ça aurait du sens ?
il n'y a pas la suite de la question ^^
@@MachineLearnia La question n'a pas de suite
@@MachineLearnia Désolé d'insister, mais j'ai l'impression que tu m'as oublié Guillaume
Encore Merci!!!!!!!
de rien :)
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
Oui c'est tout a fait possible, tout va bien :)
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 😊
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+
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.
Encore une super vidéo, bravo pour la pédagogie.
Des vidéos prévues sur PyTorch, TensorFlow ou Keras ?
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 !
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 ?
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!
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?
Bonjour,
J'ai voulu savoir s'il y avait des mises à bour concernant GridSearchCV? Car en executant les etapes de code et avec n'importe quel modèle de ML, je ne reçoit aucun hyperparametre à part le random_state déjà mentionné?
Merci d'avance et je vous remercie pou tous les efforts déployés.. à l'attente de vos prochaines playlist..
Bonjour, non il n'y a pas eu de MAJ depuis ma vidéo (pour gridsearchCV en tout cas). Je vous avoue que votre probleme est étrange, vérifiez bien votre code et si vous avez toujours des soucis, venez faire un tour sur notre discord.
bonjour, j arrive pas a utiliser OneHotlabel pour une seule colone d'un dataset , ci après le code:
dataset = pd.read_csv('Churn_Modelling.csv')
X = dataset.iloc[:,3:13].values
y = dataset.iloc[:, 13].values
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder_X1 = LabelEncoder()
X[:, 1] = labelencoder_X1.fit_transform(X[:, 1])
labelencoder_X2 = LabelEncoder()
X[:, 2] = labelencoder_X2.fit_transform(X[:, 2])
labelencoder_X = LabelEncoder()
X[:, 1] = labelencoder_X.fit_transform(X[:, 1])
onehotencoder = OneHotEncoder(categorical_features = [1])
X = onehotencoder.fit_transform(X).toarray()
et voila l'erreur :
TypeError: __init__() got an unexpected keyword argument 'categorical_features'
merci pour votre aide
Est-ce-que vous faites appel a d'autres fichier python ? vous utilisez une fonction main() quelque part ? Je vous invite a rejoindre notre serveur discord pour partager votre problème avec la communauté, ca sera peut-etre plus simple pour trouver une solution.
Salut guillaume j'ai fais une boucle qui execute chacun de '"normalisateurs "' avec eval de python. j'ai remarque qui y'a un ordre particulier qu'on doit suivre pour faire la pipeline et sur l'un des modeles j'ai un score de 1.0 est-ce normal? sur les autres c'est 0.96 . Voici un apercu de mon code:
for scaler in ['StandardScaler','RobustScaler','MinMaxScaler']:
model=make_pipeline(PolynomialFeatures(),eval(scaler)(),SGDClassifier(random_state=0)) ....................
Hello je ne vois pas ton code en entier et je ne suis pas sur de comprendre a 100% ce que tu veux dire, mais je crois quand meme comprendre. C'est normal d'avoir des performances différentes selon l'opération de normalisation. A titre de curiosité, laquelle te donne 1.0 ?
@@MachineLearnia Desolè j'ai mal reformulè. Je disais que pour creer une pipeline on doit suivre un ordre particulier (d'abord polynomialfeatures ensuite les normalisateurs 'MinMax ou Standard' et enfin le modele ).Comment connaitre l'ordre lorsqu'on cree nos propres pipelines?.
Voici mon code en entier j'ai refait le test aujourdhui et j'ai pas pu avoir 1.0 je sais pas pourquoi.
for scare in ['MinMaxScaler','StandardScaler','RobustScaler']:
pipeline=make_pipeline(PolynomialFeatures(),eval(scare)(),SGDClassifier(random_state=0),)
params={
'polynomialfeatures__degree':[2,3,4],
}
grid=GridSearchCV(pipeline,params,cv=4)
grid.fit(X_trains,y_train)
print('SCALE :%s BEST PARAMS :%s and score %s' % (scare,str(grid.best_params_) ,grid.score(X_test,y_test)))
Bonjour Guillaume à la place de standarscaler() j'ai utilisé x-x.mean(axis=0)/x.std(axis=0) pour le dataset iris mais j'ai pas les mémes résultats .je ne sais pas pourquoi?
hm cela n'est pas normal, on devrait en parler sur discord !
Bonjour, tout d'abord un grand merci pour vos vidéos !
J'aurai une petite question. Sur mon notebook les détails du 'pipeline' ne s'affichent pas. J'ai seulement
Pipeline(steps=[('polynomialfeatures', PolynomialFeatures()),
('standardscaler', StandardScaler()),
('sgdclassifier', SGDClassifier(random_state=0))])
Pourtant j'ai bien pris votre code sut Github et cela semble quand même très pratique d'avoir les détails pour faire son dictionnaire...
Merci d'avance, et surtout encore merci pour ces vidéos !
Bonjour, avez vous essayé print(grid) ? C'est peut-etre parce que vous n'utiliser pas Jupyter Notebook, mais un autre IDE, auquel cas un print() fera l'affaire !
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 ?
excellent...
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 !
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.
@@MachineLearnia Voilà une très bonne nouvelle; je peux allez au lit rassurer avec un rêve...
Bonjour. Merci pour cette nième super vidéo
En fait je ne comprends pas KBinsDiscretizer à 28:00. Il me semble que cela devrait renvoyer des nombres de 0 à 5. Non ?
KBins signifie K colonnes binaires. Donc on obient 5 colonnes remplis de 0 et de 1. C'est une facon de présenter les données, souvent plus simple a manipuler pour les algorithmes d'apprentissage par la suite.
PS : Désolé pour la réponse tardive !
J'aurais une question: pourquoi tu n'as pris que les penalty de SGDClassifier?
SGDClassifier est importé à partir du module linear_module(from sklearn.linear_model import SGDClassifier), merci
Très bien expliqué! A la minute 33:38 je n'arrive pas à obtenir les details du modèle, comme toi , afin d'élaborer le dictionaire de params pour le GridSearchCV. En voyant les details du modèle je trouve que ça aide à bien couvrir les params que je veux explorer avec le GridSearchCV. Merci!
Hm c'est peut-etre une nouvelle mise a jour de sklearn qui ne montre plus les hyper-parametres. Pas grave tu peux toujours te rendre sur la documentation de sklearn : voici par exemple la page qui décrit les parametres d'un SVC : scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html
merci prof
Salut et merci pour tes vidéos.
Je ne trouve pas le corrigé de l'exercice de la vidéo 21. Je pense avoir fait juste mais j'ai un problème pour afficher des graphiques de dataframes et je ne comprends pas pourquoi.
Bonjour, je n'ai pas fait de corrigé de la vidéo 21 car il s'agit juste d'écrire le code vu dans la vidéo 21. Plusieurs personnes ont partagées leur résultats dans les commentaires.
@@MachineLearnia Merci. Oui, c'est un copié collé mais je voulais afficher les datas dans un graphique. Je suis toujours perdu entre les array et les dataframes et comment les utiliser dans un graph. Est-ce :
plt.scatter(X_test[:, 'pclass'], X_test[:, 'sex'],c=y_test, alpha=0.8)
ou
X_train.plot(x='pclass', y= 'sex', kind='scatter')
Je me mélange toujours les pinceaux et je n'arrive pas à trouver une méthode qui soit la même quel que soit le type.
Salut Guillaume !! dans la normalisation avec la classe MinMaxScaler, quand j'essaie la transformation sur mon X_test, avec scaler.transform(X_test) du coup, et ben ça me sort:
- array( [ [0.] ] )
Alors qu'avec ton exemple, normalement ça donne 0.4, any help? x)
Salut ! Peux-tu partager ton code stp ? :)
merci beaucoup
de rien :)
J'avais regardé les pipeline dans un bouquin, c'était pas super clair. Dans cette vidé, c'est limpide ! Merci 1000x
Je suis content d'avoir pu vous aider dans cette vidéo !
Merci
super travail une nouvelle fois. Pas trouvé mieux que 0.9736842105263158 pourtant avec d'autres transformer et une GridSearch plus étendue.
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 ?
@@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 !
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
@@jmbdeblois Merci de la part de la commu :)
@@MachineLearnia merci à toi surtout
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.
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)
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
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 !
@@MachineLearnia sans aucun problème, je vais my rendre attendant que tes exercices soient dispo,encore une fois châpeau,.merci
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
Merci. Comment utilisez LabelBinarizer avec "make_pipeline" ?
Je conseille de le garder en dehors de la pipeline, convertir vos données y avant la pipeline (car ca n'est pas utile de le mettre dedans)
j'ai une question si vous permettez : dans minute 33.37 quand vous afficher model on voit clairement tout les paramètres et des transformers et de l'estimateur cependant moi je n'ai pas le même résultat ce problème est du à une mise à jour de sklearn merci?
Bonjour, vous utilisez Jupyter Notebook ? Parfois les résultats ne s'affichent pas.
@@MachineLearnia oui j'utilise Jupyter Notebook
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?
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é
Parfait. Merci pour la réponse et bravo pour le suivi.
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.
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.
bjr,
j'ai une question : jai une dataset qui comporte des colonnes qualitatives et quantitatives lorsqu'on applique le oneHot encoder sur les variables qualitatifs est ce qu'on peut faire ensuite la normalisation sur tous les colonnes??
merci
Bonjour, non il faut séparer votre dataset en deux parties. Je montre comment faire cela dans la vidéo sur les pipelines avancées.
@@MachineLearnia d'accord, si j'ai une colonne qui comporte des 0 et des 1 seulement il est possible d'appliquer sur ce colonne la normalisation ou standerScaler ou non?