Merci pour votre générosité, c'est très pédagogique.
@mondherelmufti69303 жыл бұрын
Merci infiniment pour la qualité de vos vidéos, je suis devenu passionné par la ML et ça grâce à votre simplicité et générosité. Je suis sûr qu'il y'a encore bcp des choses en ML à apprendre de vos vidéos.
@MachineLearnia3 жыл бұрын
Votre message me fait tres plaisir ! :)
@mistermbodj4 жыл бұрын
Encore un grand merci pour tes cours. Tu nous donnes du savoir, une bonne pédagogie et une dose d'humour. Sans parler du montage vidéo qui prend beaucoup de temps vraiment. Chapeau 🤠. On voit seulement la partie visible de l'iceberg avec le produit fini en vidéo mais il y a un travail colossal derrière. Merci beaucoup pour tout ça
@MachineLearnia4 жыл бұрын
Merci beaucoup cher ami. c'est toujours agréable de recevoir un message qui reconnait le temps investi dans les vidéos. A bientôt ! :)
@madaragrothendieckottchiwa86484 жыл бұрын
Merci encore guillaume de toujours garder ta simplicité et ta rigueur dans toutes les vidéos produites jusqu'alors force à toi
@MachineLearnia4 жыл бұрын
Merci beaucoup pour ce message qui me touche. Je fais ca en toute humilité et c'est mon plus grand plaisir de recevoir de tels message qui confirment que mes vidéos et mon livre aident des gens :) Merci beaucoup !
@christndinga51829 ай бұрын
bonjour MR @@MachineLearnia j'espere que vous allez bien j'ai une question concernant les données manquantes et j'aurais besoins de votre avis dans l'immédiat si possible
@Enzo-js5uv4 жыл бұрын
Bonjour, je regarde pas la vidéo car je ne comprend pas tout et ça ne m'intéresse pas énormément mais sache que c'est quand même super ! A chaque fois, je regarde la vidéo juste pour liker et regarder quelques minutes, même si ça ne me sert pas, je te soutiens 😉.
@MachineLearnia4 жыл бұрын
Salut Enzo ! Oh mince je suis désolé de l'apprendre mais je te remercie énormément pour ton soutien ! Pourrais-je savoir ce qui t'intéresserais comme contenu ? (ton commentaire a suscité ma curiosité) merci ! :D
@Enzo-js5uv4 жыл бұрын
@@MachineLearnia En fait je ne suis pas passioné de machine learning, or ta chaîne est basé dessus. Ce qui m'intéresserait, pourquoi pas le Back-end d'un site Web en Django par exemple. Mais encore une fois, je sais que ta chaîne est faites pour du machine learning, donc je comprendrais totalement si tu le fais pas^^ Je t'ai découvert en suivant les premiers tutos de la série jusqu'au machine learning ou je ne suivais plus trop :(.
@MachineLearnia4 жыл бұрын
@@Enzo-js5uv Ah oui je me souviens parfaitement de ton commentaire pour Django. Arf je suis désolé de ne pas pouvoir t'aider dans l'immédiat, d'autant plus que je ne suis pas un expert de Django. J'avais cependant appris les bases grâce aux vidéos de Sentdex. Si tu ne le connais pas je te conseille de les voir. Merci beaucoup pour ton soutien tu m'as l'air quelqu'un de super sympa c'est dommage que je ne puisse pas t'aider plus que ca.. :( Mais je compte faire des vidéos de vulgarisation a l'avenir qui pourraient intéresser un panel plus large de personnes peut-etre que celles-ci te plairont un peu plus :)
@Enzo-js5uv4 жыл бұрын
@@MachineLearnia Ah ça peut être bien ! Mais ne t'inquiètes pas x), c'est mieux que tu fasses des cours sur ce que tu maîtrises et ce que t'aimes faire, je trouverais bien un cours dessus :), je vais d'ailleurs aller voir Sentdex, merci du conseil 😊
@kmiloduquino4 жыл бұрын
C'est toujours important de choisir la méthode pour traiter les données manquantes car, ce n'est pas évident, mais cela affecte énormément la qualité des modèles. Merci beaucoup de cette vidéo Guillaume.
@MachineLearnia4 жыл бұрын
Oui vous avez totalement raison, merci beaucoup :)
@TheRemiRODRIGUES4 жыл бұрын
Super vidéo ! Merci ! L'absence d'information c'est de l'information ! C'est vraiment très intéressant ! Cela peut ouvrir de nombreuses perspectives !
@MachineLearnia4 жыл бұрын
Je suis content que ca t'ai plu ! ;)
@ibnououmardiallo3674 жыл бұрын
merci pour la qualité de vos videos et votre generosité
@MachineLearnia4 жыл бұрын
Merci, c'est un plaisir
@ulrichkarlodjo14574 жыл бұрын
Super vidéo Merci beaucoup professeur Guillaume!! je crois que je vais avoir du boulot ce weekend pour appliquer tout ceci ahahaah!!
@MachineLearnia4 жыл бұрын
Merci Ulrich ;) Ah c'est bien que tu pratiques immédiatement, bravo ! Si tu as la moindre question, n'hésites pas, tu me connais ;)
@abdoulayebadji22054 жыл бұрын
Vous êtes le meilleur. Merci infiniment
@MachineLearnia4 жыл бұрын
Merci beaucoup ! A bientôt :)
@LaurentD903 жыл бұрын
Merci Guillaume, toujours très clair.
@julienjacquemont60484 жыл бұрын
Vidéo claire et pédagogique merci!
@MachineLearnia4 жыл бұрын
Merci beaucoup Julien ;)
@SAMAmUrl4 жыл бұрын
Thanks a lot for this great effort .It was a concise and smooth lab which I enjoyed it. (I have few Udemy courses I bought, but I find yours by far better ) . I guess you have to think ro make a dedicated course on Udemy.
@MachineLearnia4 жыл бұрын
Thanks a lot! It's an honour to hear that from you guys! I want to keep this content open to everyone for free!
@aimeritedonald66894 жыл бұрын
pile à l'heure !! je me lance toute suite
@MachineLearnia4 жыл бұрын
Quelle ponctualité ! Je suis impressionné ahah
@aimeritedonald66894 жыл бұрын
@@MachineLearnia disons que... j'attendais cela, tes dernières vidéos m'ont aidé à résoudre certaines difficultés. merci bien...
@MachineLearnia4 жыл бұрын
@@aimeritedonald6689 Ah merci c'est un plaisir quand on me dit ça ! Parfois je n'ai aucun retour indiquant si oui ou non ma vidéo a permis de débloquer certaines personnes sur leur problèmes. Alors merci c'est très encourageant pour moi ! Quel était ton problème précisément ?
@aimeritedonald66894 жыл бұрын
@@MachineLearnia je travaillait sur un dataset qui contenait de bonnes et de mauvaises données à la fois, et quand j'entrnais mon modèle sa me donnait pas de bonne précision, j'avais eu l'impréssion que comme suis débutant dans la chose je laisse pour le moment et en apprennant d'avantage j'aurais la solution un jour, et du coup.. la semaine qui a suivi t'as mit une vidéo qui parlait du pré-processing. et j'ai donc compris mon problème.
@MachineLearnia4 жыл бұрын
Oh merci oui je vois que ça a du être utile, le pre-processing c'est super important ! Merci de me l'avoir signalé
@matm68824 жыл бұрын
Encore merci pour ces super tutos! J'ai une question sur la partie à 9:30 quand on essaye de chercher les meilleurs paramètres de notre imputer KNN. Si j'ai bien compris, l'utilisation de GridSearchCV se base sur les performances de notre modèle. Donc quand on l'utilise sur l'imputer est-ce qu'on ne serait pas plutôt en train de trouver les paramètres de l'imputer qui prédit les données pour lesquelles la machine est "plus à l'aise", plutôt que les données les plus fidèles à la réalité? Autrement dit, est-ce que le fait d'utiliser GridSearchCV sur l'imputer "transforme" les données de manière à obtenir un meilleur score?
@MachineLearnia4 жыл бұрын
Oui, l'optimisation de l'imputer KNN avec GridsearchCV transforme les données de maniere a obtenir un meilleur score (c'est la réponse a votre question finale). Cependant, on travaille toujours en faisant l'hypothese que le score que l'on obtient est le score que la machine obtiendra dans la réalité (votre question d'avant) car on garde suffisamment de données de coté (avec un test set, et avec le principe de validation croisée)
@matm68824 жыл бұрын
@@MachineLearnia Merci !
@achrafzeroual11314 жыл бұрын
Toujours à la hauteur Monsieur Guillaume Saint-Cirgue, nous vous remercions infiniment pour vos efforts et votre style d'explication qui est pour moi le plus préféré. J'ai juste une petite question s'il vous plait, est ce qu'on effectue le nettoyage du dataset (les données) avant sa subdivision en trainset et testset ou on fait l'inverse ?
@MachineLearnia4 жыл бұрын
Merci beaucoup :) La bonne pratique est de toujours découper les données en train et test en premier lieu, et ensuite nettoyer les données du trainset
@yanisaithammou64104 жыл бұрын
Encore un grand Merci pour vos vidéos, j'ai une question : est ce que on peut utiliser la regression linéaire pour estimer les valeurs manquantes (continues), si oui est ce que on peut inclure la variable "target" pour son entrainement, pourriez vous me décrire les avantage et les inconvénients de cette technique . merci
@MachineLearnia4 жыл бұрын
Cette question est parfaitement légitime. C'est un peu l'idée de IterativeImputer, que je n'ai pas présenté dans cette vidéo, car cet imputer est encore en version "test" dans sklearn. Il permet de prédire quels sont les valeurs manquantes NaN d'une variables en fonction de ce qu'il voit dans les autres variables : donc c'est comme ce que vous voulez dire ici. Personnellement je n'utilise pas cette technique, car en data science j'essaie de suivre le principe du rasoir d'Ockham ("faisons simple"). Effectuer des imputations propres et explicites permet de mieux comprendre le modèle que l'on développe par la suite.
@theom91843 жыл бұрын
Bonjour Guillaume et merci pour tes vidéos, je ne suis pas sur de comprendre la partie où tu expliques qu'il ne faut pas faire de fuite d'informations vers le X_test mais que par ailleurs on prend pour moyenne du X_test la moyenne calculé sur le X_train, est ce que prendre la moyenne du X_test pour les valeurs manquantes n'est pas plus indiqué pour ne pas faire de fuite?
@MachineLearnia3 жыл бұрын
Salut ! Non, je vais te donner un exemple. Admettons que tu analyses la hauteur des arbres d'une foret. Tu connais le diametre du tronc et tu cherches a prédire la hauteur a partir du tronc. Tu as 1000 arbres dans le dataset, tu divises en 800 / 200 s'il te manques des infos dans le trainset (les 800) alors tu vas dire "bon on va prendre le diametre moyen, genre 50cm) Tu entraines ton modele, et maintenant tu veux t'en servir sur de futures données, comme celles du test. Mais dans le test aussi il te manque des infos, aors tu remplaces par la moyenne encore une fois. Mais pas par la moyenne du test, ca sera une erreur de logique (pas une fuite pour le coup). Car ton modele a été entrainé pour comprendre un échantillon d'arbres (les 800 de bases) qui ont un tronc moyen de 50cm. Si ca se trouve, dans les données de test, tu n'as pas eu de chance, et ce sont tous des arbres dont le tronc est plus fin, peut-etre une moyenne de 40cm, ou peut-etre pas ! Quoi qu'il en soit, ca va perturber ton modele qui appris a dire "ok cet arbre je ne le connais pas, on va dire qu'il est dans la moyenne de ce que j'ai apris par le passé, donc il fait 50cm) Autre argument (si jamais le précédent ne t'as pas convaincu) : Quand tu déploies ton modele a l'avenir, il fait des prédictions les unes apres les autres (donc c'est comme si ton dataset ne contenant qu'UNE seule donnée) -> comment faire une moyenne la dessus ? On ne peut pas. Donc on prend la moyenne du TrainSet.
@theom91843 жыл бұрын
@@MachineLearnia D'accord oui ça fait complètement sens maintenant ! Je te remercie pour ta réponse extrêmement détaillée !
@alexandreverdonck9414 жыл бұрын
Super ! Merci beaucoup. Petite question : n'y a-t-il pas un risque d'overfitting lorsqu'on fait de l'imputation ? Si je remplace toutes les valeurs manquantes par la moyenne, je vais renforcer la tendance des données ? (Surtout si j'ai une proportion importante de valeurs manquantes, disons 30%)
@MachineLearnia4 жыл бұрын
Salut ! Je ne dirais pas que c'est de l'overfitting, mais un problème de biais, dans le sens où l'on biaise notre dataset avec trop de données modifiées / déformées. Donc oui on risque d'avoir un modele biaisé, c'est pourquoi il faut bien réfléchir à la technique d'imputation que l'on utilise. Ca peut-etre une des méthodes vues dans cette vidéo, ou bien de l'interpolation avec Scipy, ou encore une élimination de certaines lignes ou colonnes (quand vous avez trop de valeurs manquantes comme ici)
@alexandreverdonck9414 жыл бұрын
@@MachineLearnia Salut ! Merci pour ta réponse. Effectivement maintenant que tu le dis c'est plutôt du biais que de l'overfitting :)
@SAMAmUrl4 жыл бұрын
Si jai des valeurs d'un même référence etalées sur plusieurs 6 lignes, p. ex. , et j'ai à faire la prédiction de la 7ième. et Ceci se répète pour d'autres référence. Devrais-je les transposer pour obtenir une ligne singilière par reférence ensuite faire le traitement de prédiction ? Quellw approche pourrais-je entreprendre. ?
@MachineLearnia4 жыл бұрын
Je ne suis pas totalement sur de parfaitement comprendre la question, mais si vous voulez parler de time series, je vous invite a essayer Scipy avec la fonction interp1d et les autres fonctions temporelles
@Agesilas24 жыл бұрын
je me demandais, qu'en est-il des time series ? un dataset avec disons des données manquantes systématiques chaque samedi et dimanche, doit-on droper ces intervales de temps ? les remplir avec des données supposées (mean, median etc.) ? quelle est la bonne façon de faire ?
@MachineLearnia4 жыл бұрын
Excellente question ! Bien sur cela dépend du dataset et du problème de time series. Donc selon le cas, certaines méthodes que tu as citées seront intelligentes tandis que d'autres un peu moins. En général, si une variables contient beaucoup de valeurs manquantes (c'est a toi de choisir le seuil, car tout dépend) on peut carrement éliminer cette variable, ou la ramplacer par un MissingIndicator (j'ai remarqué avec beaucoup d'expérimentation que ca fonctionne bien). Sinon, pour les timeseries, j'utiliserais les fonctions de Scipy pour analyser les tendances, et aussi la fonction interp1d. Pour les utiliser dans une pipeline, on peut tenter de les injecter dans FunctionTransformer dont j'ai parlé dans la vidéo 22/30.
@Agesilas24 жыл бұрын
@@MachineLearnia donc finalement ça tient véritablement à la nature des données elle-mêmes (ce que je pressentais un peu sans en être certain). typiquement je pense à du forecasting de cotations sur les marchés ; si on a des données toutes les minutes ou toutes les 5min, on se retrouve chaque week-end avec un "trou", un bloc contigu et assez important de NaN, et la reprise le lundi ne correspond pas nécessairement à la clôture le vendredi, or je ne sais pas vraiment quelle serait la bonne façon de traiter ce problème, intuitivement j'aurais tendance à droper basiquement tout le week-end, faire comme s'il n'existait simplement pas... ps: on te le dit souvent mais ta chaine est vraiment au top, ta volonté de faire des vidéos chiadées, claires et didactiques, et la somme de travail que ça implique sont perceptibles. je suis très fan 👍
@bebetobapsio90624 жыл бұрын
bonjour guillaume tout d’abord merci pour ce que tu fais...en quelques vidéos tu nous apprend plus que n'importe qui...stp je voudrais savoir si tu peux dans l'une de tes prochaines vidéo faire un programme avec le "modèle de mélange gaussien" ou du moins un exemple avec python car je voudrais d'une part mieux comprendre cette notion et aussi savoir comment la programmer ...merci encore une fois...
@MachineLearnia4 жыл бұрын
Merci beaucoup pour ton retour ;) Oui je vais faire ca alors, une vidéo sur les Gaussian Mixtures et comment les programmer avec Sklearn.
@bebetobapsio90624 жыл бұрын
merci infiniment
@richmondkongo29764 жыл бұрын
Superbe vidéo, j'ai décidé de me documenter sur le machine-learning et j'ai découvert cette chaîne avec ses magnifiques vidéos, grâce à toi j'ai un assez bon niveau théorique et je voudrais passer à la pratique toutefois, la barrière du langage de programmation se présente à moi. D'après mes recherches et ce que j'ai vu python est beaucoup utilisé mais en poussant mes recherches je constate qu'il est plus propice pour le prototypage que pour la production (certains préconisent le C/C++, JAVA... pour la mise en production de ses modèles). Je suis un peu indécis entre python, C/C++ et Go. Selon toi quel est le plus approprié pour le machine-learning en production et surtout pour les algorithmes d'apprentissage par renforcement?
@MachineLearnia4 жыл бұрын
Bonjour et merci, je suis content de savoir que les vidéos vous aident. Python va bien au delà du prototypage, le temps de réponse est certes plus long et consomme plus d'energie que C/C++/Java, mais beaucoup de projets ne font pas la différences entre un temps de réponse de 10 ms et un temps de réponse de 20 ms... Si vous êtes certains de devoir programmer un system embarqué, alors il vous faut en effet apprendre le C ou C++, mais on parle la d'un niveau de 5 années d'études, il faut comprendre le fonctionnement d'un micro-processor etc, et ca ne s'apprend pas en 3 mois sur Internet. Si vous débutez en programmation (comme vous dites) je vous conseille fortement de commencer par Python, car cela vous permet d'améliore vos compétences en quelques mois, alors que le C/C++ requiert des années de pratique pour vraiment atteindre un bon niveau (car on ne parle pas de faire une petite application, mais de développer des programmes complexes)
@richmondkongo29764 жыл бұрын
@@MachineLearnia Merci pour les précisions, je retiens que pour l'apprentissage par renforcement en robotique le C est plus adapté.
@aimeritedonald66894 жыл бұрын
On peut aussi faire du machine learning avec des données non structurées ?? histoire de voir comment sa peut marcher sans les neurals networks !! ou bien... le machine learning suporte pas un max données ??
@MachineLearnia4 жыл бұрын
Que l'on utilise du Deep Learning ou du Machine Learning, il faut au préalablement pré-traiter les données non structurée pour leur confier un certains format, celles sont alors un peu plus "structurées" que ce qu'on veut bien admettre. Donc oui c'est possible d'utiliser des modeles de machine learnig classique (pas de réseau de neurones) sur des données non-structurées, meme si ce n'est pas forcément le choix vers lequel je m'orienterai personnellement. Je préfere utiliser un réseau de neurones pour tout ce qui est images, son, musique,...
@aimeritedonald66894 жыл бұрын
@@MachineLearnia alors... dois je conclure donc qu'avec du ML on peut que faire de la classification ??
@MachineLearnia4 жыл бұрын
@@aimeritedonald6689 Pas exactement. Pour commencer, le Deep Learning est par définition compris dans le Machine Learning, donc les techniques de Deep Learning appartiennent a la sphère ML. Ensuite, si on exclut les réseaux de neurones, on peut faire bien plus que de la Classfication avec les Algorithmes classiques de ML. On peut faire des regressions, des classifications, du clustering, de la la détection d'anomalie, ou encore de la réduction de dimensions. Mais rien que la classification et la régression regroupe a elles seules la grande majorité des projets envisageables. Par exemple, prédire la résistance d'un pont en un certain point peut être effectue avec un modèle de régression (même si pour cette tache on n'utilise tout simplement pas de Machine Learning ni de Deep Learning, l'exemple permet ici de souligner le fait que les modèles de régressions sont bien souvent sous-estimés par les amateurs)
@aimeritedonald66894 жыл бұрын
@@MachineLearnia merci beucoup !! je comprend mieux maintenant.
@madaragrothendieckottchiwa86484 жыл бұрын
Je valide vos réponses guillaume au passage bonne Explications, trés basic mais super claire et efficaces
@marcopoussin28574 жыл бұрын
Merci bcp, on commence kan le deep learning ?
@MachineLearnia4 жыл бұрын
dans 1-2 mois environ
@noel93354 жыл бұрын
Bonjour, Lorsqu'on "unifie" ou "linéarise" les variables indépendantes les valeurs sont comprises entre -2 et +2. Après les calculs, il est important de retrouver les valeurs initiales, par exemple lors de l'affichage des résultats dans un graphe. En effet et par exemple dans le cas de l'estimation des salaires, un client ne comprendrait pas qu'un employé de sa société perçoive entre -2 et +2 euros. Comment donc retrouver les vraies valeurs car il y a bien une corrélation entre les valeurs initiales et les valeurs unifiées ? Merci d'avance pour ta réponse. A+ ;)
@MachineLearnia4 жыл бұрын
Si vous voulez parler d'une normalisation avec par exemple le transformer StandarScaler, alors il suffit d'utiliser la méthode "inverse_transform()" pour remettre les données a leur échelle initiale, en respectant les rapports de distance
@noel93354 жыл бұрын
@@MachineLearnia Merci beaucoup : cela fait des semaines que j'essaie d'avoir cette réponse, pourtant très simple. A+ ;)
@mohamedwane98774 жыл бұрын
Merci beaucoup, est il possible ''d importer un dataset contenu dans son bureau avec seaborn'' si oui ''comment''
@MachineLearnia4 жыл бұрын
Bonjour, pour importer un dataset, utilisez pandas avec la fonction pd.read_csv(). Je t'invite a revoir la vidéo sur Pandas. (17/30)
@mohamedwane98774 жыл бұрын
@@MachineLearnia je peux le faire pandas sauf qu'avec ça j arrive pas y accéder a cause de la version pandas très élevée
@jouinisofien74514 жыл бұрын
pouvez vous me confirmer si GridsearchCv peut optimiser à la fois les parametres des transformateurs et de model d'estimation en meme temps ? et comment differencier entre les deux catégories de ces parametres. MErci
@MachineLearnia4 жыл бұрын
Oui je confirme que c'est possible, j'ai montré comment le faire dans la video 22/30 sur le preprocessing, les transformeurs et les pipelines
@jouinisofien74514 жыл бұрын
@@MachineLearnia merci bcp
@tanguymathieu-p3d Жыл бұрын
bonjour, j'utilise le knnimputer sur une jeu de données dans mon jupyter notebook, pas très gros environ 320000lignes et 8 colonnes et le knn est surper long 5 à 6 min rééellement , j'ai cru que c'était dû au fait d'avoir scaler les données avant mais même resultat avec ou sans normalisation. est ce normale? merci et merci pour vos vidéos
@wajdiayari31393 жыл бұрын
Merci vous êtes le meilleur, j'ai une question concernant la dernière application , à chaque exécution l'algo me donne des résultats diffèrents par exemple run1 =>{'knnimputer__n_neighbors': 2}/run2=>{'knnimputer__n_neighbors': 3} , quels sont les paramètres qui modifier le résultat à chaque exécution ???
@MachineLearnia3 жыл бұрын
Bonjour, vous vouelz parler d'une gridsearchCV je suppose ? C'est parce qu'il faut fixer l'initialisation aléatoire de la Cross Validation pour qu'elle effectue toujours la meme découpe de votre dataset (random_state = 0)
@nabihamaraoui70824 жыл бұрын
Bonjour Guillaume Super travail toutes ces vidéos! J'ai deux questions : 1 - En executant plusieurs fois le programme de l'application sur le titanic que vous donnez, j'obtiens un résultat à chaque fois différent. Une fois il donne : {'knnimputer__n_neighbors': 1} , puis je l'execute une seconde fois, il donne :{'knnimputer__n_neighbors': 3}, puis 4 A quoi est due cette instabilité du résultat? 2 - j'ai essayé de m'inscrire à discord mais cela m'est refusé??? Merci à vous.
@MachineLearnia4 жыл бұрын
Bonjour, le modele de KNN est constitué a 100% des données qu'on lui fournit (le modele = les données) donc il dépend intégralement des données du split de la cross-validation. Je crois vous avoir répondu la même chose sur discord (ou alors c'est une incroyable coïncidence que 2 personnes posent la même question au même moment) :) Bienvenue dans la communauté et si vous avez d'autres questions n'hésitez pas ! :)
@frankdjoum21674 жыл бұрын
Bien le bonsoir svp je voulais savoir si c'est possible d'appliquer tout ceci avec les données geophysiques
@MachineLearnia4 жыл бұрын
Tout dépend de vos données, mais en Data Science nous pouvons traiter presque tout type de données.
@frankdjoum21674 жыл бұрын
@@MachineLearnia merci bien mais je suis plus specialisé en gravimetrie et les données sont en 3 colonnes (longitude,latitude et anomalies) et je voulais ressortir une carte d'anomalie et plus faire des études statitisques mais mon soucis est comment m'y prendre stp aide moi le language python me passionne beaucoup
@lllcdert8263 жыл бұрын
pour le Knn imputer quand on découpe les donnés en test_set et train_set est-ce qu'on met le random_state = 101
@MachineLearnia3 жыл бұрын
Pas forcément, mais je vous conseille de mettre un random_state, quelque soit le numéro
@mohammed_yazidcherifi98164 жыл бұрын
Merci beaucoup pour tout, vos explications, votre pédagogie et votre savoir, moi qui suis débutant en ML et étudiant j'apprends beaucoup avec vous plus qu'ailleurs. SVP, excusez moi encore mais je suis la série depuis le début et je me mêle les pinceaux un peu avec les méthodes: fit, transform, fit_transform, predict; au début on utilisait que fit, puis est sont venu les deux autres et je ne fait plus la différence entre les trois, et surtout qui utilise les X et qui utilisent le target y ? Merci infiniment. Bon courage.
@MachineLearnia4 жыл бұрын
Bonjour et merci beaucoup. En Machine Learning, il existe 2 types d'objets : des etimateurs (qui font des prédictions X-> y) et des transformeurs (qui transforment nos données X->X). Pour développer ces objets, il faut toujours utiliser une méthode fit(). Pour les estimateurs : fit(X, y) Pour les transformateurs: fit(X) Une fois entrainés, on peut utiliser ces objets : pour faire des prédictions avec les estimateurs : predict(X) pour transformer des données avec les transformers : transform(X) Pour aller plus vite, on peut aussi utiliser des fonctions telle que fit_transform (mais si cela vous embrouille, vous pouvez l'oublier, elle n'est pas nécessaire)
@mohammed_yazidcherifi98164 жыл бұрын
@@MachineLearnia ahhh ok , waw c'est fou comme ça devient claire une fois dit comme ça , Merci beaucoup et bon courage.
@raoulngayamhappy53784 жыл бұрын
Merci pour la vidéo. Une question simple sur la dernière partie sur la combinaison KNNImputer et GridSearchCV. Pourquoi séparer le dataset en train et test puisque le but n'est pas de faire des prédictions, mais bien d'imputer les valeurs manquantes ? Pourquoi ne pas directement travailler sur X et y ? A quoi sert le X_test ici ?
@MachineLearnia4 жыл бұрын
Il ne faut pas imputer les valeurs manquantes en tenant compte de ce qu'il y a dans X_test (c'est a dire qu'il ne faut pas imputer un Dataset X tout entier, car il peut y avoir une fuite d'information - un data leak - entre le train et le test par la suite). Par exemple si on fait un impute en utilisant la moyenne, alors le fait de faire la moyenne sur toutes les données X va indirectement indquer a la machine certaines infos concernant le Test_set.
@raoulngayamhappy53784 жыл бұрын
@@MachineLearnia Donc si je comprends bien le but est de faire de l'imputation en vue de la phase ML et non de faire de l'imputation simple...
@rafcommander47334 жыл бұрын
Tout d'abord, bravo pour les qualités pédagogiques des vidéos. Question : peut-on se servir de knn_imputer avant d'utiliser knn_classifier? N'est ce pas une source de biais ? Merci par avance pour la réponse.
@MachineLearnia4 жыл бұрын
Oui c'est possible et ca n'est pas une source de probleme en théorie. Mais dans la pratique je ne le ferai pas, car KNNImputer est assez "risqué" et KNN_classifier n'est pas un algorithme tres performant.
@Matharendre2 жыл бұрын
Bonjour. Existe-t-il une manière simple de procéder à de l'inputing sur une variable catégorielle? Merci! :)
@MachineLearnia2 жыл бұрын
Oui, vous pouvez mettre l'option de "mode"
@Matharendre2 жыл бұрын
@@MachineLearnia Merci beaucoup, j'avais entrevu cette option mais est-ce la seule?
@abdoulayesoumah71644 жыл бұрын
Bonjour Guillaume, vous faites un excellent boulot, je vous remercie. Une question, je voudrais savoir comment on peut bien parser les logs avec machine learning en classant les élément du fichier texte par date, heure, type, séparateur, adresse ip :port, Greedydata, .... ou bien les classer par famille proche ? Merci.
@MachineLearnia4 жыл бұрын
Bonjour et merci ! Je ne suis pas sur de comprendre la question a 100%. quand vous parlez de log, vous ne faites pas références a logarithme, mais a des enregistrements ?
@abdoulayesoumah71644 жыл бұрын
@@MachineLearnia oui je vais référence aux enregistrements. Par exemple sur cette ligne: 07/07/2020 10:23:12:234 [soum] 123:23:44 crs : >> sms je veux faire le parsing c'est dire à chaque fois il rencontre les types. 07/07/2020 il les prend comme date 10:23:12:234 commet temps comme word [soum] comme word 123:23:44 comme data crs comme word : comme data >> comme data sms comme sms
@abdoulayesoumah71644 жыл бұрын
En fait c'est pour me faciliter le parsing en regroupant par famille de mots ou type. merci
@cyrineabid3083 жыл бұрын
Est ce que KNN Imputer est l'amputation multiple? Ou c'est complètement différent?
@MachineLearnia3 жыл бұрын
Bonjour, je ne connais pas l'amputation multiple, mais c'est peut-etre que je la connais sous un autre nom. Donc je ne peux pas vraiment répondre a la question, navré
@boubkersaoud73383 жыл бұрын
Bonjour, J'aurais voulu savoir si c'était possible d'avoir quelques éclaircissements ou des orientations concernant la nomenclature adéquate des paramètres à optimiser lors de la construction du dictionnaire , exemple donné sur la vidéo ('knnimputer__n_neighbor') entre __ et car sur le site scikit-learn, je ne m'y retrouve pas trop. Merci de votre aide
@MachineLearnia3 жыл бұрын
Bonjour, désolé je ne comprends pas trop la question au niveau du " entre __ et " qu'est-ce-que vous ne comprenez pas ?
@boubkersaoud73383 жыл бұрын
@@MachineLearnia Bonjour ce que je n'arrive pas à maitriser c'est lors de la construction du dictionnaire des paramètres la dénomination à respecter concernant les clés. Exemple de la vidéo 'knnimputer__n_neighbor', pourquoi un double undescore, par exemple? Je ne sais pas si je suis plus clair. Merci
@MachineLearnia3 жыл бұрын
Le double underscore est précisé quelque part dans la documentation, c'est en fait la seule choses a connaitre en terme de syntaxe.
@boubkersaoud73383 жыл бұрын
@@MachineLearnia Merci
@soumayakhila5463 жыл бұрын
Merci pour ce vidéo extremement utile! vraiment merci. Est-ce que KnnImputer peut imputer les données qualitatives aussi bien que les données quantitatives? Si oui, est-ce que le principe c'est de compter la moyenne des valeurs pour les var quantitatives et le most frequent pour les var. qualitatives , bien sur uniquement pour les échantillons les plus semblables?
@ouridaradja57894 жыл бұрын
Bonsoir, merci pour cette vidéo. j'ai une petite question à propos de l'optimisation des modèles par GridSearchCV ou par validation_curve ça ne marche pas pour l'algorithme KNNImputer pour les cible "Y" multiclasses. Donc est ce que il y a une façon d’optimiser les paramètres de KNNImputer, et que est ce que tu dis à propos de Sklean pour l'imputation de données manquantes (riche en nombre de méthodes?) ou il existe des bibliothèques python plus riches.
@MachineLearnia4 жыл бұрын
Bonsoir ! KNNImputer est relativemnet nouveau donc je vais devoir enquêter un peu pour comprendre pourquoi tu obtiens ce problème. Est-ce-que tu cherches a compléter la partie Y de ta Dataset ou bien juste la partie X ? (parce qu'en lisant ta question j'ai l'impression que tu cherches a compléter les valeurs y manquantes, mais ce n'est pas le rôle d'un Imputer, ce qui expliquerait pourquoi ça ne marche pas)
@bohinbotimothee81744 жыл бұрын
salut... Merci ... Tu pourrais nous en faire un sur le traitement de langage naturel? la classification des textes
@MachineLearnia4 жыл бұрын
Salut ! Oui ca sera pour une future playlist de vidéos car le sujet est long et ne se traite pas en 1 vidéo
@timbohinbo21614 жыл бұрын
Machine Learnia d’accord ça marche.. je reste à l’écoute
3 жыл бұрын
Salut Guillaume, actuellement, je suis en train de nettoyer un dataset, issu d'un join de datasets indéxés sur des timestamps. Mes données manquantes dans le dataset final viennent du fait que les datasets initiaux sont des données de capteurs météorologiques indépendants, qui n'ont pas collecté de mesures aux mêmes instants. Comment faire pour combler ces vides ? Une piste que j'envisage serait de regrouper les timestamps par tranches de 5, 10 ou 15 minutes AVANT de faire le join. Est-ce que cette approche est valide (car j'ai une sérieuse réserve sur les imputers, pour ce cas particulier) ?
@MachineLearnia3 жыл бұрын
Bonjour, c'est un probleme classique en ingénierie. On peut faire comme ce que tu dis, ou bien faire une interpolation linéaire entre chaque colonne, a toi de voir.
3 жыл бұрын
@@MachineLearnia merci pour le conseil, l’interpolation serait certainement une bonne option. Entre temps, j’ai utilisé la fonction fillna, avec la method ffill. Pour mon cas, ça pourrait suffire.
@olfameksi34723 жыл бұрын
Bonjour Guillaume! Je suis vraiment débutante dans ce domaine. Et peut être je vais poser une question débile. Je travaille sur un mini projet dont l'objectif est de prédir le time to event (casse) pour un réseau d'eau potable. Le problème est que les données en possession manquent beaucoup d'information (des casses non repotées (Date de casse)). Ma question c'est (au lieu de faire des recherches pendant des heures sur internet sachant que je comprends pas tout) : Est ce que dans ce cas est possible d'utiliser l'ANN pour générer des données (les variables pour chaque tuyau: matériau, date de pose, date de casse, collectivité) de manière intelligente? Je vous remercie d'avance
@MachineLearnia3 жыл бұрын
Bonjour Olfa, désolé pour ma réponse tardive (j'ai déménagé) Oui c'est possible de faire de l'augmentation de donnée avec des ANN : regarder sur Google pour trouver des tutoriels de GAN (ou bien directement sur le site de Tensroflow) Ca demande un peu d'expérience pour y arriver par contre. Et surtout voici un conseil tres important : Ne mettez surtout pas de données issues de votre GAN dans le test set !!! (le test set doit rester pur, et ne doit pas comprendre de données inventées, c'est tres dangeureux). Bon courage !
@donellessame91943 жыл бұрын
Salut guillaume, j'ai fini la série de vidéo sur python spécial machine learning. Et je travaille sur le dataset de la COVID-19, j'ai essayé de retirer toutes les NAN values avec le SimpleImputer (strategy=constant, fill_values=0), mais quand j'ai fait un dataset.head je me rends compte qu'il reste encore des NAN values que je peux clairement voir sur le dataframe. J'ai essayé un dropna() , mais lorsque je l'utilise il y a tellement de NAN values que la fonction supprime toutes les lignes du dataframe. Je ne sais plus quoi faire peut tu me donner un conseil ou une astuce pour réussir à nettoyer ce dataset?
@MachineLearnia3 жыл бұрын
Il s'agit du dataset qu'on a étudié dans les vidéos ?
@yanisaithammou64104 жыл бұрын
merci infiniment 😍😍
@MachineLearnia4 жыл бұрын
De rien :D
@guillaumetopenot71434 жыл бұрын
Bonjour Guillaume J'ai reçu mail hier annonçant la sortie de la video 23 mais je ne peux la visualiser : KZbin me dit "vidéo privée"... Quand deviendra-t-elle public ? Merci
@MachineLearnia4 жыл бұрын
Salut Guillaume, J'ai eu un problème a l'upload de la vidéo, donc je l'ai désactivée et j'ai immédiatement remis la vidéo en téléchargement sur KZbin (elle est désormais disponible) ^^
@clandroid79124 жыл бұрын
Bonjour, est-ce que tu parles d'anonymisation des données dans une de tes vidéos ? Que faire quand on doit travailler avec un dataset contenant des noms, prénoms, numéros de téléphone contenus en vrac dans des morceaux de texte ? Je ne parle pas de tableurs csv avec des colonnes nom, prénoms, identifiants bien distincts. Ce serait trop facile de les enlever. Je parle bien de champs texte contenant par exemple, une note d'incident ou un commentaire utilisateur.
@MachineLearnia4 жыл бұрын
Bonjour, il faut encrypter les données, tout simplement. C'est une autre discipline dans laquelle je n'ai pas le meme niveau de compétence qu'en Machine learning, Mais on peut faire de l'encryptage basique assez facilement en remplaçant chaque lettre de l'alphabet par un caractère spécial (mais ce n'est pas efficace, n'importe qui peut cracker le code)
@clandroid79124 жыл бұрын
@@MachineLearnia c'est une des approches que j'ai pu voir en ligne, par contre, dans mes problèmes de classifications en NLP, je trouve ça très pratique d'utiliser un language model déjà entraîné sur wikitext-103 (transfer learning) avant de le fine tuner avec mon corpus de textes cibles et d'enfin recycler l'encodeur dans un nouveau classfier. Dans ce cas, j'imagine qu'il faudrait que j'extraie le fichier de vocabulaire du premier language model pour le coder de la même manière (c'est plus un codage qu'un chiffrement, d'ailleurs). Ça te semble faisable ? Orthodoxe ? Sans perte d'accuracy ?
@clandroid79124 жыл бұрын
Pour le risque de craquer le code, si je ne code pas chaque lettre mais chaque mot en codant le fichier de vocabulaire qui est créé lors de la "numericalization" (dictionnaire qui a chaque indice entier associe un mot), je pense que j'évite le risque de l'attaque statistique qui tient compte de la probabilité distribuée de l'apparition de chaque lettre dans une phrase dans une langue donnée. Corrige-moi si je me trompe.
@MachineLearnia4 жыл бұрын
Oui je vois l'idée et ca me semble faisable. Le mieux est de tester l'idée pour mesurer les résultats. Il est important de rappeler que le Machine Learning est un domaine d'étude tres expérimental : On préfère tester des idées et mesurer leur performance plutôt que de méditer longtemps sur la faisabilité d'un projet.
@benkacemnadia15074 жыл бұрын
si les champs vide sont de type string que doit faire ??
@MachineLearnia4 жыл бұрын
Il faut d'abord remplir le vide avec un imputer ou bien une des fonction de Pandas, fillna, etc.
@sylvainballerini2394 жыл бұрын
Merci pour la vidéo ! Mais du coup avec la première méthode de remplacer les valeurs manquantes par la moyenne...ceci ne risque pas d'augmenter encore plus la "moyenne" bref en un mot ....c est pas dangereux comme technique ? ( après je suppose que ça dépend du nombre de valeur manquantes....) Ps il y a t il une vidéo qui parle spécifiquement du nettoyage ?
@MachineLearnia4 жыл бұрын
Une règle d'or a respecter : ne pas imputer des données lorsque plus de 50% des données sont manquantes. Non je n'ai pas encore faire des vidéos sur ce sujet en particulier mais ca ne saurait tarder.
@RomeoSawadogo-e7o8 ай бұрын
Bonjour monsieur, comment vous allez? J'espère bien. Je travaille sur un projet de machine learning sur la prédiction de réussite en licence des étudiants orientés à l'université Norbert Zongo. C'est projet rentre dans le cadre en vue d'appliquer mes connaissances que j'ai acquis lors de votre formation sur KZbin. Je suis confronté à un problème de données parce que je veux utiliser des données réelles. J'ai au total 5657 donnée mais au niveau de ma variable cible ( target ), les données manquantes sont au nombre de 2033. La raison est que je ne dispose la liste de leur résultat de licence. En un mot, je ne sais pas si les 2033 étudiants ont réussi leurs licences ou pas. Face à cette situation, quelle sont les approches que vous pouvez me proposer ? Dans l'attente d'une réponse à ma situation, veuillez agréer l'expression de ma plus haute considération
@tuto-uvcitd68304 жыл бұрын
Bonjour Guillaume, désolé si ma question ne n'est pas en rapport avec cette vidéo; je tiens d'abord à vous félicitez pour votre livre qui donne les informations sur la data science , Bravo! je veux savoir si vous avez fais une vidéo formation sur la création de fichier python exécutable sous MacOs avec l'environnement anaconda, si oui donnez moi le lien de la vidéo ? svp si c'est n'est pas le cas, il serait vraiment chouette d'en faire une. Merci!
@MachineLearnia4 жыл бұрын
Merci beaucoup, non je n'ai pas encore fait une telle vidéo, je le rajoute sur ma liste des choses a faire :)
@thiernondiaye80433 жыл бұрын
À quand Le ivre sera disponible ?
@MachineLearnia3 жыл бұрын
Bonjour, je n'ai pas encore de date de prévu, il faut que je repense ce projet.
@pulsorion4 жыл бұрын
Top ! ✔
@MachineLearnia4 жыл бұрын
Merci
@bilelsalem45124 жыл бұрын
l'imputer comment il fait réellement la différence entre X et X_test pour qu’il puisse remplacer les "nan" dans X_test par les moyennes trouvées dans X? Sinon Merci pour cette formation :)
@MachineLearnia4 жыл бұрын
Il garde en mémoire la valeur moyenne de X_train et l'applique au X_test.
@chainonsmanquants16304 жыл бұрын
Merci
@bouabdellahtahar51263 жыл бұрын
data.dtypes Dst Port object Protocol object Timestamp object Flow Duration object Tot Fwd Pkts object ... Idle Mean object Idle Std object Idle Max object Idle Min object Label object Length: 80, dtype: object come j-'ai tape a command sauivant data = data.astype(float).apply(pd.to_numeric) ValueError: could not convert string to float help