Génial ! Perso, je trouve ce genre de format tout aussi sympa surtout qu'il apporte un meilleur référencement sur UA-cam (ce qui est doublement sympa).
@@MachineLearnia Personnellement j'apprécie aussi les formats mixtes de type "vidéo et texte" associés dans la même page (un peu comme OpenClassRoom). Cela permet de : - Lire la vidéo et d'avoir par exemple le code source à disposition avec la fonction copier/coller. - De pouvoir lire d'autres ressources grace aux liens cliquable. - De lire le tuto quand on se trouve en public pour ne pas déranger. - D'avoir une rélecture de ce que l'on vient de visionner. - De faire une recherche par mot clé dans le texte (car dans une vidéo cela n'est pas possible). - Et de pouvoir écrire un commentaire dans UA-cam... ;)
Bonjour Guillaume, chaque soir depuis quelques jours je suis ta formation. C'est enfin ce que je cherchais à faire depuis quelques années. Ton enthousiaste et ta bonne humeur me donne énormément de courage pour m'auto-former dans ce domaine. Ca m'aide beaucoup dans mon perfectionnement. Un grand merci !
Bonjour Julien, ca me fait super plaisir de savoir que je te donne de l'energie, de la motivation et de la confiance en toi. Je suis sur que tu es vraiment doué et talentueux, car c'est la majorité des gens qui vont jusque la dans les videos, en tout cas a ce rythme ! Bravo ! :)
Merci beaucoup Guillaume. J'ai passe beaucoup de temps pour regarder des videos sur python, pandas et matplotlib. Tes videos sont vraiment les meilleures parmi ce que j'ai regarde. Bravo!
C'est de loin la meilleure formation sur le sujet que j'ai pu trouver après plusieurs mois de recherche. Bravo continuez j'apprends énormément formation d'un trop haut niveau pédagogique, Juste assez de math, juste assez de code les infos pertinentes au bon moment. Et je peux le dire parce que j'ai eu des stages et des cours en ligne et cela fait plaisir de découvrir une personne qui explique réellement bien. Je me suis abonné je suis preneur pour un livre quand il sortira ou pour des supports de cours.
Merci Guillaume, c'est très instructif et passionnant. Astuce pour créer un graphique 3d que l'on peut pivoter sous Jupyter: il faut taper %matplotlib notebook
Bonjour, je me permets un question ..? Justement je ne réussis pas à obtenir un graphique 3D "pivotable" sous Jupyter, j'ai tout essayé : avec %matplotbib j'ai "Using matplotlib backend: Qt5Agg", avec %matplotbib inline ou widget ou notebook j'ai "Warning: Cannot change to a different GUI toolkit: notebook. Using qt instead." Je ne suis pas une pro, j'utilise Anaconda (windows10). Merci si jamais .....!!🤞🙏
Merci encore une fois pour tes cours. Ils sont au top. (Seul celui du broadcasting m'a laissé un peu dans le gaz.) La difficulté majeur que je rencontre avec python c'est la syntaxe des boucles For. Habitué à Pure Basic, Php, j'ai vraiment du mal a assimiler ces juxtapositions de données et ces in range, zip etc..
C'est vraiment formidable ce que tu fais . Juste an idea , pourquoi pas faire des video avec plein d exercices tous plus différent les un des autres et qui augmentent en difficulté
Merci beaucoup Cher Guillaume d'avoir pris le temps de faire cette vidéo pour nous aider à maîtrise les connaissances de python Mille merci cher Guillaume .
Hello Guillaume, Tout d'abord un grand merci pour le temps que tu consacres à ta chaine YT. Le contenu est très qualitatif, complet, bien expliqué, etc ... Ayant quitter la France pour l'Australie avant le covid je suis au "chomage" et j'ai commencé à me former sur python il y a quelques mois et au vu de la situation j'ai encore du temps pour me consacrer à ta formation. Je suis en train de réfléchir à un projet dans mon domaine d'expertise (finance de marché) qui pourrait m'aider à trouver du travail lorsque la situation économique sera meilleure. La finance a un gros avantage: les datasets sont nombreux,prolifiques et facile d'accès. Encore merci pour ton travail. Au plaisir de te suivre et de te soutenir sur Tipee lorsque j'aurais du boulot. Quentin
Bonjour Quentin et bravo pour ton courage dans cette situation difficile ! Si tu veux on peut se parler sur discord, j'ai peut-être des conseils qui pourraient être utiles pour retrouver du travail dans ton domaine.
Avec plaisir c’est très sympathique de ta part. Je rejoindrai ton discord (si tu en as en description) dans la nuit mais il faut que je réfléchisse à ce que je veux faire comment projet (j’hésite entre un projet d’optimisation de portefeuille dit « smart bêta » ou bien d’optimisation de couverture trading) Bonne journée à toi en France
Merci pour votre générosité. J'écoute, je teste et je comprends (la plupart du temps) toutes vos vidéos. Dans celle ci, je reste sur ma fin lorsque vous dites au temps 24:38 -> "x.T car on s'intéresse à la corrélation entre les colonnes". Et là, grosse frustration car je déteste passer quelque chose que je n'ai pas compris. Je sais que l'explication des matrices n'est pas la chose la plus cool, mais vous avez beaucoup de pédagogie et je pense ne pas être le seul à apprécier une explication sur ce sujet épineux. Même sans, vos vidéos sont du pain béni, Merci.
Bravo pour votre motivation ! Vous irez loin et je vous soutiendrai ! J'ai fait une vidéo sur les matrices au cas ou vous avez besoin d'un petit recap ! En fait il s'agit la de transposer la matrice X (c'est a dire la retourner pour que le colonnes deviennent des lignes et les lignes des colonnes. La raison a cela est que l'on cherche la corrélation qu'il existe entre nos différentes colonnes (les variables) et non les échantillons (les lignes). Par exemple sur un dataset d'immobilier avec des variables telles que le prix, la surface, la qualité, etc et des échantillons étant les appartement eux-memes, on cherche la corrélation entre les variables (et non les échantillons) ainsi on dit que le prix est fortement corrélée a la surface. A l'inverse on ne dit pas l'appartement A est corrélé a l'appartement B (ca n'a pas de sens)
Vidéo vraiment génial, comme toute les autres. Pour le format je préfère les vidéos normales perso. Continue c'est vraiment top ce que tu nous apportes
waouh là je sais plus quoi dire mais c'est le Best des tutoriels de machine learning en français merci beaucoup mais on aimerais voir un projet complet
Bonjour Guillaume, Merci pour cette vidéo. Je cherche a reproduire le graph imshow qui s'affiche à 17:47. Aurais-tu quelques indications ? Merci pour ton aide !
C'est un graphique Scatter par dessus un graphique Imshow. Pour la colormap tu peux choisir "spectral" et pour générer le imshow il te faut générer une grille XX YY avec meshgrid (comme vu dans la vidéo) et disposer d'une fonction f(XX, YY) = Z
Alors, j'ai à peu près réussi à faire tout ça mais je n'ai pas de fonction f(XX,YY)=Z. J'essaye d'interpoler des valeurs de Z mesurées, matérialisées sur la figure par le scatter plot. Pour interpoler, j'ai utilisé griddata mais je n'ai pas réussi à avoir un résultat "présentable". Il y a plein d'outils d'interpolation dans Scipy et je ne sais pas trop lequel choisir. Merci pour tes recommandations !
@@erwandeboisjolly2779 Une interpolation est possible, mais il vaudrait peut-etre mieux utiliser une estimation de densité ! Par exemple KernelDensity de Sklearn pourrait faire l'affaire !
Bonjour Guillaume ! Déjà un énorme merci a toi pour tout le temps que tu as dédié à cette série, et tout le temps que tu continue à dédier au commentaire ! C'est juste incroyable ! J'aurais en outre une question à propos de la correction de l'exercice 14/30, en effet j'ai écris un code diffèrent du tien mais qui fonctionne tout autant, et comme ce code m'a l'aire importante pour le futur, j'aurais aimé que tu me dises si le mien ce trouve êtres "correct" ou non; def graphique(dataset): for i in dataset: y = dataset[i] longeur = len(x) x = np.array([i for i in range(longeur)]) plt.plot(x, y) plt.title(i) plt.show() graphique(dataset) Voila c'est tout pour moi ^^ Encore un énorme merci pour tout le savoir que tu nous apportes !!
Oui ca fonctionne, mais je recommande plutôt la version que j'ai proposé en solution, elle est plus compacte, et tout autant lisible. Ca sera mieux a l'avenir pour des projets plus conséquents ! Mais bien joué c'est super si tu as pu proposer une autre solution, qui marche ! :D
Bonjour, réponse à l'exercice; def graphic (dataset,n): dataset={f"experience{i}": np.random.randn(100) for i in range(n)} for i in range(n): plt.figure(figsize=(10,5)) plt.subplot(int(n/2),2,i+1) plt.plot(dataset[f"experience{i}"]) plt.title(f"Experience {i+1}") plt.show() Merci pour cette excellente formation
@@MachineLearnia Hello, j'ai testé le scatter avec l'option c= pour grouper par couleur comme tu l'as présenté mais je n'arrive pas à mettre la légende (juste une couleur affichée) .J'ai fait qqs recherches non concluantes sur le net. Pourrais-tu stp partager ta solution pour légender le scatter plot avec option c ?
@@matvay8281 Oui ce n'est pas marrant de faire ca avec matplotlib. Pour faire ceci on utilisera Seaborn, qui est beaucoup plus pratique, et bien plus facile / agréable d'utilisation. On le verra dans quelques vidéos ! En attendant, si tu tiens absolument a faire ca avec matplotlib, tu peux soit créer 3 fonctions scatter (une pour chaque valeur de y) Ou alors tu peux écrire ce code la a la place de la légende: plt.colorbar(ticks=[0, 1, 2])
Super vidéo! 10:47 : que devrons-nous faire si on veut que l'axe des ordonnées représente la proportion d'apparition, et non le nombre d'apparition pour chaque catégorie ? Faut-il utiliser le paramètre density=True ?
Salut merci pour les vidéos j'apprécie beaucoup, personnellement à 22:25 je n'ai pas réussi à afficher les graphique qu'avec le plt.show() j'ai du appeler la fonction avec dataset, si jamais ca peut aider et aussi pour afficher les graphique dans spyder Préférence > Console IPython > Graphique > Sortie : Automatique .
Vraiment au top tes vidéos ! Je suis en Master data science et on fait beaucoup, mais beaucoup trop de R au mépris de Python parfois ! Heureusement que tu donnes ce ptit coup de pouce en plus ;). Est-ce que tu classerais aussi les boxplot/violinplot comme de bons graphiques aussi ? Je trouve que ça donne un bon aperçu de la distib mais aussi d'indicateurs stat tels que les quartiles, moyenne...
Ah ca fait super plaisir de pouvoir aider :) Oui ce sont d'excellents graphiques (je ne les ai pas présentés pour rester simple, mais je les recommande a 100%)
Salut Guillaume, merci pour ces cours gratuits, c'est vraiment sympa et passionnant ! Une question, est-ce que tu aborderas la génération automatique de texte par le deep Learning (on a beaucoup parlé de GPT-2 ces dernier temps et aussi Thibault Neveu l'a abordé avec le générateur de poèmes de Victor Hugo) ? D'avance merci pour ta réponse. Bien cordialement. Michel
Salut Michel. Merci beaucoup. Oui je vais faire beaucoup de vidéos sur le NLP, la génération de textes, le chatbot etc. :) Ca viendra dans quelques mois. Stay tuned :D
Intéressant ce classement, merci. Pour le paramètre alpha, j'ai remarqué à 4:38 que certains points sont devenus plus transparents par rapport à d'autres, sans même avoir à multiplier la valeur de alpha par une variable. Y a-t-il svp une explication à cela?
Cette formation est tout simplement excellente. Bravo. Serait il possible de la compléter avec une vidéo expliquant comment enregistrer des animations en mp4 ou en gif. Merci d'avance
on se base tellement sur de vielles videos que plusieurs packages sont plus a jour😮💨 mais on a pas le choix , le prof est occuper avec surement le concurant de chatGpt 🤩
Guillaume avec cette vidéo je me suis cru encore en sup ou ont tombe encore plus amoureux des maths juste une bonne vidéo il manquait Je crois un peut de seaborn
Si vous pouvez parler dans une vidéo des prédictions des cours de la bourse ! surtout la partie du plot (actual data + predicted data) sur le même plot !! ça me gène vraiment :( Sinon un grand bravo comme toujours
salut Machine Learnia. Je n'ai pas bien compris a 3:24 comment on peut affecter à la variable c un nombre (0,1 ou 2). Comment il détecte la couleur ( bleu, jaune et violet) ? Et merci pour ces vidéos super intéressante.
def graph(dataset): plt.figure(figsize=(10,10)) for k in range(0,dataset.shape[1]//2): plt.subplot(1,1,1) #plt.plot(dataset[:,k],label=f"{k}") plt.scatter(dataset[:,k],dataset[:,k+1],c=y,alpha=0.5,s=100) plt.xlabel("Length") plt.ylabel("Width") graph(x)
Je ne savais pas qu'on pouvait utiliser scatter plot dans ce cadre (catégorisation). Ca fait penser à la méthode .pairplot de la librairie seaborn. Tu en parles surement dans une prochaine vidéo ? Sinon pour l'aplatissement des tableau numpy, je vois qu'il y a aussi la fonction .flatten(). Il y a une différence avec .ravel() ? Il y a aussi .flat() mais si j'ai bien compris c'est un itérateur (donc le tableau "aplati" n'est pas créé en mémoire ? c'est censé être plus rapide à l'exécution si on itère dessus?)
Au top, merci pour tes cours ! Et je voulais savoir si c'était possible que tu fasses un exemple de problème de ML du début jusqu'à la fin (importation des données, EDA, nettoyage de la base….) sur une base de données, type Titanic ou autre. Ca serait vraiment génial car je trouve des vidéos qui font chaque étape séparément et pas forcément sur le même dataset ce qui est un peu dommage car je voudrais bien résoudre un problème de ML du début jusqu'à la fin.
Salut et merci :) C'est prévu pour les épisode 28 (ou j'annoncerai quel projet nous allons faire et je vous donnerai une méthode a suivre). Puis dans l'épisode 29 je ferai un corrigé. Les épisodes vont bientots sortir car le rythme des videos est en train de s'accélérer ! Vous en saurez plus dans ~10 jours car je vais vous laisser choisir le dataset a étudier par vote dans les commentaires ! :D
Pour ajouter une légende de cette maniere, il faut écrire une boucle for, ou bien utiliser seaborn (qui est bien plus simple, et je montre cette librairie un peu apres dans la série de vidéos)
Coucou génial tes vidéos :) cependant au niveau des exercices j'ai souvent du mal à comprendre ce que tu veux. Tu devrais peut être afficher ce que tu veux obtenir (le graphique final dans ce cas précis)
Le graphique d'illustration à 9:56 est vraiment sympa (points hexagonaux, et histogrammes latéraux). ça a titillé ma curiosité, et j'ai réussi à trouver qu'il s'agit d'un plt.hexbin(x,y, gridsize=20, ....). Par contre, je n'ai pas compris (help(plt.hexbin)) à quoi sert le paramètre bins (qui ne fait rien sur mon graphique, à l'usage), et quand je met marginals=True, je n'obtiens pas les histogrammes.
Bins correspond au nombre d'intervalles binaires pour découper vos variables entres leur min et leur max. C'est en gros la résolution de l'histogramme. Euh je ne connais pas margnials, il faudrait que j'aille voir !
Bonjour et mille mercis pour ces videos! Apres 4 ans comme ingenieur electronique en Irlande (sur les processeurs d'Intel Movidius specialises en IA) je rentre a Toulouse pour trouver un boulot mais c'est complique par les temps qui courent alors j'en profite pour apprendre de nouvelles competences et ces videos rendent le processus tres agreable! Petite question sur la correction de l'exercice: Y a-t-il une raison de preferer zip plutot que enumerate dans ce cadre? for i, key in enumerate(datasets, 0): plt.subplot(len(datasets), 1, i+1) ...
Bonjour et bon courage dans ta recherche de travail, tu peux compter sur l'aide de notre communauté. Pour ta question, oui tu peux utiliser un Enumerate, ca ne change rien, ton code est parfait !
Merci pour toutes ces videos. Ca m'a replongé dans les maths, et j'ai appris beaucoup de choses. Super ! Par contre pour la correction de l’exercice j'obtiens une erreur : 5 dataset 6 def graphique(data): ----> 7 n = len(data) 8 plt.figure(figsize=(12, 8)) 9 for k, i in zip(data.keys(), range(1, n+1)): TypeError: 'dict' object is not callable Zut alors ! Si vous savez d'où cela peut venir. Merci
Bonjour, Pour les graphique de classification avec plt.scatter ( et pour les graphique 3D) qu'est ce qu'il faut mettre dans le paramétre label pour avoir la légende des couleurs utilisées? (excellente vidéo, comme toujours)
Il faut faire une boucle for et afficher un graphique scatter différent pour chaque valeur de y (oui ca n'est pas pratique, mais c'est la meilleure chose a faire avec matplotlib). Merci :)
Salut Guillaume, j'ai une grande question sur les histogrammes : ils ne sont particulièrement utiles qu'en cas de variable continue, en rangeant plusieurs valeurs et leurs décomptes dans des classes, définies par le nombre de 'bins' entre la valeur max et la valeur min ? Sinon, dans le cas de ton exemple de l'image avec bins=255 (d'ailleurs au passage, ne devrait-on pas plutôt mettre 256 ? => il y a 256 valeurs entre 0 et 255 ), quelle différence dans ce cas y-a-t-il avec un barplot qui affiche le nombre par catégorie, mais ici les valeurs de chaque niveau de gris peut être considéré comme une catégorie, c'est bien ça ? Et pour toujours bien comprendre et faire le lien, un barplot va juste tracer ce qu'une fonction comme np.unique(unique_counts = True), que tu as présenté dans une autre vidéo, fournit comme résultats ?
Salut ! Oui les histogrammes sont utiles pour analyser les variables quantitatives, ou continues. Pas de différences avec une barplot en fait, dans ce cas précis ! C'est ca ! Oui, les barplots sont a utiliser pour les varibles catégorielles.
Bonjour Guillaume ! Je voulais d'abord vous remercier pour cette formation...Elle est vraiment intéressante. Mais à propos de cette vidéo je me demandais comment vous aviez fait pour zoomer et dézoomer dans le graphe tracé avec le module mpl_toolkits. Merci d'avance :)
Bonjour et merci :) Pour zoomer dans un graphique, il faut créer le graphique avec QT5. Pour ca, si vous utiliser Jupyter, alors il suffit de commencer votre code en tapant la ligne suivante : %matplotlib Et pour revenir au graphiques normaux, il faudra taper : %matplotlib inline Si vous utiliser Spyder, il faut changer les reglages de la console dans le menu préférences.
Merci Guillaume, je voulais savoir dans l'exercice, comment faire pour actualiser les plt. en utilisant PyCharm toutes les graphique ne s'affichent pas directement...
@@MachineLearnia oui, je parle par le fait que on a un boucle for, à chaque itération du for, le plt. doit être actualiser. Dans d'autres cas, avant d'afficher une deuxième plt. Il faudrait fermer la premiere. C'est pendant on veut que le 4 soit sur une même plt.
Merci beaucoup Guillaume ! C'est clair, simple, efficace, pertinent. Peut être est-il judicieux de commencer par le numéro 1 du top 5 pour maximiser l'attention du spectateur ?
Bonjour Guillaume, je suis vos cours avec plaisir (et pas trop de difficultés). Par contre j'ai un problème avec les graphe 3D : comment les faire apparaître dans une fenêtre externe dans spyder : j'ai essayé "%matplotlib auto" : plantage. J'ai essayé 'exec(%matplotlib auto)' : aucun plantage, mais pas de fenêtre permettant de choisir le meilleur axe de visualisation. Au final est-ce possible ...??? Votre méthode pédagogique est vraiment bluffante. PBI
Bonjour Philippe et merci beaucoup ! :) Pour faire apparaitre vos graphiques 3D dans une autre fenetres, il faut changer un réglage de spyder. 1) Cliquez sur Tools > Préférences *Une nouvelles fenêtre s'ouvre* 2) cliquez sur IPython Console > Graphics. 3) Dans Graphics Backend, selectionner "Automatic" ( a la place de "Inline") 4) redémarrez spyder. Dites moi si le problème est résolu, merci :)
Bonjour, est-ce que vous savez s'il existe une fonction matplotlib (j'ai recherche sur google mais je n'ai pas trouvé ce que je voulais) pour changer la couleur du background du plot? Par exemple j'ai un dataframe avec une colonne contenant plusieurs phase d une experience et je souhaiterai avoir un background de differente couleur pour chaque phase. Merci beaucoup pour vos videos très claires et interessantes!
Oui, il faut utiliser la facon objet de matplotlib, en définissant vos graphs comme des objects (par exemple en les appelant "ax") et en écrivant ax.face_color. Voici un article qui vous explique comment faire : stackoverflow.com/questions/14088687/how-to-change-plot-background-color
Comme à chaque vidéo, c'est super. Merci :). J'ai plusieurs question : Est-ce que tu te sers d'outil de DataViz comme PowerBI par exemple (plus simple à appréhender pour un non développeur) ? Sous Spyder, je n'ai pas compris comment on pouvait se déplacer dans un graphique en 3D. Merci encore pour tes vidéos qui sont pour moi extrèmement pédagogiques et claires
Merci beaucoup Bastou ;) Alors concernant tes questions: 1) Non je ne me sert pas de PowerBI. J'utilise Seaborn pour la DataViz (j'en parle dans le tutoriel 19/30) c'est également tres simple a utiliser ! 2) Sous spyder, il faut que tu changes un réglage: cliques sur Tools > preferences > IPython console > Graphics > Graphics backend > Backend: Automatic Ensuite tu dois redémarrer Spyder. Dis-moi si tu réussis tout ca :)
Bonjour, dans figsize (m, n) : m c'est la largeur de la figure (en inch) et n la hauteur dans subplot() : m c'est le nombre de lignes que tu veux avoir sur ta grille de graphiques, n le nombre de colonnes, et x le numéro du graphique sur lequel tu veux travailler sur ta grille.
bonjour Guillaume, merci pour tes vidéo et tes cours libre, petit question si j'ai bien compris pour l'histogramme. Plus le nombre de section et grande(bins= ) plus le graphique est représentatif du résultat voulu? une autre question pour la partie histogramme moi j'ai du mettre les valeurs print(plt.hist(x[:,0], bins=1900)) print(plt.hist(x[:,1], bins=20)) pour arriver aux même graphique que vous, sur la vidéo alors que vous s'est bins=20 pour axe 0 bins=20 pour axe 1 ce qui donne pas du tout le même graphique Ou j'ai fait une erreur dit moi ! Merci
Bonjour et merci pour ces excellentes leçons. J'ai une question concernant l'exercice. Le code ne m'affiche pas le contenu des graphiques. les abcisses par defaut semblent beaucoup trop faibles. Nous avons pourtant les mêmes lignes de code.
Merci beaucoup pour tes vidéos si instructives ! J'ai une question (qui en comprend plusieurs) concernant la correction de l'exercice (de la vidéo 14/30). Lorsque l'on définit la boucle for pour itérer à travers notre dictionnaire, à aucun moment on définit notre x et y (comme on a pu le voir sur d'autres vidéos). Comment se fait-il que nous retrouvions en ordonnée une échelle -2, 2 et en abscisse 0, 100 ? Je comprends que l'échelle des ordonnées correspond à nos valeurs générées avec randn mais pourquoi se place-t-elle toute seule sur cet axe? Et qu'en abscisse nous retrouvions les 100 éléments générés aléatoirement, cela signifie-t-il que dans le dictionnaire chaque élément présent dans chaque clé possède une attribution de position : 0 > chiffre 1 , 1 > chiffre 2 etc... ? Et qu'est ce qui explique que les ordonnées se sont placées automatiquement en ordonnée, et pas en abscisse ? J'espère que mes questions sont claires. Merci par avance
Bonjour Yannis ! Lorsqu'on passe un seul élément dans plt.plot ou scatter (comme une liste ou un tableau numpy) alors Matplotlib génère automatiquement l'axe des abscisses pour correspondre a ce tableau. En effet je n'ai pas vraiment expliqué cela, mais c'est parce qu'en pratique on écrit toujours un code explicite en précisant X et Y
Bonjour! J'ai une question sur le 2e graphique, je peux le réaliser sans mettre la ligne de code : from mpl_toolkits.mplot3d import Axes3D. Ce package importé n'est il utile que à jouer avec la rotation de l'image 3D. Dans tout les cas, (que j'importe Axes3D ou pas) je n'arrive pas à obtenir cette fonctionnalité (via l'interface spyder, ça fonctionne pour jupyter)
J'ai pas réussi à afficher les graphes ça le dit que plt n'a pas d'attribut scatter et qu'on ne peut pas appeler projection... Si quelqu'un a eu ce genre de problème dites moi comment vous avez corriger svp
Bonjour, Et si on veut afficher le jeu de données des iris en 2D avec indicateurs de classe, pour toutes les paires de mesures (longueur des sépales vs longueur des pétales, longueur vs largeur des sépales, etc.) et surtt mettre des xlabel et ylabel pour chaque subfig ?? Merci de me répondre.
@Machine Learnia J'ai pensé à utiliser juste subplot comme suit : fig, subfigs = pyplot.subplots(2, 3, tight_layout=True) pairs = [(i, j) for i in range(4) for j in range(i+1, 4)] for (f1, f2), subfig in zip(pairs, subfigs.reshape(-1)): plt.scatter(x[:,f1], x[:,f2], c = y) Mais je ne sais toujours pas comment ajouter des xlabel et ylabel pour chaque subfig! an idea!
@@ediangonebadji7964 Oui en effet, si on rend les points semi-transparents alors on peut voir quand il y a des points superposés les uns sur les autres vous avez raison !
j'ai plusieurs problèmes 1 la visualisation 3d ensuite le code de l'exercice 14/30 les graphismes ne s'affiche pas pouvez vous me donner des conseil sur ce que je dois faire pour que ces codes fonctionnent correctement d'avance merci 😁
Génial !
Perso, je trouve ce genre de format tout aussi sympa surtout qu'il apporte un meilleur référencement sur UA-cam (ce qui est doublement sympa).
Merci Pulsar :D c'est parfait si tu apprécies ce format, car je voudrais bien faire plus de vidéos dans ce genre la.
@@MachineLearnia Personnellement j'apprécie aussi les formats mixtes de type "vidéo et texte" associés dans la même page (un peu comme OpenClassRoom).
Cela permet de :
- Lire la vidéo et d'avoir par exemple le code source à disposition avec la fonction copier/coller.
- De pouvoir lire d'autres ressources grace aux liens cliquable.
- De lire le tuto quand on se trouve en public pour ne pas déranger.
- D'avoir une rélecture de ce que l'on vient de visionner.
- De faire une recherche par mot clé dans le texte (car dans une vidéo cela n'est pas possible).
- Et de pouvoir écrire un commentaire dans UA-cam... ;)
@@noel9335 Merci beaucoup, tu seras ravi de voir les vidéos suivantes de la série dans ce cas ! :)
Bonjour Guillaume, chaque soir depuis quelques jours je suis ta formation. C'est enfin ce que je cherchais à faire depuis quelques années. Ton enthousiaste et ta bonne humeur me donne énormément de courage pour m'auto-former dans ce domaine. Ca m'aide beaucoup dans mon perfectionnement. Un grand merci !
Bonjour Julien, ca me fait super plaisir de savoir que je te donne de l'energie, de la motivation et de la confiance en toi. Je suis sur que tu es vraiment doué et talentueux, car c'est la majorité des gens qui vont jusque la dans les videos, en tout cas a ce rythme ! Bravo ! :)
Vraiment ca fait longtemps que je cherche des formations sur le machine learning et c'est la meilleure que j'ai eu a suivre .
Merci ::)
Merci beaucoup Guillaume, j'ai mon stage en machine learning qui commence bientôt et j'apprend beaucoup avec tes vidéos super pédagogique
Merci beaucoup Guillaume. J'ai passe beaucoup de temps pour regarder des videos sur python, pandas et matplotlib. Tes videos sont vraiment les meilleures parmi ce que j'ai regarde. Bravo!
Merci beaucoup, c'est toujours tres encourageant de lire ce genre de message :)
Bon courage pour la suite ! :D
C'est de loin la meilleure formation sur le sujet que j'ai pu trouver après plusieurs mois de recherche. Bravo continuez j'apprends énormément formation d'un trop haut niveau pédagogique, Juste assez de math, juste assez de code les infos pertinentes au bon moment. Et je peux le dire parce que j'ai eu des stages et des cours en ligne et cela fait plaisir de découvrir une personne qui explique réellement bien. Je me suis abonné je suis preneur pour un livre quand il sortira ou pour des supports de cours.
Merci pour votre soutien Bruno, j'ai a cœur d'apporter une réelle qualité a mes vidéos donc un tel retour me fait toujours très plaisir ! :)
tant de pédagogie c'est vraiment indécent! chapeau l'artiste y'a rien a jeter!
Merci beaucoup, ca fait tres plaisir :)
Merci Guillaume, c'est très instructif et passionnant. Astuce pour créer un graphique 3d que l'on peut pivoter sous Jupyter: il faut taper %matplotlib notebook
Oui en effet ! :)
Bonjour, je me permets un question ..? Justement je ne réussis pas à obtenir un graphique 3D "pivotable" sous Jupyter, j'ai tout essayé : avec %matplotbib j'ai "Using matplotlib backend: Qt5Agg", avec %matplotbib inline ou widget ou notebook j'ai "Warning: Cannot change to a different GUI toolkit: notebook. Using qt instead." Je ne suis pas une pro, j'utilise Anaconda (windows10). Merci si jamais .....!!🤞🙏
merci infiniment Guillaume grâce a vous j'ai reprenez l'envi d'étudier....bonne continuation
Bravo, je suis fier de vous !
Vraiment tu es trop fort. Tu expliques trop bien. Chapeau. Longue vie à toi. Vrai pedagogue
Merci beaucoup, c'est un plaisir. Quel est ton graphique préféré ?
Merci encore une fois pour tes cours. Ils sont au top. (Seul celui du broadcasting m'a laissé un peu dans le gaz.)
La difficulté majeur que je rencontre avec python c'est la syntaxe des boucles For.
Habitué à Pure Basic, Php, j'ai vraiment du mal a assimiler ces juxtapositions de données et ces in range, zip etc..
C'est vraiment formidable ce que tu fais .
Juste an idea , pourquoi pas faire des video avec plein d exercices tous plus différent les un des autres et qui augmentent en difficulté
Merci beaucoup Cher Guillaume d'avoir pris le temps de faire cette vidéo pour nous aider à maîtrise les connaissances de python Mille merci cher Guillaume .
Merci Guillaume pour la présentation de ces graphiques. J'en aurai certainement besoin pour présenter mes résultats à mes collègues.
Bon courage pour tes oraux.
Merci professeur c vraima gentil tu nous a aider à mieux comprendre la programmation en python on vous suis depuis le Sénégal
Tout le plaisir est pour moi. Go le Sénégal ! Je vous adore ! :)
C'est formidable vous expliquez très bien
Le meilleur tuto matplotlib sur UA-cam à aujourd'hui
Merci beaucoup ! :)
Merci Guillaume, tes videos sont une vraie mine d'or. Il faut plusieurs relecture pour tout comprendre. Du beau boulot !!!
Merci beaucoup Tony, ça fait très plaisir !
Hello Guillaume,
Tout d'abord un grand merci pour le temps que tu consacres à ta chaine YT. Le contenu est très qualitatif, complet, bien expliqué, etc ...
Ayant quitter la France pour l'Australie avant le covid je suis au "chomage" et j'ai commencé à me former sur python il y a quelques mois et au vu de la situation j'ai encore du temps pour me consacrer à ta formation.
Je suis en train de réfléchir à un projet dans mon domaine d'expertise (finance de marché) qui pourrait m'aider à trouver du travail lorsque la situation économique sera meilleure. La finance a un gros avantage: les datasets sont nombreux,prolifiques et facile d'accès.
Encore merci pour ton travail. Au plaisir de te suivre et de te soutenir sur Tipee lorsque j'aurais du boulot.
Quentin
Bonjour Quentin et bravo pour ton courage dans cette situation difficile ! Si tu veux on peut se parler sur discord, j'ai peut-être des conseils qui pourraient être utiles pour retrouver du travail dans ton domaine.
Avec plaisir c’est très sympathique de ta part. Je rejoindrai ton discord (si tu en as en description) dans la nuit mais il faut que je réfléchisse à ce que je veux faire comment projet (j’hésite entre un projet d’optimisation de portefeuille dit « smart bêta » ou bien d’optimisation de couverture trading)
Bonne journée à toi en France
Merci pour votre générosité. J'écoute, je teste et je comprends (la plupart du temps) toutes vos vidéos.
Dans celle ci, je reste sur ma fin lorsque vous dites au temps 24:38 -> "x.T car on s'intéresse à la corrélation entre les colonnes".
Et là, grosse frustration car je déteste passer quelque chose que je n'ai pas compris.
Je sais que l'explication des matrices n'est pas la chose la plus cool, mais vous avez beaucoup de pédagogie et je pense ne pas être le seul à apprécier une explication sur ce sujet épineux. Même sans, vos vidéos sont du pain béni, Merci.
Bravo pour votre motivation ! Vous irez loin et je vous soutiendrai ! J'ai fait une vidéo sur les matrices au cas ou vous avez besoin d'un petit recap ! En fait il s'agit la de transposer la matrice X (c'est a dire la retourner pour que le colonnes deviennent des lignes et les lignes des colonnes. La raison a cela est que l'on cherche la corrélation qu'il existe entre nos différentes colonnes (les variables) et non les échantillons (les lignes).
Par exemple sur un dataset d'immobilier avec des variables telles que le prix, la surface, la qualité, etc et des échantillons étant les appartement eux-memes, on cherche la corrélation entre les variables (et non les échantillons) ainsi on dit que le prix est fortement corrélée a la surface. A l'inverse on ne dit pas l'appartement A est corrélé a l'appartement B (ca n'a pas de sens)
@@MachineLearnia Limpide ! Merci beaucoup :)
Waouh! les mots me manque, Merci Infiniment 🙏🙏🙏🙏
Vidéo vraiment génial, comme toute les autres. Pour le format je préfère les vidéos normales perso. Continue c'est vraiment top ce que tu nous apportes
Merci beaucoup ! Et désolé pour la réponse tardive ! :D
Guillaume je sais pas comment te remercier , j'ai passé tellement de temps à chercher un cour simple sur le machine learning , te voila surgir .
C'est une plaisir de savoir que je peux t'aider !
Super vidéo , clair avec pédagogie sur des sujet pointu de la machine learning , c'est top ,
Merci
Merci !
@machinelearnia vous êtes le meilleur !! 😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭
Merci beaucoup ca fait tres plaisir !
super c'est hyper intéressant Merci beaucoup sincère gratitude et mes vives félicitations. J'espère un bon courge pour les prochaines vidéo
merci :)
t'es le meilleur un grand merci
waouh là je sais plus quoi dire mais c'est le Best des tutoriels de machine learning en français merci beaucoup
mais on aimerais voir un projet complet
Merci beaucoup :) Je vais bientot faire des vidéos "projets"
Bonjour Guillaume,
Merci pour cette vidéo. Je cherche a reproduire le graph imshow qui s'affiche à 17:47. Aurais-tu quelques indications ?
Merci pour ton aide !
C'est un graphique Scatter par dessus un graphique Imshow. Pour la colormap tu peux choisir "spectral" et pour générer le imshow il te faut générer une grille XX YY avec meshgrid (comme vu dans la vidéo) et disposer d'une fonction f(XX, YY) = Z
Alors, j'ai à peu près réussi à faire tout ça mais je n'ai pas de fonction f(XX,YY)=Z. J'essaye d'interpoler des valeurs de Z mesurées, matérialisées sur la figure par le scatter plot. Pour interpoler, j'ai utilisé griddata mais je n'ai pas réussi à avoir un résultat "présentable". Il y a plein d'outils d'interpolation dans Scipy et je ne sais pas trop lequel choisir. Merci pour tes recommandations !
@@erwandeboisjolly2779 Une interpolation est possible, mais il vaudrait peut-etre mieux utiliser une estimation de densité ! Par exemple KernelDensity de Sklearn pourrait faire l'affaire !
Bonjour Guillaume ! Déjà un énorme merci a toi pour tout le temps que tu as dédié à cette série, et tout le temps que tu continue à dédier au commentaire ! C'est juste incroyable !
J'aurais en outre une question à propos de la correction de l'exercice 14/30, en effet j'ai écris un code diffèrent du tien mais qui fonctionne tout autant, et comme ce code m'a l'aire importante pour le futur, j'aurais aimé que tu me dises si le mien ce trouve êtres "correct" ou non;
def graphique(dataset):
for i in dataset:
y = dataset[i]
longeur = len(x)
x = np.array([i for i in range(longeur)])
plt.plot(x, y)
plt.title(i)
plt.show()
graphique(dataset)
Voila c'est tout pour moi ^^
Encore un énorme merci pour tout le savoir que tu nous apportes !!
Oui ca fonctionne, mais je recommande plutôt la version que j'ai proposé en solution, elle est plus compacte, et tout autant lisible. Ca sera mieux a l'avenir pour des projets plus conséquents ! Mais bien joué c'est super si tu as pu proposer une autre solution, qui marche ! :D
@@MachineLearnia d'accord merci beaucoup pour ta réponse, et pour le temps que tu m'as accordé !
super c'est hyper intéressant Merci beaucoup. Tu expliques trop bien. Chapeau.
Merci beaucoup :)
j'ai aimé le style de format : top 5
Bonjour, réponse à l'exercice;
def graphic (dataset,n):
dataset={f"experience{i}": np.random.randn(100) for i in range(n)}
for i in range(n):
plt.figure(figsize=(10,5))
plt.subplot(int(n/2),2,i+1)
plt.plot(dataset[f"experience{i}"])
plt.title(f"Experience {i+1}")
plt.show()
Merci pour cette excellente formation
Merci beaucoup pour toutes ces explications. Tes videos sont très utiles !
Merci beaucoup !
génial !!!!! j'espère vraiment que tu vas continuer tes vidéos
je suis actuellement en actuariat et la data science devient cruciale
Merci a toi, oui je vais continuer, aussi longtemps que je pourrais aider des gens ! :)
Trés pédagogue, vraiment chapeau !
Merci !
Super vidéo, j'adore le rythme et j'apprend toujours quelque chose, dans celle là c'est imshow que je ne connaissais pas. Bon courage pour la suite.
Merci, la nouvelle vidéo arrive bientôt ! :)
@@MachineLearnia Hello, j'ai testé le scatter avec l'option c= pour grouper par couleur comme tu l'as présenté mais je n'arrive pas à mettre la légende (juste une couleur affichée) .J'ai fait qqs recherches non concluantes sur le net. Pourrais-tu stp partager ta solution pour légender le scatter plot avec option c ?
@@matvay8281 Oui ce n'est pas marrant de faire ca avec matplotlib. Pour faire ceci on utilisera Seaborn, qui est beaucoup plus pratique, et bien plus facile / agréable d'utilisation. On le verra dans quelques vidéos !
En attendant, si tu tiens absolument a faire ca avec matplotlib, tu peux soit créer 3 fonctions scatter (une pour chaque valeur de y)
Ou alors tu peux écrire ce code la a la place de la légende: plt.colorbar(ticks=[0, 1, 2])
@@MachineLearnia merci pour la réponse. J'ai hâte de voir seaborn alors !
@@matvay8281 J'ai une bonne nouvelle: je réponds a ta question dans ma prochaine vidéo ! Elle devrait sortir aujourd'hui ou bien demain ! :)
Super vidéo!
10:47 : que devrons-nous faire si on veut que l'axe des ordonnées représente la proportion d'apparition, et non le nombre d'apparition pour chaque catégorie ? Faut-il utiliser le paramètre density=True ?
Tout a fait ! Density = True affiche la densité de probabilité ! :)
trés sympa, on vous remercie je n'avais rien compris dans mon cours calcul scientifique !
Je suis tres content d'avoir pu vous aider ! :)
Salut merci pour les vidéos j'apprécie beaucoup, personnellement à 22:25 je n'ai pas réussi à afficher les graphique qu'avec le plt.show() j'ai du appeler la fonction avec dataset, si jamais ca peut aider et aussi pour afficher les graphique dans spyder Préférence > Console IPython > Graphique > Sortie : Automatique .
Superbe vidéo, merci !
Vraiment au top tes vidéos ! Je suis en Master data science et on fait beaucoup, mais beaucoup trop de R au mépris de Python parfois ! Heureusement que tu donnes ce ptit coup de pouce en plus ;). Est-ce que tu classerais aussi les boxplot/violinplot comme de bons graphiques aussi ? Je trouve que ça donne un bon aperçu de la distib mais aussi d'indicateurs stat tels que les quartiles, moyenne...
Ah ca fait super plaisir de pouvoir aider :)
Oui ce sont d'excellents graphiques (je ne les ai pas présentés pour rester simple, mais je les recommande a 100%)
Merci pour tes super vidéos! Elles me sont très utiles.
Ça me fait très plaisir de savoir ça :)
Salut Guillaume, merci pour ces cours gratuits, c'est vraiment sympa et passionnant !
Une question, est-ce que tu aborderas la génération automatique de texte par le deep Learning (on a beaucoup parlé de GPT-2 ces dernier temps et aussi Thibault Neveu l'a abordé avec le générateur de poèmes de Victor Hugo) ?
D'avance merci pour ta réponse.
Bien cordialement.
Michel
Salut Michel. Merci beaucoup. Oui je vais faire beaucoup de vidéos sur le NLP, la génération de textes, le chatbot etc. :) Ca viendra dans quelques mois. Stay tuned :D
@@MachineLearnia Ok Guillaume, j'ai hâte ! Merci pour le boulot déjà fourni ! Cordialement. Michel
Intéressant ce classement, merci.
Pour le paramètre alpha, j'ai remarqué à 4:38 que certains points sont devenus plus transparents par rapport à d'autres, sans même avoir à multiplier la valeur de alpha par une variable. Y a-t-il svp une explication à cela?
Cela a mis en évidence la superposition de plusieurs points. Le dataset contient manifestement des couples de valeurs identiques sur ces 2 axes.
@@xavierlgls6322 Merci
Super vidéo, merci !
Merci Amandine :)
Merci beaucoup sincère gratitude
De rien ! :)
Cette formation est tout simplement excellente. Bravo.
Serait il possible de la compléter avec une vidéo expliquant comment enregistrer des animations en mp4 ou en gif.
Merci d'avance
Oui je comptais le faire et ca m'était sorti de l'esprit ! Merci je vais faire ça bientôt du coup :)
on se base tellement sur de vielles videos que plusieurs packages sont plus a jour😮💨 mais on a pas le choix , le prof est occuper avec surement le concurant de chatGpt 🤩
bonjour, j'ai beaucoup aimé le fait de classer par ordre d'importance les différents graphes.
Merci !
Guillaume avec cette vidéo je me suis cru encore en sup ou ont tombe encore plus amoureux des maths juste une bonne vidéo il manquait Je crois un peut de seaborn
Spoiler alerte: Seaborn arrive dans quelques jours ! :O :O :O
MERCI BEAUCOUP :D
un GRAND MERCI; mes respects ;)
Merci Beaucoup :)
Si vous pouvez parler dans une vidéo des prédictions des cours de la bourse ! surtout la partie du plot (actual data + predicted data) sur le même plot !! ça me gène vraiment :( Sinon un grand bravo comme toujours
j'ai montré comment faire ce genre de chose dans la video 18/30 (j'ai montré les bases pour commencer une telle analyse)
Tu es bon Guillaume
Tres bien votre travail .....
Merci beaucoup
salut Machine Learnia. Je n'ai pas bien compris a 3:24 comment on peut affecter à la variable c un nombre (0,1 ou 2). Comment il détecte la couleur ( bleu, jaune et violet) ?
Et merci pour ces vidéos super intéressante.
Salut Sami ! Matplotlib accorde des couleurs au hasard (en fonction de sa color palette) en associant une couleur par valeur qu'il recoit.
Merci beaucoup !! très intéressant !!
de rien :)
SUper vidéo chapeau Guillaume
Merci beaucoup ! :)
magnifique comme d'hab !!
Merci :)
Le prof absolu
Merci Guillaume pour ces cours, Good Job. Est ce que vous avez un support de cours des vidéos de python?
Oui, sur mon site Internet, et je suis en train de rajouter des détails dans un livre que je suis en train d'écrire.
bravo et merci
pouvez vous nous faire une vidéo sur traitement d'image et merci beaucoup pour ces efforts c vraiment génial
Bonjour, oui ca fera parti du programme
@@MachineLearnia bonjour, mercii
@@MachineLearnia meriiiiiiii c'est bientôt alors
16:45 Je ne comprend pas quel est le rapport avec le gradient? C'est f(X,Y) qu'on a sur le graphe non ? Peux tu m'éclairer stp? merci :)
Oui c'est un abus de langage, pardon, on voit en effet juste la fonction.
Bonjour, pour le corrigé final, plutôt qu' une boucle sur un zip, enumerate (data.keys ()) ?
Oui ça peut être une meilleure solution, bonne idée ! :)
def graph(dataset):
plt.figure(figsize=(10,10))
for k in range(0,dataset.shape[1]//2):
plt.subplot(1,1,1)
#plt.plot(dataset[:,k],label=f"{k}")
plt.scatter(dataset[:,k],dataset[:,k+1],c=y,alpha=0.5,s=100)
plt.xlabel("Length")
plt.ylabel("Width")
graph(x)
Bravo pour la vidéo merci.
Merci beaucoup
Je ne savais pas qu'on pouvait utiliser scatter plot dans ce cadre (catégorisation). Ca fait penser à la méthode .pairplot de la librairie seaborn. Tu en parles surement dans une prochaine vidéo ?
Sinon pour l'aplatissement des tableau numpy, je vois qu'il y a aussi la fonction .flatten(). Il y a une différence avec .ravel() ? Il y a aussi .flat() mais si j'ai bien compris c'est un itérateur (donc le tableau "aplati" n'est pas créé en mémoire ? c'est censé être plus rapide à l'exécution si on itère dessus?)
Oui je vais parler de seaborn.
Flatten() retourne une copie du tableau, alors que ravel applatit le tableau de facon définitive.
C super, merci
mes respects
merci beaucoup :)
Au top, merci pour tes cours ! Et je voulais savoir si c'était possible que tu fasses un exemple de problème de ML du début jusqu'à la fin (importation des données, EDA, nettoyage de la base….) sur une base de données, type Titanic ou autre. Ca serait vraiment génial car je trouve des vidéos qui font chaque étape séparément et pas forcément sur le même dataset ce qui est un peu dommage car je voudrais bien résoudre un problème de ML du début jusqu'à la fin.
Salut et merci :)
C'est prévu pour les épisode 28 (ou j'annoncerai quel projet nous allons faire et je vous donnerai une méthode a suivre). Puis dans l'épisode 29 je ferai un corrigé. Les épisodes vont bientots sortir car le rythme des videos est en train de s'accélérer ! Vous en saurez plus dans ~10 jours car je vais vous laisser choisir le dataset a étudier par vote dans les commentaires ! :D
@@MachineLearnia Génial! Et ça me donne un peu de temps pour finir celles qui ont déjà été mises en ligne 😁
hey salut ! je suis sur spider et je ne peux pas me déplacer dans mes graphique en 3d, j'ai raté un paramètre du logiciel ?
Salut, dans les preferences de spyder, il faut que tu actives l'option QTgraphics
Google it, tu trouveras la réponse rapidement :)
@@MachineLearnia qu'elle rapidité 😮. Merci bcp ! Moi qui me croyais bon en programmation, tes vidéos m'en apprenne bcp, merci énormément !
@@MachineLearnia Merci de ce commentaire vous m'avez aidé !
Merci beaucoup!
Super!
Concernant (5) Graphique de classification avec plt.scatter() 04:44
peut on rajouter une légende? Comment?
Pour ajouter une légende de cette maniere, il faut écrire une boucle for, ou bien utiliser seaborn (qui est bien plus simple, et je montre cette librairie un peu apres dans la série de vidéos)
@@MachineLearnia
Merci
Bonjour Guillaume, merci pour cette vidéo. en Spyder, j'arrive pas à déplacer les figures 3d comme vous l'avez fait.
Moi non plus, tu as trouvé une solution ?
Merciiiiiiiii infiniment
Superbe vidéo . A quand la prochaine je m'inquiète un peu ahah
Désolé la prochaine vidéo arrive bientôt, pas d’inquiétude ! :)
@@MachineLearnia On y croit !!! Allez hop un coup de pensée positive !!!!
@@michel_p5021 la prochaine vidéo est prête ! elle sort aujourd'hui a 16h00 ! :)
@@MachineLearnia Merci Guillaume, on attend avec impatience !
Coucou génial tes vidéos :) cependant au niveau des exercices j'ai souvent du mal à comprendre ce que tu veux. Tu devrais peut être afficher ce que tu veux obtenir (le graphique final dans ce cas précis)
D'accord je vais prendre ton commentaire en considération, merci beaucoup :)
@@MachineLearnia ah et petite question je ne parviens pas à récupérer tes codes sur gitub (à part ceux pour regression et scipy), c'est normal?
@Corentin , j’abonde dans ton sens, le plus souvent la difficulté réside dans la compréhension de l’énoncé du problème, merci pour ta suggestion!
Le graphique d'illustration à 9:56 est vraiment sympa (points hexagonaux, et histogrammes latéraux). ça a titillé ma curiosité, et j'ai réussi à trouver qu'il s'agit d'un plt.hexbin(x,y, gridsize=20, ....). Par contre, je n'ai pas compris (help(plt.hexbin)) à quoi sert le paramètre bins (qui ne fait rien sur mon graphique, à l'usage), et quand je met marginals=True, je n'obtiens pas les histogrammes.
Bins correspond au nombre d'intervalles binaires pour découper vos variables entres leur min et leur max. C'est en gros la résolution de l'histogramme. Euh je ne connais pas margnials, il faudrait que j'aille voir !
Bonjour et mille mercis pour ces videos! Apres 4 ans comme ingenieur electronique en Irlande (sur les processeurs d'Intel Movidius specialises en IA) je rentre a Toulouse pour trouver un boulot mais c'est complique par les temps qui courent alors j'en profite pour apprendre de nouvelles competences et ces videos rendent le processus tres agreable!
Petite question sur la correction de l'exercice:
Y a-t-il une raison de preferer zip plutot que enumerate dans ce cadre?
for i, key in enumerate(datasets, 0):
plt.subplot(len(datasets), 1, i+1)
...
Bonjour et bon courage dans ta recherche de travail, tu peux compter sur l'aide de notre communauté.
Pour ta question, oui tu peux utiliser un Enumerate, ca ne change rien, ton code est parfait !
Merci pour toutes ces videos. Ca m'a replongé dans les maths, et j'ai appris beaucoup de choses. Super !
Par contre pour la correction de l’exercice j'obtiens une erreur :
5 dataset
6 def graphique(data):
----> 7 n = len(data)
8 plt.figure(figsize=(12, 8))
9 for k, i in zip(data.keys(), range(1, n+1)):
TypeError: 'dict' object is not callable
Zut alors ! Si vous savez d'où cela peut venir. Merci
J'ai trouvé ;). Il fallait que je change le moteur python avec l'env:coda.
Cool !
Bon ben c'est partie pour la prochaine vidéo.....
Bravo pour avoir su trouver la solution !
Bonjour,
Pour les graphique de classification avec plt.scatter ( et pour les graphique 3D) qu'est ce qu'il faut mettre dans le paramétre label pour avoir la légende des couleurs utilisées?
(excellente vidéo, comme toujours)
Il faut faire une boucle for et afficher un graphique scatter différent pour chaque valeur de y (oui ca n'est pas pratique, mais c'est la meilleure chose a faire avec matplotlib). Merci :)
Très intéressant !
Merci Beaucoup :)
Salut Guillaume, j'ai une grande question sur les histogrammes : ils ne sont particulièrement utiles qu'en cas de variable continue, en rangeant plusieurs valeurs et leurs décomptes dans des classes, définies par le nombre de 'bins' entre la valeur max et la valeur min ?
Sinon, dans le cas de ton exemple de l'image avec bins=255 (d'ailleurs au passage, ne devrait-on pas plutôt mettre 256 ? => il y a 256 valeurs entre 0 et 255 ), quelle différence dans ce cas y-a-t-il avec un barplot qui affiche le nombre par catégorie, mais ici les valeurs de chaque niveau de gris peut être considéré comme une catégorie, c'est bien ça ?
Et pour toujours bien comprendre et faire le lien, un barplot va juste tracer ce qu'une fonction comme np.unique(unique_counts = True), que tu as présenté dans une autre vidéo, fournit comme résultats ?
Salut !
Oui les histogrammes sont utiles pour analyser les variables quantitatives, ou continues.
Pas de différences avec une barplot en fait, dans ce cas précis ! C'est ca !
Oui, les barplots sont a utiliser pour les varibles catégorielles.
@@MachineLearnia Super, Merci !
Bonjour Guillaume !
Je voulais d'abord vous remercier pour cette formation...Elle est vraiment intéressante.
Mais à propos de cette vidéo je me demandais comment vous aviez fait pour zoomer et dézoomer dans le graphe tracé avec le module mpl_toolkits.
Merci d'avance :)
Bonjour et merci :)
Pour zoomer dans un graphique, il faut créer le graphique avec QT5. Pour ca, si vous utiliser Jupyter, alors il suffit de commencer votre code en tapant la ligne suivante :
%matplotlib
Et pour revenir au graphiques normaux, il faudra taper : %matplotlib inline
Si vous utiliser Spyder, il faut changer les reglages de la console dans le menu préférences.
est ce que tu peut faire une petite vidéo sur cmap
Merci Guillaume,
je voulais savoir dans l'exercice, comment faire pour actualiser les plt. en utilisant PyCharm toutes les graphique ne s'affichent pas directement...
Bonjour ! Pour afficher les graphiques dans Pycharm, il faut finir le code avec plt.show() (ce qui affiche le graphique)
@@MachineLearnia oui, je parle par le fait que on a un boucle for, à chaque itération du for, le plt. doit être actualiser.
Dans d'autres cas, avant d'afficher une deuxième plt. Il faudrait fermer la premiere. C'est pendant on veut que le 4 soit sur une même plt.
Merci beaucoup Guillaume ! C'est clair, simple, efficace, pertinent. Peut être est-il judicieux de commencer par le numéro 1 du top 5 pour maximiser l'attention du spectateur ?
Merci beaucoup ! Oui c'était peut-être une meilleure idée en effet !
Bonjour Guillaume,
je suis vos cours avec plaisir (et pas trop de difficultés). Par contre j'ai un problème avec les graphe 3D : comment les faire apparaître dans une fenêtre externe dans spyder : j'ai essayé "%matplotlib auto" : plantage. J'ai essayé 'exec(%matplotlib auto)' : aucun plantage, mais pas de fenêtre permettant de choisir le meilleur axe de visualisation. Au final est-ce possible ...???
Votre méthode pédagogique est vraiment bluffante.
PBI
Bonjour Philippe et merci beaucoup ! :)
Pour faire apparaitre vos graphiques 3D dans une autre fenetres, il faut changer un réglage de spyder.
1) Cliquez sur Tools > Préférences
*Une nouvelles fenêtre s'ouvre*
2) cliquez sur IPython Console > Graphics.
3) Dans Graphics Backend, selectionner "Automatic" ( a la place de "Inline")
4) redémarrez spyder.
Dites moi si le problème est résolu, merci :)
@@MachineLearniaVotre solution fonctionne parfaitement (en fait j'avais juste oublié de relancer spyder...)
@@philippebillet4359 Parfait ! Bon code ;)
Bonjour, est-ce que vous savez s'il existe une fonction matplotlib (j'ai recherche sur google mais je n'ai pas trouvé ce que je voulais) pour changer la couleur du background du plot? Par exemple j'ai un dataframe avec une colonne contenant plusieurs phase d une experience et je souhaiterai avoir un background de differente couleur pour chaque phase.
Merci beaucoup pour vos videos très claires et interessantes!
Oui, il faut utiliser la facon objet de matplotlib, en définissant vos graphs comme des objects (par exemple en les appelant "ax") et en écrivant ax.face_color.
Voici un article qui vous explique comment faire : stackoverflow.com/questions/14088687/how-to-change-plot-background-color
Comme à chaque vidéo, c'est super. Merci :).
J'ai plusieurs question :
Est-ce que tu te sers d'outil de DataViz comme PowerBI par exemple (plus simple à appréhender pour un non développeur) ?
Sous Spyder, je n'ai pas compris comment on pouvait se déplacer dans un graphique en 3D.
Merci encore pour tes vidéos qui sont pour moi extrèmement pédagogiques et claires
Merci beaucoup Bastou ;)
Alors concernant tes questions:
1) Non je ne me sert pas de PowerBI. J'utilise Seaborn pour la DataViz (j'en parle dans le tutoriel 19/30) c'est également tres simple a utiliser !
2) Sous spyder, il faut que tu changes un réglage: cliques sur Tools > preferences > IPython console > Graphics > Graphics backend > Backend: Automatic
Ensuite tu dois redémarrer Spyder.
Dis-moi si tu réussis tout ca :)
Machine Learnia merci beaucoup, ça fonctionne effectivement 😀💪💪!
J attends la vidéo sur Seaborn alors 😉.
Bonjour Guillaume,
je n'ai pas compris à quoi correspondent le n, m et x dans :
1 ) plt.figure ( figsize = ( m, n ) )
2 ) plt.subplot ( m, n, x )
Bonjour,
dans figsize (m, n) : m c'est la largeur de la figure (en inch) et n la hauteur
dans subplot() : m c'est le nombre de lignes que tu veux avoir sur ta grille de graphiques, n le nombre de colonnes, et x le numéro du graphique sur lequel tu veux travailler sur ta grille.
@@MachineLearnia merci beaucoup,
have nice day ;)
bonjour Guillaume, merci pour tes vidéo et tes cours libre, petit question si j'ai bien compris pour l'histogramme.
Plus le nombre de section et grande(bins= ) plus le graphique est représentatif du résultat voulu? une autre question pour la partie histogramme moi j'ai du mettre les valeurs
print(plt.hist(x[:,0], bins=1900))
print(plt.hist(x[:,1], bins=20))
pour arriver aux même graphique que vous, sur la vidéo alors que vous s'est
bins=20 pour axe 0
bins=20 pour axe 1
ce qui donne pas du tout le même graphique
Ou j'ai fait une erreur dit moi ! Merci
Bonjour, et merci :) Oui c'est tout a fait correct.
Étrange que vous n'obteniez pas les memes résultats. avez-vous consulté mon code sur github ?
Une petite eurre me semble t'il à la 8mn10s sur la matrice meshgrid la dernière colonne devrait contenir 7 au lieu de 6.Merci
En effet, merci d'avoir remarqué cette petite erreur :)
Bonjour et merci pour ces excellentes leçons.
J'ai une question concernant l'exercice. Le code ne m'affiche pas le contenu des graphiques. les abcisses par defaut semblent beaucoup trop faibles. Nous avons pourtant les mêmes lignes de code.
Je vous invite a venir partager votre code sur notre discord.
Merci beaucoup pour tes vidéos si instructives ! J'ai une question (qui en comprend plusieurs) concernant la correction de l'exercice (de la vidéo 14/30). Lorsque l'on définit la boucle for pour itérer à travers notre dictionnaire, à aucun moment on définit notre x et y (comme on a pu le voir sur d'autres vidéos). Comment se fait-il que nous retrouvions en ordonnée une échelle -2, 2 et en abscisse 0, 100 ? Je comprends que l'échelle des ordonnées correspond à nos valeurs générées avec randn mais pourquoi se place-t-elle toute seule sur cet axe? Et qu'en abscisse nous retrouvions les 100 éléments générés aléatoirement, cela signifie-t-il que dans le dictionnaire chaque élément présent dans chaque clé possède une attribution de position : 0 > chiffre 1 , 1 > chiffre 2 etc... ? Et qu'est ce qui explique que les ordonnées se sont placées automatiquement en ordonnée, et pas en abscisse ? J'espère que mes questions sont claires. Merci par avance
Bonjour Yannis ! Lorsqu'on passe un seul élément dans plt.plot ou scatter (comme une liste ou un tableau numpy) alors Matplotlib génère automatiquement l'axe des abscisses pour correspondre a ce tableau. En effet je n'ai pas vraiment expliqué cela, mais c'est parce qu'en pratique on écrit toujours un code explicite en précisant X et Y
@@MachineLearnia Super, merci beaucoup !
Bonjour!
J'ai une question sur le 2e graphique, je peux le réaliser sans mettre la ligne de code : from mpl_toolkits.mplot3d import Axes3D.
Ce package importé n'est il utile que à jouer avec la rotation de l'image 3D. Dans tout les cas, (que j'importe Axes3D ou pas) je n'arrive pas à obtenir cette fonctionnalité (via l'interface spyder, ça fonctionne pour jupyter)
J'ai pas réussi à afficher les graphes ça le dit que plt n'a pas d'attribut scatter et qu'on ne peut pas appeler projection... Si quelqu'un a eu ce genre de problème dites moi comment vous avez corriger svp
Bonjour,
Et si on veut afficher le jeu de données des iris en 2D avec indicateurs de classe, pour toutes les paires de mesures (longueur des sépales vs longueur des pétales, longueur vs largeur des sépales, etc.) et surtt mettre des xlabel et ylabel pour chaque subfig ??
Merci de me répondre.
Alors le plus simple est d'utiliser Seaborn (une librairie construire par dessus Matlotlib) j'en ai fait un tutoriel vidéo 19/30 :)
@Machine Learnia J'ai pensé à utiliser juste subplot comme suit :
fig, subfigs = pyplot.subplots(2, 3, tight_layout=True)
pairs = [(i, j) for i in range(4) for j in range(i+1, 4)]
for (f1, f2), subfig in zip(pairs, subfigs.reshape(-1)):
plt.scatter(x[:,f1], x[:,f2], c = y)
Mais je ne sais toujours pas comment ajouter des xlabel et ylabel pour chaque subfig! an idea!
Merci
Le paramétre alpha (scatter) est il un indicateur de la pondération des individus ou de leurs densité?
Alpha permet de determiner le niveau de transparence de votre dessin, c'est juste un élément esthétique
@@MachineLearnia Ah ok, je me disais si un point est assez foncé c'est qu'il y a probablement plusieurs individus superposés.Merci
@@ediangonebadji7964 Oui en effet, si on rend les points semi-transparents alors on peut voir quand il y a des points superposés les uns sur les autres vous avez raison !
@@MachineLearnia Ah d'accord.Merci encore
j'ai plusieurs problèmes 1 la visualisation 3d ensuite le code de l'exercice 14/30 les graphismes ne s'affiche pas pouvez vous me donner des conseil sur ce que je dois faire pour que ces codes fonctionnent correctement d'avance merci
😁