Part 4 Base de Machine Learning Use Cases — Transcript

Cours sur les bases du machine learning avec exemples pratiques sur Iris et un dataset génétique de cancer du cerveau.

Key Takeaways

  • Les bases du machine learning incluent apprentissage supervisé, non supervisé et reinforcement learning.
  • Le dataset Iris est un outil pédagogique classique pour tester et comparer des algorithmes de classification.
  • L'exploration et la préparation des données sont essentielles avant la modélisation.
  • Différents algorithmes de classification ont des usages spécifiques selon la complexité du problème.
  • L'utilisation d'environnements comme VS Code ou Google Colab facilite la mise en œuvre pratique.

Summary

  • Reprise du cours sur les fondamentaux de l'intelligence artificielle et du machine learning, 4e séance.
  • Rappel des notions abordées : apprentissage supervisé (régression, classification), apprentissage non supervisé (clustering, PCA).
  • Présentation d'exemples concrets pour illustrer les concepts, notamment des algorithmes de classification avancés comme SVM, arbres de décision, random forest, KNN.
  • Premier cas d'étude : le dataset Iris, un classique en machine learning pour la classification de trois espèces de fleurs selon quatre caractéristiques.
  • Explication détaillée des caractéristiques du dataset Iris et de la préparation des données pour l'entraînement des modèles.
  • Introduction à l'utilisation d'outils comme VS Code ou Google Colab pour implémenter les modèles.
  • Deuxième cas d'étude : un dataset Kaggle sur l'expression génétique liée aux cancers du cerveau, exploration et modélisation.
  • Démonstration de l'importation, exploration et manipulation des données dans un environnement de développement.
  • Discussion sur les métriques d'évaluation des modèles, la précision, et les problématiques comme l'overfitting.
  • Présentation des réseaux de neurones et de la descente de gradient comme méthodes d'optimisation dans le machine learning.

Full Transcript — Download SRT & Markdown

00:06
Speaker A
Bien. Alors donc voilà. Alors on va reprendre le cours concernant les bases de l'intelligence artificielle. Donc je rappelle qu'en fait c'est notre 4e séance. Donc pendant la première séance, j'avais l'occasion de présenter les concepts de base de
00:27
Speaker A
l'intelligence artificielle. C'est quoi le machine learning ? Les modèles pilotés par les données. J'ai présenté les modèles pilotés par l'apprentissage piloté par l'expérience, c'est-à-dire le reinforcement learning.
00:40
Speaker A
Ce sont les concepts de base. J'avais également parlé un petit peu de deep learning. J'avais aussi parlé un peu de l'IA générative. Et pour arriver aux large language models, donc c'est-à-dire on a présenté cette
00:55
Speaker A
cette sphère-là pour arriver là. Et donc après, donc nous avons traité le détail concernant d'abord l'apprentissage supervisé dans lequel nous avons vu principalement la régression, la régression linéaire. Et puis donc nous avons fait un cours sur
01:14
Speaker A
la classification. Donc ça, c'est dans la classification, j'avais l'occasion de traiter les concepts de base de manière générale, et nous avons vu comment implémenter un modèle de classification basé sur la régression logistique. Donc ça, c'est l'un des modèles qui sont
01:32
Speaker A
utilisés, qui sont parfois faciles à mettre en œuvre, mais surtout qui parfois donnent des résultats qui sont intéressants pour des cas notamment généralement pas complexes. Et puis donc la dernière séance, la troisième séance, nous
01:50
Speaker A
l'avons consacrée à la partie apprentissage non supervisé, c'est-à-dire le clustering, et principalement nous avons vu l'un des algorithmes les plus populaires, K-means. Nous avons vu comment l'implémenter, comment le mettre en œuvre et aussi à la
02:06
Speaker A
fin nous avons vu la problématique, la réduction de dimensionnalité des données, notamment avec l'analyse en composantes principales, PCA. Donc comment l'implémenter ? Donc ce qui fait que pendant les trois séances, je pense que c'est le
02:25
Speaker A
bon, quelqu'un qui veut faire, on va dire, qui veut maîtriser en quelque sorte les concepts de base de l'intelligence artificielle, c'est vraiment les fondements de base de l'intelligence artificielle. C'est ça.
02:38
Speaker A
Alors, juste avant d'accélérer parce qu'en fait, j'ai constaté quand même qu'il y a pas mal de concepts dont on avait parlé, il y a pas mal d'implémentations. Donc je vous avais promis, donc
02:53
Speaker A
donc je vous ai promis qu'on va s'arrêter aujourd'hui sur des études de cas, des exemples d'application et à travers lesquels j'essaierai de faire une révision en quelque sorte de tout ce qui a été fait jusqu'à présent, et donc ça
03:10
Speaker A
serait l'occasion aussi de revenir sur le fonctionnement d'autres algorithmes de classification dont j'avais parlé mais que je n'ai pas eu l'occasion la dernière fois de détailler, comme SVM, comme les arbres de décision, random forest, KNN, etc. Donc ce sont des
03:29
Speaker A
modèles, surtout multilayer perceptron. Donc ça, ce sont des modèles qui sont très, très utiles à connaître. Alors pour cela, donc ce que j'ai pensé à faire, c'est que j'essaierai de travailler sur deux exemples d'application. Donc dans un
03:46
Speaker A
premier temps, je vais, on va travailler sur un exemple très classique dans le machine learning. Bon, généralement tous les gens qui font du machine learning passent par l'étude de ce dataset qui s'appelle Iris dataset. Bon, c'est un dataset
04:00
Speaker A
dans lequel, donc dans le domaine, on va dire, dans le domaine des fleurs, c'est dans le domaine de la botanique. Et en fait, l'idée principale, c'est qu'il y a un dataset dans lequel on
04:16
Speaker A
va présenter trois types de, de quatre types de fleurs, qui sont connus, trois types plutôt. Donc il y a ce qu'on appelle virginica, vergicolor et setosa. Donc ça, ce sont trois types de fleurs. Mais on essaie de
04:34
Speaker A
caractériser ces fleurs en utilisant quatre caractéristiques principales. Donc les caractéristiques principales, c'est tout simplement les dimensions de ce qu'on appelle le pétale. Alors le pétale, c'est cette fleur-là que vous voyez là.
04:48
Speaker A
Donc on va essayer de voir la largeur et la longueur du pétale. Donc c'est, c'est la fleur qui a une petite dimension, c'est-à-dire le, et puis donc la partie de la
05:02
Speaker A
fleur, c'est le sépal. Le sépal. La même chose, on va prendre la largeur et la longueur. Donc ça, ce sont les quatre caractéristiques, c'est-à-dire nous avons un dataset dans lequel vous avez quatre features. C'est
05:17
Speaker A
la longueur du pétale, la largeur du pétale, la longueur du sépal et la largeur plutôt, voilà, la largeur, la longueur du sépal et la largeur du sépal. Et à partir de ces
05:33
Speaker A
caractéristiques, on va essayer de faire la prédiction. Est-ce qu'il s'agit de virginica ? Est-ce qu'il s'agit de vergicolor ou setosa ? Donc ça, c'est vraiment un dataset qui est très simple. Ça fait partie de la littérature. Généralement, si vous
05:46
Speaker A
voulez, par exemple, vous avez inventé un algorithme de machine learning, la première des choses que vous allez faire, vous allez le tester sur des datasets qui sont déjà connus, pour lesquels on connaît presque les performances des autres algorithmes. Et
06:00
Speaker A
donc, on va essayer d'abord de travailler sur ce cas-là. Et dans le deuxième exemple, j'ai cherché en fait à explorer au niveau de Kaggle. Donc je rappelle Kaggle, en fait, c'est un site que tout le monde devrait
06:16
Speaker A
connaître dans lequel vous pouvez chercher, vraiment, c'est là où vous allez trouver tous les datasets publiés. Et donc j'ai cherché dans le domaine, parce que je sais qu'il y a des biologistes avec vous. Donc j'ai cherché un dataset dans le domaine de la
06:30
Speaker A
biologie. Donc j'ai trouvé un dataset. On va essayer de l'explorer ensemble et de voir comment le mettre en œuvre.
06:36
Speaker A
Bon, c'est un dataset qui s'intéresse en fait à caractériser les expressions des gènes, l'expression génétique, si vous voulez, des cancers du cerveau. Donc ça, c'est un cas, on va essayer de voir le dataset. Bon, c'est un dataset que
06:53
Speaker A
j'ai téléchargé et on va essayer de le voir, on va l'explorer et on va essayer de créer des modèles et voir ce qu'on peut tirer comme profit. Bon bref, donc pour ne pas trop tarder, donc je vais d'abord commencer
07:05
Speaker A
par le premier cas. Alors le premier cas, c'est le, c'est le voilà, c'est Iris. Donc vous voyez, c'est un dataset qui est très, si vous cherchez, vous allez le trouver rapidement. Donc ici, je vais
07:19
Speaker A
vous le partager au niveau de Classroom. Vous voyez, ce dataset, c'est un dataset Iris.csv.
07:29
Speaker A
C'est un fichier .csv dans lequel vous avez la colonne ID. Bon, c'est un identifiant, mais après il faut voir que cette colonne-là ne sert à rien parce que généralement les colonnes qui vont identifier les lignes, c'est généralement
07:40
Speaker A
des colonnes qui doivent être supprimées au moment de la prédiction, de l'entraînement du modèle. Ici, donc je vois, c'est pas la longueur en centimètres, c'est le pétale en cm, le pétale en cm, et après le pétale en cm, et après l'espèce. Donc vous voyez, les espèces, tout simplement, c'est
07:55
Speaker A
soit setosa, ou bien vous voyez, donc ici le vergicolor et virginica. Voilà. Donc ça, ce sont les trois
08:11
Speaker A
types. Alors ça, c'est le dataset qu'on va ici utiliser. Alors pour cela, j'essaierai de, voilà, on va essayer de créer un projet, un nouveau projet.
08:26
Speaker A
Donc si, comme je disais, si vous travaillez avec un outil comme VS Code, Visual Studio Code, c'est important, c'est important donc de, voilà. Donc je vais ouvrir un dossier. Donc ce que je vais faire, c'est que dans mon
08:41
Speaker A
dossier, par exemple IA, je vais créer un dossier que je vais a
09:03
Speaker A
ouvrir h le dossier open un dossier. Alors enregistrer tout en fait. Voilà, ça c'est F. Alors, je fais confiance. Donc c'est-à-dire tout simplement je pars sur un IDE, j'ouvre un dossier euh que j'ai ici pour le moment, j'ai
09:24
Speaker A
rien. Euh mais si vous travaillez avec collab, donc il y en a ceux qui vont pas se casser la tête à installer les outils, c'est pas c'est pas important pour le moment. Si vraiment vous allez vers Google Collab et
09:38
Speaker A
directement vous commencez à faire le l'activité pratique. Alors moi ici donc euh une fois que je crée ce dossier là euh je vais essayer donc de créer un un fichier. Donc le fichier je vais l'appeler par exemple Iris euh
09:54
Speaker A
euh ML. Alors l'extension, je rappelle que les notebooks, l'extension c'est ça. IP NB notebook. Donc ça c'est l'extension, c'est les fichiers que vous avez l'habitude de de trouver sur Google Collab. Et donc ici pour le moment euh il faut d'abord préciser
10:13
Speaker A
l'environnement, le noyau. C'est-à-dire ici donc je suis dans un IDE, mais il faut indiquer quelle quelle version de Python que je vais utiliser euh quels sont le quel est l'environnement que je vais utiliser. C'est pour cela le plus
10:24
Speaker A
simple. Ici, il y a un bouton euh par exemple sélectionner le noyau. Alors, je vais lui demander de créer un environnement.
10:32
Speaker A
Alors, je vais utiliser ça suppose que vous avez déjà dans votre machine en fait Python qui est installé et donc vous voyez donc j'ai différentes versions que j'ai installé. Donc je vais prendre la version 3.13 et plutôt je vais lui demander de
10:47
Speaker A
de créer un environnement Python. Et c'est environnement Python Python que je vais créer. Je vais prendre la version 3.13 et c'est tout. Alors ici donc le le ça veut dire quoi ? créer un environnement de Python. Pourquoi on va
11:04
Speaker A
créer un environnement ? Parce que supposons vous avez installé vous avez installé Python version 13 dans votre machine et que à un moment donné, vous allez commencer à installer des librairies. OK ? Vous installez des librairies avec différentes versions. Le
11:18
Speaker A
problème c'est que si vous ne créez pas un environnement séparé, c'est que vous allez toujours utiliser le même environnement Python dans lequel vous allez commencer à avoir beaucoup de librairies avec différentes versions et parfois vous allez rentrer dans des
11:32
Speaker A
conflits entre les les versions. Ce n'est pas pratique. Donc ce qu'on va faire généralement c'est que pour chaque projet, on va créer un environnement. C'est comme si vous avez une version de de Python pour cet environnement. Ça veut
11:44
Speaker A
dire que toutes les librairies que vous allez installer, il va les placer dans ce dossier là que vous voyez ici dot virtual environment.
11:51
Speaker A
Donc comme je disais le dans les bonnes pratiques, c'est vrai que si vous travaillez avec Google Collab, ce problème vous l'avez pas parce que vous êtes dans un environnement qui est déjà qui est déjà fait travaillez pas de
12:02
Speaker A
problème. Mais ici donc si vous travaillez avec un IDE comme VS Code par exemple, essay toujours de de travailler comme ça. Vous ouvrez un dossier, vous créez un environnement, vous spécifiez la version et comme ça toutes les librairies que vous allez installer, ils
12:15
Speaker A
vont se trouver dans votre environnement. Ici comme ça vous n'allez pas toucher le l'environnement principal. pitant sur lequel vous travaillez et ça va vous éviter de d'avoir des petits problèmes de de version. Bref, alors l'essentiel c'est que j'ai j'ai le fichier là et après
12:32
Speaker A
donc je vais créer donc des des cellules. Donc ici donc ça c'est pour écrire du code. Et dans notre cas ici la première des choses, il me faut le le dataset.
12:42
Speaker A
Alors justement pour le dataset, je vais le chercher euh donc je vais le chercher donc dans l'autre projet, le projet classification. Alors ici donc j'ai ce fichier là dataset CSV iris.csv celui-là copier. Je vais le copier et je vais revenir sur ce ce
13:06
Speaker A
dossier-là ce projet et je peux le copier directement ici. Bon, en tout cas, donc j'ai mon dataset et puis donc je reviens euh voilà, donc je reviens à mon fichier.
13:26
Speaker A
Alors donc je rappelle que pour en fait travailler votre projet de machine learning, nous aurons besoin d'un certain nombre de librairies principalement les trois premières que vous allez devoir toujours installer. Il y a Pondas, il y a Cborn et euh Cycit
13:42
Speaker A
Learn. Donc ici, c'est parce que j'ai créé un nouvel environnement, je dois les installer. Alors ici, donc avec Python, donc plutôt avec VS Code, je vais utiliser directement nouveau terminal ici. Et après, je peux écrire tout simplement la commande pip
14:00
Speaker A
install. Alors, je vais installer Pondas, je vais installer Cborn. C'est bon. Alors ce que je en train de faire parce que le pip install il va se connecter internet, il va télécharger cette librairie, il va il va l'installer. Alors et après je vais
14:27
Speaker A
faire la même chose. Installe euh cycit learn. Ça s'écrit comme ça. Cychit learn. Donc ça c'est les trois librairies principales dont on aura besoin. Alors bien sûr si vous travaillez sur Google Collab, comment vous installez les librairies ? Au lieu de taper ça comme
14:44
Speaker A
ça, vous pouvez directement taper ici donc sur le code, vous tapez la commande point d'exclamation pip install par exemple pandas pandas.
14:55
Speaker A
Voilà. Alors ici, si vous exécutez cette cellule là, c'est la même chose ici hein. C'est-à-dire si vous travaillez, voyez donc c'est pareil si vous travaillez sur Google Collab, c'est comme ça que vous allez installer les les livraires parce que vous n'avez pas
15:10
Speaker A
accès à la console d'installation. C'est pour cela que en fait ça c'est une façon de faire. En tout cas, ici donc je vois que le les librairies sont installées. Donc je vais commencer à importer donc pondas pondas. Donc ici
15:28
Speaker A
donc la livrée je vais l'importer. Alors je rappelle que pour exécuter ça va mieux comme ça. Bon c'est mieux. Alors pour exécuter vous faites ça ou bien tout simplement shift entrée. Shift entrée. Donc ça permet de d'exécuter la
15:44
Speaker A
cellule sur laquelle ? dans laquelle je suis. Et puis la première des choses que je vais faire, alors la première des choses que je vais faire, c'est que je vais lire d'abord le dataset. Donc la première des choses et pour lire ce dataset, donc je
15:57
Speaker A
vais utiliser DF dataframe égal p.re readcsv et notre fichier CSV s'appelle tout simplementis.csv. Oui.
16:10
Speaker A
Alors sur Classroom, je vais créer un un nouveau Alors, ça c'est ça. Donc base de l'intelligence étude de cas étude de cas de machine learning.
16:49
Speaker A
Alors, je vais vous laisser dans la partie ici le class plutôt supervised lorin classification. Alors, il y a il y a a quoi ?
17:03
Speaker A
CSV et après je vais vous laisser le le le notebook pour les gens qui veulent pas taper des codes. Faites copiercoll classification.
17:16
Speaker A
Ça c'est ce qu'on va essayer de faire. Bon en tout cas je vous laisse ça pour les gens qui veulent suivre mais comme je disais l'objectif c'est vraiment pas de de pratiquer. L'objectif c'est de de réviser de comprendre le principe de
17:27
Speaker A
base. Mais bien sûr chez vous avez les vidéos, vous pouvez reprendre cette logique là. Donc voilà c'est fait. Donc j'exécute donc j'ai le dataset qui qui est affiché. Donc la première des choses qu' qu'on fait généralement, c'est regarder le dataset.
17:44
Speaker A
Alors notre dataset, vous voyez donc les différentes colonnes que nous avons ici. Et puis euh donc dans un data frame, en fait le quand vous utilisez Pandas R CSV, c'est quand on va lire les données se font de ce qu'on appelle des data
17:58
Speaker A
frames. Un data frame c'est tout simplement c'est c'est un tableau dans lequel vous avez un ensemble de colonnes. C'est ce qu'on appelle des séries. Chaque chaque colonne normalement c'est ce qu'on appelle une série. Et bien sûr vous avez un ensemble
18:09
Speaker A
de lignes. Et donc si vous voulez afficher que les par exemple les premiers éléments, par exemple si vous mettez head five, c'est-à-dire vous allez afficher tout simplement les cinq premiers les cinq premières lignes. OK ? Alors si vous
18:27
Speaker A
voulez euh euh sélectionner des échantillons aléatoires, vous utilisez simple par exemple 10. Alors ici donc vous allez aléatoirement c'est des échantillons et donc vous voyez ici ça c'est la numéro 48 et cetera et cetera.
18:42
Speaker A
Voilà. Donc ça me donne une idée à peu près. Et puis ce que je vais faire euh je vais d'abord regarder le c'est-à-dire le la description ou bien il y a une opération qui s'appelle info qui vous donne une
19:00
Speaker A
opération qui vous donne des informations sur quelles sont les différentes colonnes. Donc c'est important de voir déjà j'ai une colonne ID, c'est un entiller, j'ai c'est pas c'est pas lente en centimèt et j'ai les autres caractéristiques, j'ai l'espèce.
19:15
Speaker A
Alors, sauf que ici l'espèce ici c'est un il est de type object et quand vous voyez de type object, ça veut dire c'est des string. Ça veut dire quoi ?
19:24
Speaker A
Généralement, comme vous voyez des variables de type float par exemple comme ça, float ça veut dire c'est un nombreel. OK ? ou bien des int.
19:33
Speaker A
Généralement, c'est des des c'est des c'est des en fait c'est des variables euh c'est des variables on va dire quantitatives. OK ?
19:42
Speaker A
Alors si vous voyez des variables de type object, c'est c'est-à-dire c'est des chaînes de caractères et dans la majorité des cas c'est des variables qualitatives. C'est-à-dire qu'il peut avoir soit cette valeur, soit cette valeur, soit cette valeur. D'ailleurs,
19:52
Speaker A
c'est notre cas ici, si on regarde par exemple la colonne spécies, vous voyez donc il peut être soit cytosa vergicolore, soit l'autre.
20:02
Speaker A
Alors donc ici donc j'ai les les les caractéristiques et puis donc vous aurez besoin euh d'un certain nombre de de trait de pré-traitement euh comme par exemple je rappelle des scripes.
20:13
Speaker A
Qu'est-ce qu'il permet de faire ? Il vous permet de donner les statistiques et ça c'est important. C'est-à-dire pour chaque colonne, vous allez voir le count. Je vois déjà count, je vois 150.
20:24
Speaker A
Pour chaque colonne, il y a 150 valeurs. C'est déjà le fait d'avoir 150, ça veut dire quoi ? Ça veut dire que euh ça veut dire qu'il n'y a pas de il n'y a pas de valeur mon compte. OK ? Parce que par
20:37
Speaker A
exemple si par exemple ici vous avez 150 valeurs et là vous avez 149, que signifie ça ? Ça signifie pour cette colonne, il y a une valeur qui est manquante, qui manque. D'accord ? Et mais ce qui est bien c'est que avant de
20:50
Speaker A
faire ça, c'est de regarder d'abord le chip DF point chip. Alors chip, qu'est-ce qu'il vous donne ? Il vous donne une information sur vos dataset.
20:59
Speaker A
Le nombre de colons c'est combien ? C'est 6 et le nombre de lignes c'est 150. Alors ici donc je vois je vois ici donc le standard déviation le minimum le maximum. Si vous voulez représenter ça en transposé vous vous mettez
21:15
Speaker A
TPOSe. Donc ici voilà la colonne et count min euh le minimum le prer quartil le le quartil le 3è quartil et le maximum. Donc ça c'est souvent ces statistiques là pour chaque pour chaque caractéristique, il faut jeter un codé
21:31
Speaker A
sur le minimum. Vous voyez donc par exemple ici pour ces pas lentes, la valeur minimale c'est 4,3 et la valeur maximale c'est 7,9. Alors ici on n' pas de problème parce qu'on voit déjà que toutes les toutes les les mesures sont exprimées en
21:46
Speaker A
centimètres, n'est-ce pas ? Parce que toutes ces valeurs là, c'est en en centimèt parce que c'est précisé déjà ici, n'est-ce pas ? Mais supposons que il y a des valeurs qui sont exprimées en centimètres, il y a d'autres en mètre et
21:59
Speaker A
cetera. Donc ça veut dire que Exactement, ça veut dire que à un moment donné, il faut il faut faire la standardisation. D'accord ? Et je vais tout à l'heure revenir sur ce problème de standardisation.
22:10
Speaker A
Donc du moment que toutes les valeurs sont en c'est-à-dire ils sont mises à l'échelle. C'est-à-dire, bon, on a à peu près on peut les garder comme ça. Alors, ce qu'on va faire, c'est qu'on va regarder d'abord, on va
22:22
Speaker A
regarder d'abord le nombre de le nombre de c'est-à-dire de d'espèces. Alors, pour cela, on va utiliser DF entre crochet. La colonne s'appelle Spaces et on va utiliser value count.
22:37
Speaker A
Alors valc vous rappelle c'est très utile. Il vous dit que pour cette cette variable euh cette variable qualitative c'est une variable qualitative. Vous avez trois types de valeurs. Vous avez ca, il y a combien de valeurs ? 50. Pour
22:55
Speaker A
vergicolor, vous avez 50. Et pour aris virginia, vous avez 50. Bon, déjà on peut écrire ici un petit commentaire.
23:04
Speaker A
Vous voyez donc mark down ici. Donc vous écrivez par exemple, on peut dire que le le le dataset est équilibré. Alors il est équilibré. Ça veut dire tout simplement le le nombre de chaque classe c'est la même chose. Nous avons
23:23
Speaker A
un dataset qui est équilibré parfaitement ce genre de situation. Euh et puis alors le fait de savoir est-ce que le dataset, le nombre de classes sont équilibrées euh ça va jouer sur quelle mesure de performance qu'on va utiliser.
23:37
Speaker A
Est-ce qu'on va utiliser Ecuracy ou bien recall ou bien et cetera ? Donc j'en avais parlé. Euh donc tout ça, on va y revenir tout à l'heure. Oui. Tout à l'heure il y avait il y avait 150 valeurs pour chaque Non, c'est le total.
23:52
Speaker A
Là, j'ai pas trop 150 valeurs dans le total, mais 150 valeurs, il y a 50 cosa, il y a 50 euh Vergicolor et 50 Virginia. Ça veut dire au total 650.
24:08
Speaker A
Oui, ça c'est le type des plantes. C'est les types des plantes. C'est-à-dire ici, donc j'arrive à à la colonne et je peux voir généralement le votre output. Si vous faites la classification, vous avez besoin de savoir il y a combien de
24:20
Speaker A
classes. Si vous voulez savoir il y a combien de classes dans votre dataset, vous faites ça. Vous faites tout simplement value count, c'est-à-dire vous allez vers la colonne output et vous allez dire value count. Et ça va vous donner pour chaque valeur, il y a
24:33
Speaker A
combien d'instances qui se répètent. Et ça c'est très utile. Alors maintenant, ça c'est la première. Si vous voulez représenter ça se forme d'un graphique, vous pouvez importer cboard SNS. Alors ici donc il me dit que c'est B c'est pas installé et pourtant je l'ai
24:57
Speaker A
installé. Allez-y. Donc je fais ça, je fais install. Ça c'est quelque chose, c'est comme ça que vous allez travailler. Si vous travaillez sur Google collab. Voilà.
25:26
Speaker A
Alors donc il y a Sibon et après donc Sibon c'est quoi ? C'est pour faire du data visualization. C'est-à-dire SBON c'est l'une des librairies que vous pouvez utiliser avec euh vous savez dans Python, il y a une librairie qui qui fait partie de Python
25:41
Speaker A
qui s'appelle Mat Plot Lib euh P plot as PLT. Donc vous avez deux façons pour dessiner les graphiques les donc soit vous utilisez PLT, c'est-à-dire mat plot lip qui fait partie de de Python dans de base ou bien vous utilisez une
26:00
Speaker A
librairie qui est encore plus développée qui qui va vous faire beaucoup de graphiques qui sont beaucoup plus intéressants. C'est ce qu'on appelle cborn. Donc ça c'est les deux librairies principales qu'on va utiliser pour data visualization.
26:13
Speaker A
Et voilà. Donc ici donc je vais utiliser par exemple Cborn SNS et je peux utiliser par exemple bar plot. Alors barre plot je vais plotter quoi ? Je vais plotter ces valeurs que j'ai ici. Ça c'est-à-dire je vais
26:29
Speaker A
prendre ça contrôle C contrôle V. C'estàd je vais plotter ici le value count de chaque espèce.
26:40
Speaker A
Alors si vous faites ça, ça va vous ça va vous donner juste bah ça vous donne ça tout simplement.
26:49
Speaker A
Alors c'est-à-dire pour vous avez vous en avez 50. Cette espèce vous avez 50. Ça vous donne juste une idée sur les différentes classes. Si vous voulez afficher la valeur, vous aurez besoin de mettre ici barre et là vous mettez barre point j'ai
27:06
Speaker A
quelque chose barre point label label bar label barcontainer containers de 0 et euh Font size 16 font size juste la taille des caractères font c'est comme ça font size 10 par exemple. Alors vous voyez juste ici c'est juste pour afficher ces ces
27:40
Speaker A
valeurs ici. Donc j'ai 50 50. Bon, ça c'est c'est pour vous bien sûr à un moment donné, vous voyez donc les gens qui font du machine learning au début vous le tapez mais après ça devient vraiment c'est des copicollé
27:50
Speaker A
c'est-à-dire tout le monde travaille comme ça. Donc il faut il suffit juste savoir qu'est-ce que je veux faire parce que ça ce qui est bien c'est que c'est pas ce qui manque he c'est pas le code.
27:58
Speaker A
Il faut juste savoir dans ma tête qu'est-ce que je veux représenter. Si je sais ce que je vais représenter à la rigueur vous le demandez à chat GPT vous il vous il vous donne ce code là. C'est pas ça ce qui
28:09
Speaker A
manque. Mais le plus important euh pour nous, pour dans notre étude, c'est de comprendre chaque étape. Qu'est-ce que je veux faire ? Alors en tout cas donc je représente ici mes données. Si vous voyez que ce graphique il est un peu
28:22
Speaker A
plus grand, vous pouvez utiliser PLT ici point figure la figure avec l'attribut fix size et vous mettez la dimension de la figure. Par exemple euh je vais mettre par exemple 8 x 4 par vir 4 pour ça vous donne ça. Et si vous
28:42
Speaker A
mettez par exemple 4 x 4, bon bref, c'est-à-dire c'est juste pour un peu dimensionner votre graphique et cetera.
28:49
Speaker A
Donc c'est pas ça le problème. Alors en tout cas, donc déjà quelle est la conclusion que je vais tirer jusque là ?
28:56
Speaker A
C'est que j'ai un dataset dans lequel c'est un problème d'abord de de quel type ? De type de classification. Pourquoi de classification ? Parce que euh ici on va on va ici donc le output ça va être quoi
29:08
Speaker A
pour nous ? output, ça peut être soit la fleur cytosa, soit vergicolor, soit virginia. Donc trois espèces. Autre chose, c'était une classification parce que dans la classification vous en avez deux. Il y a la classification binaire. C'est quoi la
29:26
Speaker A
classification binaire ? Quand vous avez ce vrai ou bien faux, par exemple, je veux détecter est-ce que le patient est malade ou non. Donc dans ce cas-là, on va dire que c'est un problème de classification binaire. ou bien est-ce
29:39
Speaker A
qu'une est-ce qu'une intrusion, est-ce que c'est une faille de sécurité ou pas, est-ce que c'est une attaque ou pas et cetera et cetera. Mais ça c'est pas c'est pas une classification binaire, c'est une classification multiclasse multiclasse parce que ici
29:54
Speaker A
donc nous avons trois trois classes. Class exactement. Alors, on va continuer d'abord avant de de passer vers notre modèle, il faut remarquer que notre output c'est du texte. Et quand vous avez votre des colonnes qui sont des des
30:11
Speaker A
variables, on va dire qualitatives des catégoriques variables, s'ils sont euh si s'ils contiennent du texte, ça veut dire il faut les remplacer par des nombres, n'est-ce pas ? Ouais. Donc il va falloir qu'on remplace par exemple cytosa par 0, virginia par 1 et
30:28
Speaker A
vergicolore par 2 parce que quand le machine learning c'est des algorithmes qui utilisent que des nombres pas des chaînes de caractères. Donc on a besoin d'utiliser ce qu'on appelle l'encodage. Alors justement pour faire de le l'encodage euh on peut il y a des
30:46
Speaker A
techniques parmi ces techniques, il y a label encoder. Alors pour utiliser label encoder, qu'est-ce qu'on va faire ? Ben, je vais utiliser from cycet learn scale preprocessing je vais importer euh label encoder. Donc ça c'est pour encoder, c'est-à-dire c'est pour ne pas le faire
31:09
Speaker A
manuellement pour ne pas aller vers votre fichier et vous remplacez ça par zéro et ça c'est par 1 et ça c'est par de pour ne pas le faire manuellement comme je disais donc pour éviter de faire ça manuellement d'aller chercher
31:21
Speaker A
tout ce qui est ars cazz euh je vais le remplacer par zéro euh tout ce qui est euh l'autre par exemple vergicolor par un et l'autre par de pour ne pas le faire manuellement ben on va utiliser label encoder Pour le
31:35
Speaker A
faire et ben c'est ce qu'on va faire ici. Je vais exécuter. Bah il me dit encore si ça n'est pas installé bah il faut l'installer. Et pour l'installer donc je vous rappelle vous pouvez utiliser ici donc euh pip
31:51
Speaker A
installit lol kit dans dans peut faire je suis dans VS code. Oui oui oui, je vous ai dit qu'on peut faire vous pouvez faire ça et ça alors ça quitte le ça quit c'est pas obligatoire le point d'excl ça
32:20
Speaker A
passe en tout cas ça qu le ben pourquoi je fais ça c'est juste parce que les gens qui travaillent sur Google collab c'est comme ça parce qu'en fait ça c'est quasiment c'est comme si vous travaillez sur Google collab c'est la même
32:31
Speaker A
chose. Alors donc je vais exécuter donc ici donc j'ai label encoder. Donc je vais l'importer d'abord cette classe et puis et puis donc on va l'instancier là. C'est un peu bizarre ça prend du temps mais en tout cas alors
33:02
Speaker A
ici donc je vais utiliser scaler égal c'est pas scaler c'est encoder. Je vais créer une variable encoder égale label encoder. Voilà donc ça c'est quelque chose qui est fourni par kit learn. Et puis je vais utiliser quoi ? Je vais utiliser encoder point
33:19
Speaker A
fit transform. Je vais transformer quelle colonne ? La colonne qui m'intéresse c'est DF data frame si ce qui m'intéresse, c'est spaces. Et puis donc il va me le transf, il va faire l'encodage mais il va me donner une autre colonne. Alors cette
33:37
Speaker A
colonne là, je vais l'appeler par exemple outcome. Je je vais par exemple écrire c DF. Je vais ajouter une colonne dans mon datafe. Alors cette colonne, je vais l'appeler outcome. Outcome ou bien output ou je sais pas quoi. Égal.
33:53
Speaker A
Donc je viens d'ajouter une autre colonne dans mon data dans dans dataset. Cette colonne je l'ai appelé outcome comme ça et dans laquelle je vais placer tout simplement je vais encoder les les labels.
34:08
Speaker A
J'exécute et ici donc pour voir ce que je viens de faire je vais encore afficher mon DF.
34:15
Speaker A
J'exécute. Alors voyez donc mon data frame il est ce qu'il est. Vous voyez donc les les espèces et juste à côté vous avez la colonne outcome et outcome vous voyez donc tout ce qui est ça c'est zéro tout ce qui est
34:26
Speaker A
arginia c'est c'est de alors si vous voulez voir les autres donc vous utilisez un simple par exemple de 12 donc vous voyez bien ça c'est c'est deux ça c'est 1 2 0 donc vous avez donc les lables de notre cas c'est 0 1 et
34:41
Speaker A
et donc c'est-à-dire que maintenant notre modèle qu'on va entraîner il va plutôt se baser pour nous la sortie c'est le la donc vous voyez donc ce qu'on vient de faire ce qui nous avons fait un l'encodage et cet encodage là parmi les
34:56
Speaker A
les techniques les plus coramment utilisées c'est label encoder qui permet de remplacer donc voilà si vous avez des variables catégoriques plutôt qualitatives bah vous faites l'encodage comme ça et ça marche bien. Bref alors je pense que maintenant Oui. s'il vous
35:14
Speaker A
plaît. C'est le modèle le modèle qui a choisi euh la catégorie pour euh Vergica et oui, c'est label encoder qui choisit aléatoirement. C'est-à-dire pour vous l'essentiel peu importe 0 ou 1 ou 2 l'essentiel c'est que chaque valeur il a
35:30
Speaker A
un code mais après par la suite quand si je connais le code je peux connaître la valeur donc ici il y a pas de problème.
35:38
Speaker A
l'essentiel. Je veux modifier comment je veux modifier pour Virginica je veux donner zéro et pour tu n'as pas tu es vrai si tu veux faire si tu veux faire ça tu peux ne pas utiliser ne pas utiliser ça d'accord tu peux ne pas utiliser
35:57
Speaker A
label encoder et dans ce cas-là tu vas le faire manuellement enfin manuellement tu vas faire quelque chose comme ça tu vas dire par exemple DF on va comparer C'est exactement vous allez faire quelque chose comme ça DF de outcome OC
36:13
Speaker A
par exemple égal à quoi ? Égal DF DF de la colonne euh spaces. On va faire quelque chose comme apply et on va faire une fonction comme ça, c'est-à-dire pour euh voilà lambda si la valeur de spaces x de point
36:39
Speaker A
et après vous faites ça quelque chose. Si x égal cette valeur, je donne é à à telle valeur je donne 1 et après vous faites ça. Bon, si si vous vous continuez à faire ça, c'est à peu près
36:51
Speaker A
ce que fait ici label encoder. C'est à peu près ça. Alors maintenant, il faut juste dire que la valeur peu importe est-ce que c'est 0 la 1 l'essentiel c'est que j'ai chaque catégorie là une valeur parce que d'ailleurs ce qui
37:04
Speaker A
m'intéresse moi c'est la vraie valeur. La vraie valeur c'est c'est spaces. OK. Donc à mon avis bon ça c'est pas c'est pas c'est pas important. Donc l'essentiel label encoder euh bon c'est ça ça vous permet de de faire cette
37:18
Speaker A
opération. Alors donc maintenant on va essayer donc de si vous voulez vous pouvez faire encore du data analysis en regardant la distribution de chaque colonne, c'est très utile. Alors par exemple, je vais utiliser ces bornes SNS point je vais utiliser dispot.
37:46
Speaker A
Alors displot c'est permet de de vous représenter l'histogramme l'histogramme de chaque de chaque colonne. Alors quelle est la colonne qui m'intéresse ?
37:55
Speaker A
charge. Par exemple, si vous voulez représenter la colonne de F de pétale lente en centimèt, ben ça vous donne ça. Ça, c'est l'histogramme. C'est-à-dire pour cette colonne là, bah vous avez par exemple le entre et et 1 virgule tel.
38:15
Speaker A
Voilà le nombre de il y a voilà le nombre de de c'est-à-dire de d'instances. Entre cette valeur et cette valeur, il y a le nombre d'instances.
38:23
Speaker A
Comme ça vous donne une idée, est-ce que quel type de distribution ? On a les distributions comme je disais donc en statistique, il y a différents types de distributions qui sont assez connues et parmi les plus populaires, c'est les
38:34
Speaker A
distributions normale. Généralement les distributions normales, c'est les distributions qui qui ressemblent à une cloche. Alors, si généralement vous voyez qu'il y a une distribution sous forme d'une cloche, ça veut dire que c'est un très bon signe. comme quoi
38:50
Speaker A
celui qui a fait le l'échantillnage, celui qui a collecté les données, il a il a il a pris il a vraiment pris le temps de prendre c'est-à-dire tous les échantillons. Et donc etci, c'est une distribution normale, on peut appliquer
39:06
Speaker A
des lois de la distribution normale, mais ça c'est des statistiques, je vais pas rentrer dans les détails mais bref, ici donc c'est juste pour regarder la distribution.
39:14
Speaker A
Alors, si vous voulez représenter pour toutes les colonnes, ben vous utilisez tout simplement DF. Vous voyez ici ?
39:22
Speaker A
Alors, ça c'est pas bon. Pourquoi ? Parce que il me fait tout ça dans le même euh dans le même graphique. Alors, ce que ce que ce qu'on va faire, on va pas faire ça, mais on va d'abord
39:33
Speaker A
extraire le X et le Y, n'est-ce pas ? Alors, c'est ce qu'on va faire. Donc, pour nous, à quoi est égal le Y ? Notre output, c'est DF. C'est quelle colonne ? C'est outcome le le Y le le output. Et c'est
39:49
Speaker A
quoi le X ? Notre X grand X. Et bien tout simplement grand X, je vais prendre C DF dans lequel je vais supprimer quelle colonne ? Je vais supprimer la colonne outcome, je supprime spaces et je supprime le ID.
40:04
Speaker A
Alors, je vais utiliser cette DF point euh drop colons normal les colons que je vais supprimer et ben je vais voilà, il y a virgule, il y a la colonne spaces et la colonne ID.
40:30
Speaker A
Voilà. Alors, ça c'est important. Donc maintenant, je connais pour mon modèle, je j'ai les input et les outputs. Le X c'est les inputs et le output pour nous c'est Y. Alors maintenant ce que je vais faire c'est que je vais représenter par
40:48
Speaker A
exemple l'histogramme de uniquement pour les inputs. Bah ce que je peux faire c'est de vous pouvez utiliser par exemple euh ce qu'on va faire si vous voulez récupérer euh si vous voulez faire colonne par colonne, ça vous savez
41:01
Speaker A
comment faire. Donc vous utilisez par exemple Cborborne ou tout simplement Ouais cborne SNS point displot. Displot c'est la distribution. La colonne c'est X. Qu'est-ce qui m'intéresse dans X ?
41:20
Speaker A
C'est pétal lent. Alors je fais ça. Donc j'ai j'ai la distribution et vous pouvez faire la même chose encore pour les autres. Sinon généralement quand vous avez beaucoup de colons, vous faites une petitte boucle. Alors ça c'est pour
41:32
Speaker A
faire une petite boucle. Donc je peux récupérer les colons. Alors que sont les colons ?
41:39
Speaker A
C'est X pointc colons. C'est-à-dire si vous voulez récupérer les colons d'un data frame, on peut utiliser euh colons comme ça. Et si vous voulez afficher les colonnes, vous faites colons comme ça.
41:52
Speaker A
Et vous pouvez voir ici donc quelles sont les colonnes ? Vo je vois les colonnes comme ça. Vous pouvez faire la boucle comme ça. Fort pour chaque colonne in.
42:02
Speaker A
Colon de points. Je vais faire tout simplement cborn point dis plot de DF de quelle colonne ? C'est-à-dire ici donc je vais parcourir toutes les colonnes pour chaque colonne dessiner donc le displot. Je j'exécute si vous exécutez ça, ça vous
42:26
Speaker A
donne, voyez, si vous avez une vingtaine une vingtaine de de une vingtaine par exemple de features, bah vous voyez donc avec une petite boucle comme ça, ça permet d'afficher toutes les les distributions de toutes les features. Et là, je vois par exemple c là on peut
42:43
Speaker A
dire que c'est pas c'est pas lente, il se il s'approche d'une distribution normale. C'est on cherche cette cloche là qui fait comme ça la cloche fameuse cloche. Ça c'est presque une distribution normale. Ça c'est à peu près. Bon, ça c'est à peu près mais en
42:59
Speaker A
tout cas j'ai une idée. Mais après si vous voulez rester là, bon on peut y rester mais ici juste pour qu'on qu'on ait une idée sur ça. Bon après ce qu'on va ce qu'on va faire c'est de d'utiliser
43:14
Speaker A
les en fait chercher est-ce qu'il n'y a pas une forte corrélation entre le entre les colonnes parce que si si vous vous prenez un dataset vous n'avez aucune certitude. Il se peut qu'il y a une colonne qui dépend
43:27
Speaker A
fortement d'une autre colonne. Alors si dans votre dataset vous normalement les variables X doivent être des variables indépendantes, n'est-ce pas ? les variables x, les caractéristiques de X, c'est ce qu'on appelle les variables indépendantes. Alors que le Y, c'est une
43:41
Speaker A
variable dépendante. C'est-à-dire quoi dépendante ? C'est Y, il il est il dépend de X parce que c'est une fonction de X. Y = f(x) en quelque sorte. Cette fonction f, c'est celle qu'on cherche en réalité. cette fonction qui permet de
43:55
Speaker A
lier les entrées et les sorties. Et donc pour ça pour savoir ça, vous pouvez chercher si vous cherchez x point euh vous appelez x majuscule, la fonction s'appelle correlation comme ça. Vous voyez ici donc c'est ça vous retourne
44:12
Speaker A
une matrice de corrélation. Alors si vous voyez donc ça vous retourne une matrice de corrélation. Je vois par exemple entre ces pâes ces palentes et ces pales lentes. Vois le coefficient de corrélation il est égal à quoi ? Égal 1.
44:26
Speaker A
Pourquoi c'est 1 ? Parce que c'est 1. Parce que voilà et la variable égale elle-même, n'est-ce pas ? La la corrélation entre cou et cou c'est 1.
44:39
Speaker A
Donc c'est-à-dire vous allez voir une matrice avec des colonnes, c'est il y a que des 1. C'est normal. Mais après ce qui nous intéresse, c'est ici, c'est-à-dire euh c'est-à-dire le par exemple est-ce qu'il y a une forte corrélation entre ses pâes
44:51
Speaker A
avec par exemple c'est pas lente ? Non, il y a 0- 0. Si vous voyez que il y a une valeur qui est proche de 1, par exemple ici par exemple il y a 0,87.
45:05
Speaker A
Alors 0,87, c'est-à-dire pétale lente, il est et et il y a une forte corrélation, mais ça veut pas dire quand est-ce que vous allez dire vraiment s'il y a une très forte corrélation quand vous avez des valeurs de
45:20
Speaker A
0,98 99 alors 80 avec par exemple ici vous voyez ici donc il y a une forte corrélation entre pétal 8 et pétal lent. Alors ça euh c'est juste pour pour vous dire que quand on va essayer de de faire notre
45:44
Speaker A
modèle, une fois que si on voit par exemple que le modèle donne des des mauvais résultats, on va dire tiens je vais revenir sur les fortes corrélation, je vais supprimer vous vous supprimez une colonne et vous créez votre modèle.
45:57
Speaker A
Mais croyez-moi, donc généralement 96, c'est toujours on la garde. C'est-à-dire c'est pas parce que mais si vous vous trouvez par exemple 0,99, alors là il faut vraiment euh euh poser un point d'interrogation.
46:10
Speaker A
OK. Bon alors, sauf que cette matrice là, si vous voulez la représenter se forme d'une ce qu'on appelle une hit map. Oui. Pour les les mauvaises corrélations, est-ce qu' est-ce qu'ils sont toujours moins de de un ? Oui, le
46:25
Speaker A
c'est-à-dire on dit que soit modé quoi que ce soit l'exemple dans travaille jusque-là il y a pas de jusqu'à pas on parle pas de modèles, je parle juste j'ai des variables des variables indépendantes et j'ai des variables dépendant une variable dépendante. Dans
46:40
Speaker A
les variables indépendantes, je vais chercher est-ce qu'il y a une forte corrélation entre ces variables. Alors généralement, si vous voyez que le le coefficient de corrélation n'est pas très proche de 1, vous pouvez dire à la rigueur ce que vous pouvez dire ici dans
46:56
Speaker A
les commentaires. Si vous vous rédigez un rapport, vous créez un marque mark down. Et si vous vous faites par exemple vous dites quelle corrélation on constate ?
47:06
Speaker A
On constate qu'il y a une forte une forte corrélation entre par exemple c'est pâ entre ça et ça et pétale 8. Ça c'est des remarques que vous notez parce que normalement dans le notebook c'est fait euh vous faites encore il y a également une forte
47:33
Speaker A
corrélation une forte corrélation entre par exemple pétal lente aussi et et lente. OK. Alors, si vous exécutez ça, c'est euh donc ça c'est juste voyez donc en face de chaque résultat, vous créez un on crée généralement un commentaire dans
47:59
Speaker A
lequel on écrit un peu le les c'est-à-dire une remarque parce que ça c'est un data scientiste. Euh vous voyez avec vos yeux mais vous vous êtes un spécialiste mais les gens qui vont lire votre rapport et il faut leur il faut
48:14
Speaker A
leur euh montrer un peu ce que vous avez remarqué. Oui. Il y a il y a quelqu'un ?
48:19
Speaker A
Oui, l'effet de la corrélation négative. Alors si c'est pareil en fait la corrélation ça peut être positive ou bien négative. L'inverse. Comment ça va affecter entre les variables ? Voilà les l'essentiel c'est que la la corrélation ne doit pas dépasser un
48:39
Speaker A
c'est-à-dire que ça soit positif. Euh si si c'est négatif, vous allez dire il est euh la la corrélation est négative et après vous dites la corrélation est positive. Mais si vous voyez qu'il est proche de 1, vous dites
48:51
Speaker A
il y a une très forte corrélation entre ces variables et ces variables. C'est-à-dire je le mets mais cette information là peut-être je vais revenir par la suite pour décider est-ce que je vais supprimer cette colonne ou pas. Bah c'est très simple. C'est comme
49:07
Speaker A
si par exemple je vais vers dataset et par erreur j'ajoute une colonne j'ai dupliqué deux fois n'est-ce pas ? Vous avez une colonne que vous avez dupliqué deux fois mais après quand vous regardez la corrélation vous allez trouver un
49:21
Speaker A
Oui. Euh c'est juste pour par rapport à positif négatif. Normalement la la corrélation positive c'est lorsque les deux variables évolu dans le même sens.
49:29
Speaker A
C'est ça. Dans le sens dans le sens contraire. Tout à fait. Exactement. Tout à fait.
49:36
Speaker A
Oui. Euh positif, ça les deux variables évoluées dans le même sens et négatif dans les les sens différents. Tout à fait. C'est bon. Alors, en tout cas, si vous voulez représenter la matrice de corrélation euh un peu avec un graphique
49:52
Speaker A
oh là là avec un graphique qui est plus avec un graphique qui est beaucoup mieux, vous allez utiliser la fameuse quoi ?
50:02
Speaker A
Hitmap. Hitmap. Hitmap, c'est tout simplement dans Cborne, vous avez une un graphique qui s'appelle Hitmap qui permet de de représenter mieux. Alors, comme vous l'avez constaté aujourd'hui, donc c'est une révision, même le projecteur, il ralentit le rythme et comme ça, on
50:22
Speaker A
est sûr de d'accompagner avec nous le maximum de gens. Est-ce que jusque là il y a pas de question ? C'est clair. Parfait.
50:33
Speaker A
Alors du moment que c'est clair. Donc si vous voulez représenter comme je disais vous pouvez utiliser SNS cbor point hitmapit map qu'est-ce qu'on va représenter forme d'une hit map ? X point corrélation parce que ça correlation cette fonction il retourne un data frame
50:54
Speaker A
que vous voyez là c'est déjà suffisant pour faire une lecture mais hitmap il est il vous donne ça une avec des couleurs et après ici on va mettre maintenant un note égal à tru c'est-à-dire si vous voulez afficher les
51:10
Speaker A
les valeurs les valeurs ici c'est l'annotation et après si vous voulez Euh après vous pouvez mettre les couleurs et cetera mais ici donc la la vous voyez ici donc tout ce qui est euh alors c'est pas c'est pas en fait
51:26
Speaker A
color ici donc c'est map c'est map et après vous mettez par exemple reds quelque chose comme ça et là vous voyez donc la valeur la plus forte c'est c'est un rouge foncé et vous allez surveiller tout ce qui est rouge foncé c'est
51:41
Speaker A
c'estàd la corrélation tout ce qui est qui va vers le clair c'est des des faibles corrélation. Voilà. Alors, je pense que ça c'est on a fait un peu quelques préraitement ici dans cet exemple là.
51:56
Speaker A
Maintenant, on va passer au modèle. Alors, pour créer un modèle de classification, donc vous avez euh différents modèles. Ben le premier c'est euh c'est la logistique regression.
52:08
Speaker A
c'est la régression logistique qu'on peut utiliser ici. Alors, on va tester maintenant quatre ou cinq modèles euh et ça serait l'occasion de vous expliquer les différents modèles. Alors, from cycit learn euh lig euh linear regression. Alors, on va
52:30
Speaker A
importer linear regression, c'est la régression linéaire. Alors pour utiliser maintenant vous voyez donc créer le modèle l'entraîner après le score c'est trois lignes. Vous allez créer d'abord le modèle donc je vais l'appeler LG par exemple linear regression LR c'est pas logistique c'est
52:51
Speaker A
pas linéaire. Lineéaire c'est la régression n'est-ce pas mais la régression ça c'est autre chose parce que ici ce qu'on va utiliser une régression. Non, la régression c'est quand on a une valeur quantitative of l'output, c'est-à-dire une variable continue. Par exemple, on
53:08
Speaker A
va prédire le prix d'un appartement, ben le prix ça peut être entre 100000 et je sais pas quoi. C'est une valeur continue. Vous voulez prédire le la durée de vie euh je sais pas la durée de d'un patient dans un dans dans par
53:22
Speaker A
exemple dans une clinique, on veut prédire des valeurs. Mais si si vous voulez faire la classification, c'est logistique régression.
53:31
Speaker A
Alors, logistique regression, on peut également l'appliquer pour les les modèles multiclasses. Donc, on a on l'a déjà appliqué pour un classifieur binaire, mais également on peut l'appliquer pour le le multicasse. Alors, maintenant pour travailler ça, ben qu'est-ce qu'on va
53:45
Speaker A
faire ? On va utiliser logistique regression LR é=al logistique regression. Ensuite, on va euh faire un fit.
53:57
Speaker A
Mais vous savez que si vous voulez faire un fit, il va falloir d'abord découper, il va falloir diviser votre dataset en une partie pour l'entraînement et une partie pour les tests. Alors c'est ce qu'on fait généralement euh c'est ce que je vais
54:12
Speaker A
faire d'abord. Alors pour faire cette opération donc je vais faire from cycit learn modèle selection import. On va importer d'abord la fameuse méthode euh qui s'appelle train test split. Euh alors cette fonction, elle est très utile parce que qu'est-ce
54:32
Speaker A
que je vais faire ? Ben je vais lui dire je vais prendre euh trend test split, je vais lui donner mon X et mon Y et je vais lui demander de me diviser ce dataset en deux parties. La la la partie
54:47
Speaker A
des tests, c'est test size, c'est 0,3. Ça veut dire quoi ? 0,3, ça veut dire je vais garder 30 % des données pour les tests. Pour le test exactement et les 70 % restant, c'est pour le l'entraînement.
55:03
Speaker A
Et cette fonction là, il va vous retourner quatre variables. La première, je vais l'appeler X trend comme ça. La deuxième s'appelle Y trend plutôt X test, pardon. X trend X test.
55:21
Speaker A
Y trend Y test égal à ça. C'est-à-dire quand vous faites test split, il il va vous donner le X trend le X test, n'est-ce pas ? C'est comme si vous prenez votre tableau Excel soi-disant et vous allez le diviser. Il
55:39
Speaker A
y a 30 % des lignes, je les garde pour tester mon modèle et les 70 personnes, je vais l'utiliser pour entraîner le modèle.
55:47
Speaker A
Alors, si vous voulez que ce ce cette division vous donne toujours le même résultat, vous allez mettre random state et vous mettez une valeur quelconque.
55:57
Speaker A
Vous mettez 1 2 3 je sais pas quoi. C'est-à-dire si vous si tant que c'est random state 1 2 3 4 à chaque fois que vous exécutez cette instruction, qu'est-ce que ça vous donne ? ici. Donc parce que j'ai pas importé ça je
56:13
Speaker A
pense c'est ça et j'ai pas exécuté cette ligne. C'est normal parce que il me dit ça. Alors c'est-à-dire si vous avez une valeur de random state, ça veut dire que à chaque fois si si j'exécute cette cette opération, ça va diviser mon
56:29
Speaker A
dataset toujours de la même manière. Je vais obtenir le même résultat. Supposants, j'ai remarqué après que mon euh le le modèle donne des mauvaises performances. Peut-être je n'ai pas pris les bons les bonnes valeurs pour l'entraînement. Bah qu'est-ce que je
56:45
Speaker A
vais faire ? Je vais arriver là, je vais mettre une autre valeur. Si je change la valeur, ça ça divise encore. C'est-à-dire ici si si ça c'est juste pour pour dire que tout simplement je mets une valeur quelconque pour fixer un exemple de de
57:02
Speaker A
découpage de split. Alors maintenant, une fois que vous faites cette opération maintenant on va créer notre modèle from cycit learner euh linear model je vais importer logistique regression. J'exécute et après donc je vais créer mon modèle. Ça c'est le
57:27
Speaker A
modèle égal logistic regulation. On va utiliser modèle pointfit. Alors fit c'est l'apprentissage. Apprend des exemples input ou des exemples output et je lui demande cherche-moi la fonction mathématique qui va lier ses entrées et ses sorties.
57:51
Speaker A
C'est ça fit. Cherche-moi un modèle proche, le plus proche possible qui permet donc de de lier les entrées et les sorties. Alors X trend Y trend, donc je donne le X et le Y et lui il fait l'apprentissage. Une
58:12
Speaker A
fois qu'il fait la bon ça l'apprentissage, bon voyez ici parce que bon ça ça passe vite, il y a pas de problème. Maintenant je vais regarder le score. Si vous voulez regarder le score, vous pouvez utiliser model score
58:24
Speaker A
directement. Vous lui donnez x trend Y trend. Alors et vous faites par exemple print quelque chose comme ça. Je vais afficher le score. Normalement le score il calcule.
58:46
Speaker A
Donc vous savez dans le la classification il y a Ecuracy, il y a recol précision et score. Donc les les mesures dont on avait parlé et qui permettent de mesurer les performances d'un modèle. Alors ici quand est-ce qu'elle est on l'utilise quand vous avez
59:08
Speaker A
un dataset équilibré. Si vous avez un dataset équilibré, écurz est suffisante pour parce que ça sert à rien de chercher les il faut un score et tout ça parce que le dataset il est déjà équilibré. Et ici donc ici écur ici égal
59:27
Speaker A
train égal égal à ça. Alors vous voyez ici donc nous sommes euh déjà logistique régression il vous donne un résultat de 97 % de performance. C'est très bon.
59:43
Speaker A
C'est-à-dire, je vois déjà que ici le modèle quand vous avez un modèle qui est performant à hauteur de 97, c'est un bon signe. Mais ça c'est uniquement on a testé avec quelle données ? Avec les données d'entraînement mais je dois le
59:58
Speaker A
tester maintenant avec les données de test. Ça veut dire quoi les données d'entraînement ? C'est que vous êtes en train de le tester avec des données qu'il a déjà vu pendant l'entraînement.
60:09
Speaker A
Alors maintenant, on va le tester avec des données qu'il n'a jamais vu et on va voir est-ce qu'il est bon. Ben, on fait la même chose. On va faire copiercoller et à la place de ici extreme, vous allez donner X test Y
60:25
Speaker A
test. Alors, ça c'est test. Vous exécutez et là vous voyez par exemple pour l'entraînement vous avez 0,97 % et pour les tests vous avez 03 %. Ça veut dire que votre modèle bon c'est déjà bon quand vous dépassez 90
60:42
Speaker A
c'est bon mais on peut faire mieux. Alors justement pour faire mieux euh nous allons, je vous ai dit tout à l'heure, supposant vous faites ça, vous faites vous changez cette valeur de random state, vous la changez, vous exécutez
60:57
Speaker A
encore, regardez les valeurs, est-ce qu'elles vont changer ? C'est-à-dire ici, donc j'ai fait les données de d'entraînement, j'ai 97 et les données de test, c'est 97. Parce qu'en fait l'idée principale, c'est que euh c'est l'aléatoire, il va découper et
61:16
Speaker A
cette fois-ci il est tombé dans des données d'entraînement qui sont les plus représentatives euh ce qui fait ce qui donne quelque chose comme ça. Et mais après moi aussi pas suffisant, on va essayer de de tester avec les autres
61:29
Speaker A
modèles. OK. Donc nous allons regarder au lieu de logistique Regr on va regarder les autres modèles. Euh mais avant ça, oui, s'il vous plaît, quand est-ce qu'on utilise donc les les paramètres métriques accuracy train accuracy rec Ah, je vais vous oui,
61:49
Speaker A
je vais vous l'expliquer. Alors, je vais revenir justement si vous voulez par contre visualiser le le record et les les autres métriques. Il y a une fonction qui s'appelle qui s'appelle model selection. Alors, on va l'importer ici. Donc, on va faire
62:05
Speaker A
from cyc learn matrix je pense. Matrix learn. Alors, import. Alors, je vais importer classification report.
62:24
Speaker A
Donc classification report, il il va vous permettre de calculer en fait de calculer toutes les mesures écurc le le fo score recall et précision et comme ça après vous avez tout et après c'est à vous de dire qu'est-ce que
62:39
Speaker A
je vais utiliser. Alors donc si vous voulez utiliser classification report voilà comment vous allez faire. Vous allez d'abord faire par exemple faire la prédiction. Je vais prendre par exemple pred trend est égal égal le modèle point predict. Alors predict quoi ? C'est x
63:01
Speaker A
trend. Ça veut dire que mon modèle il a déjà appris. Je vais lui donner X et je vais il va me prédire un résultat. C'est-à-dire il va me prédire pour chaque fleur est-ce qu'il s'agit de vergicolore ? Est-ce
63:12
Speaker A
qu'il s'agit de ça ou ça ? Et puis je vais faire pour test plutôt pred test à quoi est égal ? C'est modèle point predict euh x test x test.
63:35
Speaker A
Alors ici donc vous voyez donc j'ai je fais ma prédiction pour les données d'entraînement et je fais la prédiction pour les données de test et puis je vais utiliser classification report.
63:46
Speaker A
Classification report. Qu'est-ce qu'on va lui donner actuel ? C'est quoi ? C'est le Y trend c'estàdire le vrai le vrai les vrais output c'est Y. Et ce qu'il a prédit c'est quoi ? PR pred donc je lui donne, c'est-à-dire le
64:06
Speaker A
output tri et ce qu'il a prédit et après il va les comparer et quand il va les comparer, il me donne symétrique. Il me donne ce tableau là mais vous allez faire un print si vous voulez afficher ce tableau classification report qui est
64:19
Speaker A
très utilisé. Alors ici donc j'ai pas euh j'ai pas exécuté ça encore. Ici je dois réexécuter et ça vous donne ça. Alors euh comment vous vous arrivez donc en fait à lire ça ? Alors déjà si vous si
64:38
Speaker A
vous regardez euh notre notre écurci que nous avons ici, il est là. Vous voyez ?
64:44
Speaker A
Donc écure ici c'est 0 97 mais ici il vous donne le détail il vous dit par exemple pour la classe zéro la classe zé il a accuracy de de de 1 c'est-à-dire quasiment pour la classe 0 il a prédit les bonnes valeur
65:02
Speaker A
c'està-dire la classe 0 il se trompe pas par exemple pour la classe 1 il est à 95 % il y a quelques pour la classe 2 il est à 96 et si vous faites la moyenne ça vous 0,97. Alors, c'est pareil ici pour la
65:19
Speaker A
précision. Alors, je rappelle juste parce qu'il y a quand même une question qui est posée. Alors, pour le euh précision euh voilà.
65:30
Speaker A
Alors ici donc vous voyez bien euh ici donc quand vous avez un modèle de classification euh donc j'avais parlé déjà de ça. Donc par exemple vous avez un modèle pour lequel vous avez le réel par exemple c'est zé et le prédit c'est
65:44
Speaker A
zé quand c'est zéro donc c'est ce qu'on appelle les trous négatifs. OK par exemple c'est réel c'est 1 il a prédit 1. C'est un tr positif, c'est-à-dire c'est vrai, il a il a bien prédit quand c'est zéro par exemple alors qu'il a
66:00
Speaker A
prédé un. Donc c'est ce qu'on appelle un false positif. Euh la dernière fois donc j'avais corrigé donc je reviens sur ça.
66:08
Speaker A
Donc quand on fait un false par rapport à la prédiction et non pas par rapport au au réel, j'avais déjà corrigé ça dans la vidéo parce que j'ai inversé la dernière fois et ça peut vous arriver hein. C'est c'est vraiment si vous
66:21
Speaker A
faites pas bon c'est juste une norme il faut que ça soit Heureusement il y a quelqu'un qui avait fait la remarque sur Classroom donc j'ai dû corriger. Alors le false négatif ici pourquoi c'est un false négatif ? parce
66:33
Speaker A
que en réalité c'est un 1 mais le modèle il a prédidé combien ? Zé zé c'est un false, c'est faux mais négatif parce que c'est zéro et donc après si vous avez les trous positifs les false après on
66:45
Speaker A
crée ce qu'on appelle la matrice de confusion confusion et la matrice de confusion dans laquelle vous représentez les trop positifs les les trop négatifs les fals le nombre de falses positives et le nombre de falses négatives. Alors, dans notre cas, on va on va afficher
67:00
Speaker A
notre matrice de confusion, on va l'afficher et on revient vers les métriques. Alors, si vous voulez représenter la matrice de confusion, donc on aura besoin euh alors je supprime ça. J'ai besoin d'importer from cycit learn euh matrix import
67:31
Speaker A
confusion matrix. Alors voyz donc ça c'est confusion matrix. Si vous si vous voulez utiliser, je vais utiliser confusion matrix. Qu'est-ce qu'on va lui donner actuel ? C'est quoi ? y trend et le prédit c'est pred pred trend.
67:53
Speaker A
Si vous faites ça, vous allez avoir une matrice. Regardez cette matrice c'est ça. C'est les trop positifs. C'est les trop positifs, n'est-ce pas ? Ça veut dire quoi pour la classe ? Combien de combien combien de cas qui sont plutôt
68:08
Speaker A
de la classe zéro qui sont prédit 0 ? C'est 35. et combien de de fleurs qui sont de type 1 qui ont été prédites plutôt 1 c'est 35 ça c'est de OK et après vous voyez donc ici donc vous voyez ça c'est les les
68:24
Speaker A
trous euh les trous positifs ça c'est plus ce n'est plus un classifieur binaire c'est un classifieur multi class ça c'est les positif mais le reste c'est des fals n'est-ce pas alors ici donc ça c'est alors si vous voulez représenter
68:40
Speaker A
la matrice de confusion avec hitmap, c'est beaucoup mieux. Confusion matrix comme ça cm égal à ça. Et après encore, vous utilisez SNS euh hitmap cm. Donc ça c'est votre la matrice de confusion. Et après euh vous ajoutez un
69:04
Speaker A
note égal à true. Vous voyez donc 35 là c'est là où il se trompe. Alors je vais mettre des couleurs différentes.
69:16
Speaker A
C'est C map Cap alors red c'est une chaîne de caractère. C'est ça s'écrit d'ailleurs pas comme ça.
69:33
Speaker A
Reds euh c map. Bon alors qu'est-ce qui qu'est-ce qui manque ? Red. Ah c'est majuscule R S. Non. c'est R majuscule et cetera. En tout cas, si vous regardez la documentation, vous pouvez voir un peu ça c'est plus un peu plus visible.
70:03
Speaker A
Alors, je vois ici donc le les tr positifs, le et après les autres, c'est les fals positifs, les falses négatifs.
70:11
Speaker A
Alors, ici, donc vous voyez donc euh actuel euh donc ici 0 et qui sont 0, c'est 35. euh le nombre de zéro qui qui plutôt euh le nombre de zéres qui ont été prédit euh le nombre de 1 qui ont
70:25
Speaker A
été prédé c'est 0. Et là vous voyez donc si vous cherchez le nombre d'erreurs qu'il a commise, il y en a deux ici il y a 2 + 1, c'est-à-dire sur le total de combien ? De 105. Sur le total de 105 il a fait
70:43
Speaker A
combien d'erreurs ? Il s'est trempé trois fois. de ici et une ici. Ce qui a donné à ce qui a euh permis de calculer ce 80 euh 97 %.
70:55
Speaker A
OK. Alors maintenant, je reviens juste au métrique. Donc maintenant du moment que si vous comprenez ce que c'est la matrice de confusion parce que toutes les métriques de classification ils sont calculées sur la base de matrice de confusion. Si vous voulez voir comment
71:09
Speaker A
les trucs sont calculés comme ça, regardez ce qu'il fait. Par exemple ici pour pour la la prise pour récol récolle qu'est-ce qu'il fait ? Il va prendre cette valeur là 35 d'accord ? Si horizontalement divisé par la somme ça fait combien ? 35/ 35 ça donne
71:32
Speaker A
1. Vous prenez par exemple pour la classe 2, vous prenez 31 et 1 divisé par le total et c'est quoi le total ? 33 33 Alors, si vous faites 31 divis par 33, ça va vous donner euh ça va vous donner
71:46
Speaker A
ça 0,80 euh plutôt, c'est ça ? 0,94. Vous pouvez faire les calculs. Si par exemple, si vous prenez euh pour celle-là euh 36 divisé par combien ? 37, ça va faire cette valeur. Alors, H c'est pour l'école.
72:02
Speaker A
Pour la précision, vous faites verticalement, c'est-à-dire vous prenez cette valeur 35 divisée par la somme, ça fait c'est 1. Vous voyez donc ici, c'est c'est de c'est c'est 1. OK ? Alors si vous prenez euh 31 divis par le total,
72:19
Speaker A
ça fait 31 di par 32. 31/ 32, ça va vous donner ici 0,97. Et puis ici, vous allez prendre 36 di par 38.
72:33
Speaker A
ça va vous donner 0,95. Et cette valeur là, ça provient d'où ? C'est le nombre le nombre d'échantillons de type 0, c'est 35.
72:42
Speaker A
C'est-à-dire dans le training data 7, rappelez-vous, normalement au total, on avait combien ? On a 50 50, n'est-ce pas ? Mais sur le le split qu'on a fait notre dataset de d'entraînement, il y a 70 voilà, il y en a 35 qui sont de type
72:59
Speaker A
0. Il y a 33 qui sont de type 1 et 37 qui sont de type de type 2. Donc le total le total le nombre de le nombre de lignes que nous avons dans le dataset c'est 105. Ça c'est quoi ? Ça c'est la moyenne
73:14
Speaker A
de Ça c'est la moyenne de curie n'est-ce pas ? Alors la moyenne si vous prenez maintenant précision si vous faites la moyenne alors ici il y a deux moyennes si vous voulez il y a ce qu'on appelle macro average eted
73:29
Speaker A
average. Alors pour le macro aérus c'est la moyenne comme ça c'est 1 plus ça plus ça divisé par 3 macro a précision ils sont compte là le tableau il est présenté comme ça donc regardez làbas c'est je t'explique
74:00
Speaker A
cherche les valeurs mais il y a rien qui manque. C'est juste pour parce que écurci bah ici écurci ça concerne ça ça en fait ça c'est une valeur à part c'est é oui c'est éteint bon écur ici de toute façon il
74:15
Speaker A
dépend pas de il dépend pas normalement ce tableau là c'est il fallait que ça soit décalé parce que on peut comprendre que écure ici c'est la moyenne de il faut un score n'est-ce pas ici d'accord ok mais curie tout
74:30
Speaker A
simplement a la la valeur de 0,97. Est-ce que est-ce que c'est clair jusqu'à présent ? Bah vraiment le freinage comme ça parce que cette séance là, je l'ai faite justement pour donner l'occasion de un peu de voilà de
74:50
Speaker A
rafraîchir un peu les concepts. Attends s'il te plaît, je vais d'abord répondre à une question et après je te donne la parole. Donc euh je complète et après je réponds à ta question. Alors ici donc si je vois la précision la précision c'est
75:04
Speaker A
le macro averige. Le macro average c'est quoi ? C'est tout simplement c'est la moyenne de ces valeurs. 1 + si vous faites 1 + 0,97 0,95/ 3 ça donne macro average et vous avez weed average. Alors average c'est quoi ?
75:22
Speaker A
c'est cette valeur là multiplié par le nombre de d'échantillons cette x 35 plus cette valeur multiplié par le nombre 33 + 0,95 m par 37/ 35 + 33 + 37 ça vous donne ici c'est la même valeur mais parfois c'est pas la même
75:44
Speaker A
valeur pourquoi parce que ici d'av c'estàdire indépendamment indépendamment du nombre d'échantillons pour chaque classe comme ici il se trouve que les le les le nombre de de chaque classe sont très proches, ça donne mais si vous cherchez le 4e chiffre après la virgule,
75:59
Speaker A
vous allez voir c'est pas la même chose ici pour les deux premiers chiffres après la virgule, ça vous donne la même la même chose. Donc je vois ici pour le moment je vois à peu près c'est les mêmes valeurs parce que si vous avez un
76:13
Speaker A
dataset qui est équilibré même quand on a fait un split c'est-à-dire il a respecté l'équilibre entre les classes.
76:21
Speaker A
Donc ce qui explique ce qui explique que le macro average et le wed average la moyenne c'est c'est la même chose. Donc l'essentiel c'est que ici vous avez ça c'est votre précision, ça c'est rore. Alors maintenant c'est quoi un
76:37
Speaker A
score ? Ben je je répète maintenant c'est quoi écur ici ? Ça c'est les formules. C'est les trop positifs plus les tro négatif divisé par le total. C'est-à-dire quoi ? Bah c'est-à-dire tout simplement regardez votre matrice de confusion
76:57
Speaker A
c'est 35 + 31 + 36h divisé par le total c'est-à-dire divisé par 35 + 36 + 36 plus même + 2 + 1 comme quoi écure ici n'est-ce pas que vous voyez ici bon ça c'est la précision il
77:18
Speaker A
est d'ailleurs score il a calculé 97 7 et puis vous avez comme je disais écureci il est il a un sens quand vous avez un dataset équilibré un dataset équilibré c'est-à-dire qu'est-ce que je vois écure ici je vois juste le nombre le le nombre
77:36
Speaker A
de le nombre de fois le nombre de fois que le modèle a fait juste par rapport au total des des prédictions. S'il a il a tout juste par rapport au total c'est un c'est 100 %.
77:49
Speaker A
Mais je ne vois pas est-ce qu'il s'est trompé dans cette classe ou bien dans l'autre classe ? Est-ce que c'est un false négative ou bien false l'essentiel ? Est-ce que c'est juste ou bien c'est pas c'est pas juste ? Généralement, si
77:58
Speaker A
vous avez un dataset équilibré, écurser, c'est bon. Mais si le dataset n'est pas équilibré, on va plutôt chercher les deux les deux métriques. Alors je rappelle les deux métriques principales, il y a précision et recol. Alors prion sa formule c'est ça c'est le nombre de
78:16
Speaker A
trop positifs divisé par les trop positifs plus les fals positif. Alors ça ça va vous donner le score le score la précision alors que le rolle c'est les trop positif divisé par les trop positifs plus les fals négatifs. Donc vous voyez donc la
78:39
Speaker A
différence entre précision et rco prion on va prendre les par rapport au false positif les falses positifes les erreurs pour lesquelles il a détecté par exemple qu'il est malade.
78:56
Speaker A
Supposons que moi je cherche est-ce que le patient est malade ou pas ? Donc je vais m'intéresser uniquement au aux erreurs pour lesquelles le patient n'est pas malade et il les a détecté mal. Mo les fals positif. D'accord. Et donc si j'ai ça
79:12
Speaker A
ici donc prion on s'intéresse on s'intéresse au false positif alors que dans RCO on va s'intéresser au false négatif. les forces négatives. Par exemple, le patient n'est pas malade et il a détecté malade. Et après dans la pratique, c'est
79:31
Speaker A
à vous de dire qu'est-ce qui est grave ? Qu'est-ce qui est grave ? Le cas où le patient n'est pas malade, il l'a détecté malade ou bien le patient n'est pas malade, il l'a détecté malade. C'est ça les problèmes. Par
79:51
Speaker A
exemple, le cas des patients, alors vous dites là, moi je dois pas tolérer qu'un patient en réalité il est malade alors qu'il a détecté non non malade. Par exemple, si vous voyez que dans votre métier, c'est ces casl qu'il ne faut pas
80:06
Speaker A
rater. Par exemple, le Covid s'il y a quelqu'un qui a Covid peut pas, tu vois, j'ai quelqu'un qui a qui a qui qui a le Covid mais moi je l'ai je l'ai détecté.
80:17
Speaker A
Non, il n'a pas de Covid, c'est très grave. Pourquoi ? parce que c'est si je le lasse, il va impacter le voyez donc ça ici c'est un false quel false là il a covid mais moi je l'ai détecté il n'a
80:31
Speaker A
pas le le covidé c'est un false négatif donc les fals négatives les fals négatives pour moi con un minimum il faut les minimiser et si je veux je cherche à minimiser les falses négatives et ben je vais utiliser Quoi ?
80:51
Speaker A
Est-ce que je vais utiliser la précision ou bien récolte ? Regardez finalement les forces négatives rec.
81:00
Speaker A
Donc ici je vais dire alors mon modèle je vais l'entraîner l'entraîner jusqu'à ce qu'il me donne un record qui est le maximum possible.
81:09
Speaker A
il a dit par exemple un récol qui est très fort ça veut dire que mon modèle ne rate pas les false négatives parce que vous voyez donc si si le false négative tend vers zéro le nombre tend vers zé ça veut dire
81:22
Speaker A
que les coles tend vers 1 et si si le false positif tend vers é le la précision tend vers 1 donc maintenant et ça c'est un élément qui est très important c'est en fonction des problèmes. Alors je viens de
81:36
Speaker A
l'exemple covid c'est un bon exemple parce que le covid le covid moi je l'ai détecté ma fich le covid c'est très grave parce qu'il va contaminer les autres mais supposons ma fich covid et moi je l'ai détecté covid c'est pas
81:52
Speaker A
aussi grave que ça pourquoi parce que je vais le garder je vais encore faire des analyses après je vais trouver finalement qui n'est pas malade. Est-ce que vous voyez la problématique ?
82:03
Speaker A
La cybersécurité c'est la même chose. Il faut est-ce que est-ce que je vais minimiser par exemple j'ai une une intrusion que c'est une c'est une attaque alors que moi je l'ai détecté ce n'est pas une attaque ou bien par
82:15
Speaker A
exemple l'intrusion ce n'est pas une attaque et je l'ai détecté une attaque. Donc les domaines il y en a ceux qui vont vous dire moi ce qui m'intéresse c'est de minimiser les falses négatives.
82:25
Speaker A
Il y en a d'autres qui vont vous dire moi ce qui m'intéresse c'est de minimiser les falses positives. Qu'est-ce qui va faire la différence bien la précision et récolte ? Alors accur généralement, c'est-à-dire quand vous avez le nombre de de tassat
82:40
Speaker A
équilibré, donc forcément le euh c'est-à-dire ça ça peut être une mesure qui est qui est qui est acceptable.
82:50
Speaker A
Alors le fo score, si vous voyez que les deux vous intéressent, c'est-à-dire je ne veux je ne veux rater ni les falses négatives ni les falses positives, ça veut dire il faut chercher un équilibre entre les deux. Et pour chercher un équilibre,
83:06
Speaker A
vous allez utiliser score. If score. La formule di score, c'est celle-là. C'est deux fois la précision fois récolte divisé par précision plus récolte.
83:20
Speaker A
C'est une formule, il dépend de donc finalement il score c'est un équilibre entre la précision et et record. Bon ça j'avais je l'avais beaucoup expliqué, je le répète encore une fois. Pourquoi je répète une deuxième fois ? parce que vous avez
83:36
Speaker A
d'abord posé la question mais en même temps c'est c'est une partie qui est très importante parce que si vous faites une une étude de machine learning alors si vous faites une une étude de machine learning et bien tout
83:51
Speaker A
simplement l'une de des étapes c'est définir les métriques d'évaluation tout ça alors quelles sont les métriques d'évaluation avec quoi on va mesurer que nos modèles que nous sommes en train de chercher est-ce que est performant ou pas. Donc il faut déjà
84:07
Speaker A
fixer. Vous dites dans notre cas notre métrique la plus la plus importante c'est recall ou bien celle-là. Et sur cette base je vais entraîner le modèle.
84:17
Speaker A
Ben je regarde le recall il est 0,96 mais je vais changer les paramètres. J'essaie de de changer jusqu'à ce que le recall atteint le maximum possible. Une fois que j'atteins le maximum possible de de récol pour moi moi donc je suis satisfait. Donc je peux
84:34
Speaker A
laisser je peux déployer ce modèle. Voilà. Alors donc je reviens ici. Donc je pense que ça c'est si vous voulez c'est euh c cette partie là elle est importante. Vous avez une idée comment on calcule tous ces paramètres.
84:53
Speaker A
Vous avez le on va dire la matrice de confusion et après maintenant on veut faire mieux.
85:01
Speaker A
C'est-à-dire ici donc j'ai 0,97 mais je dois tester avec d'autres modèles. Mais parce qu'il y a pas que logistic regression, on va utiliser d'autres modèles. Alors parmi les modèles, il y a on va commencer par le plus simple KNN.
85:17
Speaker A
Alors Kin donc c'est from fromit learn KNN euh plutôt near neighbors comme ça n neighbors. Voilà.
85:43
Speaker A
Import euh voilà. K Neborse classifier. Alors ça c'est KNN. Alors donc je rappelle que KNS c'est l'un des modèles de machine learning de classification et c'est un modèle vous savez bon ça me ça me laisse l'occasion de rappeler une chose c'est que dans les
86:02
Speaker A
modèles de classification juste noir qui deux catégories il a ce qu'on appelle les les classifieurs curieux n'est-ce pas et les classifieurs paresseux c'est un peu ça alors curieux Alors les classifieurs les les qui sont enthousiastes curieux ou bien
86:24
Speaker A
enthousiastes enthousiaste c'est mieux un classifieur enthousiaste c'est quoi les donc je reviens au slide c'est comme ça je vous je vous repositionne.
86:34
Speaker A
Regardez c'est ça. Donc vous avez dans les classif les classifiants enthousiastes vous avez la régression logistique SVM machine vecteur machine.
86:44
Speaker A
Vous avez les arbres de décision, les réseaux neuron artificiel les classif enthousiastes. Ça veut dire quoi enthousiaste ? C'est que quand vous faites l'entraînement, quand vous faites l'entraînement, qu'est-ce qu'il fait le modèle ? Il va chercher à chercher dès que la fonction
86:58
Speaker A
mathématique qui va lier les entrées et les sorties. C'est-à-dire que l'entraînement, ça prend du temps.
87:02
Speaker A
L'entraînement, il va il va faire des boucles, il va chercher, il va changer les paramètres jusqu'à ce qu'il trouve le modèle qui représente mieux votre votre dataset.
87:12
Speaker A
Mais dans la prédiction, la prédiction c'est instantané. Quand vous lui dites prédict, vous lui donnez quelque chose et il va vous parce que une fois qu'il a appris, vous lui donnez input, le le output, il le calcule rapidement. C'est
87:24
Speaker A
instantané. C'est-à-dire la la prédiction, ça prend pas du temps. C'est les les les classifieurs enthousiastes.
87:31
Speaker A
Par exemple, les résontificiels, c'est un classifieur qui est enthousiaste. Pourquoi ? parce que dans le l'entraînement, il va prendre du temps à entraîner. Mais une fois qu'il a entraîné, vous avez un modèle qui donne des réponses instantanées, c'est-à-dire
87:44
Speaker A
en temps réel. Alors que vous avez d'autres modèles qui sont ce qu'on appelle paresseux lazy. Parmi ces ces ces modèles paresseux, c'est KNN. Et bien KNN qu'est-ce qu'il fait quand vous faites l'entraînement, quand vous faites prédict, il ne il ne va rien calculer,
88:02
Speaker A
il va juste prendre le dataset, il va le charger en mémoire. Donc le dataset il le charge au mémoire.
88:08
Speaker A
J'ai les input et j'ai les output. Et quand vous allez lui dire prédicton appelle les cas voisins les plus proches. Il va calculer la distance entre le le les différentes classes et après il va déterminer ce ce cet
88:28
Speaker A
échantillon là il est proche de cette classe ou bien il est proche de cette classe. Je vous explique. Regardez.
88:38
Speaker A
Alors, KNN, voilà, ici donc j'ai le le slide euh ici alors regardez ici. Donc ça c'est c'est un exemple qui montre un peu comment fonctionne KNN. Supposons vous avez un petit dataset. Vous avez un dataset dans lequel je dans lequel j'ai X, Y et le
89:01
Speaker A
label le output. Alors, j'ai X Y par exemple. Ça c'est la la catégorie A, le la A. Et ça c'est c'est des points B.
89:11
Speaker A
Alors, si vous représentez ce nuage de point, vous allez trouver ce qui est en bleu, c'est la catégorie A et ce qui est en vert c'est la classe, c'est des points de la classe B. Alors, avec KNN, euh, quand vous dites par exemple fit
89:28
Speaker A
fit, c'est-à-dire l'apprentissage, qu'est-ce qu'il fait ? Il ne fait que charger ce dataset. il va le charger en mémoire comme ça, il le charge, il y a pas de il cherche pas à faire des calculs. Mais quand vous allez dire
89:39
Speaker A
prédict par exemple, je lui donne un point de x = 2,6 y = 2 le point en noir, je vais lui dire cherche-moi est-ce que h le point est-ce qu'il est proche est-ce qu'il il appartient à la catégorie A, à la classe A ou bien à la
89:55
Speaker A
classe B. Regardez ce qu'il va faire, c'est très simple. Il va prendre ce point-là, il va prendre il va calculer la distance par rapport à tous les points. Il va calculer la distance par rapport à ce point, la distance par
90:07
Speaker A
rapport à ces points et la distance par rapport aux autres points. Et vous allez avoir ça. Vous avez votre data set et après vous avez une une colonne distance. Vous avez par exemple ça c'est la distance par rapport à ce point, la
90:19
Speaker A
distance par rapport à ce point et cetera et cetera. Donc il fait il va parcourir tous les échantillons du dataset, il va calculer la distance.
90:27
Speaker A
Après maintenant quelle distance ? Il y a la distance Euclidienne, il y a ce qu'on appelle la distance Manhattan. Et donc mais en réalité quand vous avez un datasat qui contient plusieurs features, on calcule la distance entre deux vecteurs. Donc
90:42
Speaker A
forcément c'est mais en tout cas donc je calcule la distance. Une fois que je calcule la distance on va regarder ici KNN il a un paramètre qui est très important c'est K.
90:56
Speaker A
Alors si par exemple dans notre cas K = 3 K = 3, il faut toujours prendre K impaire. Pourquoi ? Parce que si vous prenez K é= à 3, c'està-dire on va chercher les trois points les voisins les plus proches. C'est ça l'idée
91:11
Speaker A
principale. Je vais chercher parmi les nuages de point les tr points les plus proches le point. Regardez, si je prends les distances, je vais faire je vais faire sorte, je vais classer je vais classer le par rapport à quoi ? Par
91:27
Speaker A
rapport à à la distance. Si je classe ce tableau là par rapport à la distance, je vais trouver les points les plus proches les points pour lesquels la distance est faible, n'est-ce pas ? Je vois ici 1,16 1,40 1 donc je vais prendre les points
91:45
Speaker A
les plus proches au mois premiers, n'est-ce pas ? Ici, je prends l' premier, je vais regarder H le point il est de quelle classe. Voilà. Donc regardez. Donc j'ai ici donc j'ai calculé la distance à mo le les points
92:00
Speaker A
les plus proches au mo les trois premiers parce que je les je les ai classé. Vous voyez ces sortent je vais classer par rapport et je vais prendre les trois. Si k é= à 3, je vais prendre les trois les
92:11
Speaker A
trois plus les trois plus proches. S'il est égal à 5, je vais prendre les 5.
92:17
Speaker A
Alors si je prends les les trois, je vais dire h le point il il appartient à quelle classe réellement ? A il appartient à quelle classe ? B A donc la classe majoritaire. Donc je vais dire que le
92:29
Speaker A
point il appartient à la classe A. Je décide. Donc il il va vers le plus proche voisin. Les plus proches voisin.
92:38
Speaker A
Moi je suis plus proche de ce groupe, n'est-ce pas ? Mais il y a il y a deux personnes à qui je suis très proche. J'ai une personne qui est plus proche. Et ben je vais aller vers je le
92:50
Speaker A
modèle, il va vous dire que vous appartenez à ce à ce groupe. KNN. Donc vous voyez donc c'est un modèle qui est paresseux. paraîs. Ceux, c'est-à-dire quand vous faites fit, il ne fait rien. Parce que faites attention parce
93:04
Speaker A
qu'il y en a beaucoup qui utilisent KNN pour parfois des datas qui sont très grands et c'est faux, c'est pas bon.
93:10
Speaker A
Parce que si vous avez un dataset où vous avez des millions d'enregistrements ou bien des milliers, ça veut dire quoi ? Ça veut dire que quand vous allez faire la prédiction, regardez la prédiction, il va parcourir, il calcule
93:21
Speaker A
les distances et ça prend du temps. Et vous savez que l'intelligence artificielle, le plus important c'est la prédiction. c'est que quand il y a un événement, il va vous dire ça c'est c'est une attaque. Je vais pas attendre
93:32
Speaker A
5 minutes pour me dire "Ah, c'est une attaque, c'est trop tard." C'est c'est donc c'est-à-dire le la prédiction doit être instantané. Mais quand est-ce KNN il est bon ? Il est très bon pour des dataset qui ne sont pas très grands.
93:47
Speaker A
Donc vous voyez donc c'est pour notre datas set 150 échantillons, c'est pas beaucoup. vous avez 200, 300, 400 euh 500, c'est pas un problème parce que euh la prédiction euh c'est c'est rapide. Alors, on revient à notre ici.
94:02
Speaker A
Euh donc ici, je vais importer le classifieur et je fais la même chose. Regardez ici. Donc je vais faire copiercoller ici. Mais je fais ça.
94:12
Speaker A
Contrôle C, contrôle V. Et là, au lieu d'utiliser logistique regression, je vais utiliser quoi ?
94:23
Speaker A
K neighbor classifier. Mais regardez ici, c'est un hyper paramètre. À quoi est égal de voisin ? C'est 3. Alors si vous mettez 4, c'est pas bon. Pourquoi c'est 4 ? Parce qu'il se peut qu'il trouve de deux et après il va vers donc un
94:41
Speaker A
paire, c'est-à-dire il ma 3 2. Donc de toute façon, il va décider. Alors ici donc je vais prendre 3 par exemple euh je fais fit et je vais calculer le score. Alors ici donc il n'est pas défini parce que j'ai pas exécuté
94:59
Speaker A
ici. Voyez le le pour le pour les données d'entraînement pour les les données d'entraînement le le modèle il est il est performant à hauteur de 95 %.
95:11
Speaker A
pour les données de test depuis tout à l'heure, vous voyez rien ? C'est ça ?
95:34
Speaker A
Bon, ça veut dire que le V du projecteur soit de la il faut de la maintenance, soit il faut le changer des Donc on va demander de changer le vue du projecteur parce que c'est pas normal.
95:46
Speaker A
Oui. Vous avez une question monsieur ? Oui. Oui. Oui. Est-ce qu'il y a une méthode pour bien déterminer c paramètres comme dans le cas de clas ? Alors, malheureusement euh de toute façon euh dans le alors dans machine learning, il n'y a
96:06
Speaker A
aucune méthode euh mathématiquement parlant qui permet de de déterminer les hyperparamètres, c'est-à-dire c'est c'est le les hyperparamètres généralement il c'est c'est des c'est des en fait c'est des paramètres qu'on détermine par euh si vous voulez de manière empirique. C'est l'expérience.
96:25
Speaker A
Par exemple, je vois ici, regardez le taux de de le le tau par exemple ici, il est de combien le taux de de performance 95 94 %. Ben, je vais changer K, je vais mettre 5.
96:41
Speaker A
J'exécute, je vois ici, je suis à 96 % et je vais mettre 7. 10. J'ai 95 là. Ça c'est 97 mais les tests c'est 95. Et je vais mettre je vais mettre 9 et vous allez changer jusqu'à ce que
97:02
Speaker A
vous trouvez euh les performances. Les données d'entraînement, c'est bon. Mais également ça doit être bon les données de test. Je rappelle bien, si vous avez un modèle qui est performant pour les données d'entraînement mais qui n'est pas bon les données de test, ça c'est ce
97:17
Speaker A
qu'on appelle le overfitting. Overfitting c'est surapprentissage. Surapprentissage ça veut dire que votre modèle il a vraiment cherché dès que la fonction mathématique qui va passer sur tous les points d'entraînement mais il rate les les données qu'il n'a pas vu.
97:33
Speaker A
Donc euh et ici donc le notre idée c'est de trouver un en fait un score. Alors ici donc vous avez une idée sur comment fonctionne en tout cas KNN. Alors voyez ici par exemple pour les données de test ici c'est un mais ça
97:48
Speaker A
veut rien dire. Pourquoi ? Parce que si vous changez le si vous changez le random state ici vous allez avoir un nouveau découpage. Vous voyez ici donc vous avez 98 et ça c'est 85. C'est-à-dire c'est c'est la random state le découpage entre les
98:13
Speaker A
données d'entraînement, les données de test, ça vous donne des valeurs comme ça. Mais déjà on constate que ça c'est un dataset qui est très simple, ça nous donne plutôt des bons résultats pour le moment aussi bien pour la la régression
98:24
Speaker A
logistique également pour le pour l'autre cas c'est KNN, n'est-ce pas ? Alors, mais on va faire mieux parce qu'il y a d'autres modèles qui peut-être qui vont nous donner au beaucoup mieux. Euh, on va utiliser SVM. Alors, SVM, c'est Oui, la batterie.
98:43
Speaker A
Merci. Ah, on a vu donc pour le cas de KNN, alors je vais utiliser SVM. Alors, en fait, SVM, c'est un modèle euh qui est également très très utilisé.
98:55
Speaker A
Le en fait SVM c'est un c'est un modèle qui va chercher à chercher un épireplan ce qu'on appelle il va rechercher les pierreplan qui sépare les différentes classes. Par exemple ici vous avez un ensemble de points en bleu et là vous avez un ensemble de
99:14
Speaker A
points en ver c'est deux classes. Bah l'idée principale c'est de de chercher ce plan là qui est en même temps plus proche à c'est-à-dire plus proche à ce groupe et plus proche à à ce groupe.
99:27
Speaker A
Parce que si vous cherchez un plan qui s'est parlé de classe, je peux avoir ce plan là et c'est parler classe, je peux avoir plusieurs plans qui s'est parlé de classe. Mais quel est le plan qu'on va prendre ? Bah, on va prendre le plan qui
99:39
Speaker A
est, on va dire, le le plus si vous voulez le plan le plan le qui doit être en même temps proche le groupe et proche l'autre l'autre groupe. C'est-à-dire en quelque sorte si vous cherchez il y a trois plans par exemple qui sont qui qui
99:54
Speaker A
séparent, vous allez prendre le plan le plus loin c'est-à-dire le le le plus loin de du point le plus proche. Par exemple, ici euh vous voyez ici, bon, je vois un exemple là.
100:07
Speaker A
Je vois par exemple un dataset dans lequel je représente en X, c'est la hauteur la hauteur des des personnes en centimètango. La hauteur la longueur la taille la taille la taille en centimèt ici je vois le la longueur des
100:28
Speaker A
cheveux et je voudrais savoir est-ce que c'est un homme ou bien c'est une femme c'est plus simple c'est un cas plus simple regardez ici. Donc je vois bien déjà dans le ces échantillons ceux qui ont la hauteur des cheveux plus grands.
100:40
Speaker A
Donc c'est c'est le c'est-à-dire c'est le groupe de c'est des femmes et euh c'est-à-dire ceux qui ont euh ceux qui ont les cheveux plus courts, c'est des femmes. Et après, je voudrais savoir par exemple, j'ai un échantillon, je
100:56
Speaker A
connais sa taille plus la longueur de ses cheveux. Je voudrais savoir est-ce que c'est une c'est un est-ce que c'est un homme ou bien une femme ? Et bien tout simplement avec SVM, qu'est-ce qu'il va faire ? Il va
101:09
Speaker A
chercher à déterminer h le le le plan qui va séparer les les deux classes. Il va trouver il y a pas qu'un seul. Celui-là, c'est un plan qui s'est parlé de classe. Celui-là, c'est un plan qui s'est parlé de place. Mais
101:22
Speaker A
qu'est-ce qu'il va prendre ? Au final, il va chercher jusqu'à ce qu'il trouve le plan le plan qui s'est parlé de classe mais qui est en fait le plus au c'est-à-dire entre les deux, c'est-à-dire en en centré ou bien en qui
101:38
Speaker A
est en tout cas plus proche plus proche aux deux classes. Encore si vous vous raisonnez par rapport à une classe, c'est-à-dire le les pierplan le plus loin au point le le plus proche et donc comme il doit être plus loin de l'autre
101:48
Speaker A
et plus loin de l'autre donc il va se situer au milieu. Donc bref, mais voyez donc quand il s'agit d'un quelque chose de simple comme ça, c'est facile de trouver cette droite mais quand il s'agit d'un d'un truc
102:01
Speaker A
multidimensionnel, vous voyez donc par exemple ici ça c'est en 3D parfois c'est c'est difficile de trouver donc le un simple un plan de D. Donc il faut trouver carrément le l'hyperplan l'hyperplan ça peut être trois dimensions 4 5 6 8 et cetera.
102:17
Speaker A
C'est-à-dire, c'est si vous imaginez ça dans le dans euh le c'est-à-dire dans en géométrie et ça va être une surface un peu bizarre, c'est-à-dire avec le plan bizarre qui qui va séparer de classe. Donc c'est un algorithme qui est
102:33
Speaker A
très connu SVM. Euh donc on va l'utiliser et on va regarder comment pour trois classes.
102:41
Speaker A
Ouais que ça soit trois classes parce que par exemple ici vous avez une classe de classe mais il faut chercher ce plan là qui va qui va l'hyperplan. C'est pour ce que là d'ailleurs on on l'appelle l'hyperplan. les PP plan, c'est-à-dire
102:53
Speaker A
il peut séparer de 3 4 5 ses classes. Donc c'est c'est un algorithme qui qui donne de très bons résultats sur un certain nombre de situations. Bon, en tout cas, donc si vous voulez appliquer SVM, vous avez un peu que un peu
103:07
Speaker A
d'explication ici si vous voulez y revenir. Euh donc pour SVM, vous allez faire la même chose.
103:17
Speaker A
from cycet learns svm c'est vector machine import sv classifier parce queen fait svm ça peut s'appliquer pour la classification et également la régression et donc ici SVC c'est pour le classifier et vous faites copiercoller et vous remplacez ici SVC bon ici donc il y a pas de
103:45
Speaker A
nombre de voisin hein, vous vous calculez. Alors, regardez, vous avez 97 pour les le les données d'entraînement, 91 pour SVM. Donc, il nous donne euh 97 pour les données d'entraînement, 91 pour les données de test. Mais il y a
104:03
Speaker A
quelque chose qui est très important dans SVM. Il y a un paramètre qui est très important qui s'appelle le kernel.
104:09
Speaker A
En fait maintenant le kernel euh généralement euh vous allez commencer par un kernel qui s'appelle linéaire.
104:18
Speaker A
Alors ici on on voit déjà qu'on a c'est un problème linéaire. Si vous changez le kernel en linéaire, vous exécutez.
104:23
Speaker A
Regardez. Alors ici vous avez les données d'entraînement, vous êtes à 99 % et les données de test à 95 %.
104:33
Speaker A
Alors, en plus de linéaire, il existe plusieurs. Il y a polygonal, il y a précomputed RBF. Euh donc par défaut Sigmoïd, vous pouvez tester mais je vois par exemple Sigmoid, ça donne de très mauvais résultats.
104:48
Speaker A
Alors ici, donc si vous vous utilisez Linear euh pour ce cas-là, donc je ça donne 99 %, on est presque proche de 1 pour les données d'entraînement et pour les données de test, c'est 95.
105:00
Speaker A
Et si vous changez le découpage, vous pouvez avoir quelque chose de mieux ici. Alors ici. Donc je fais encore un split différent et je teste. Alors ici donc je vois ça c'est encore mieux parce que là je vois un
105:18
Speaker A
équilibre entre les données d'entraînement et les données de de test. Donc je peux dire que ça B la configure bon pour moi ce modèle est il est bon.
105:28
Speaker A
Alors, il y a un autre modèle qui est très très important, c'est les les réseaux de neuron artificiel. C'est ce qu'on appelle le multilayer perceptron.
105:37
Speaker A
Alors, je rappelle juste que le fonctionnement des réseaux neurones d'ailleurs aujourd'hui l'un des modèles les plus exploités dans le l'intelligence artificielle, c'est justement ces ces réseaux de neuron.
105:49
Speaker A
Alors, d'abord juste un petit un petit rappel en fait un un neurone artificiel un neuron artificiel c'est une c'est une approximation du neurone biologique, c'est-à-dire on s'est inspiré un peu com fonctionne le neurone biologique. Un neurone biologique si
106:09
Speaker A
vous l'avez jamais vu, il est dans votre cerveau. Il y a des milliards de neurones dans votre cerveau. Vous avez ce qu'on appelle les les vous avez ce qu'on appelle les les dendrides, vous avez une partie qui s'appelle le soma,
106:21
Speaker A
c'est c'est le noyau. Et après vous avez l'axome. Et après qu'est-ce qui se passe ? C'est que les dendrites, c'est ce qui va lier le neurone avec les autres neurones. C'est-à-dire un neurone, il est lié à plusieurs neurones. Donc à
106:35
Speaker A
partir des dendrides, on reçoit les signaux des autres neurones. Et ces signaux là arrivent des autres neurones.
106:41
Speaker A
Ils arrivent là, on va faire quoi disons une une agrégation à une somme une sommation de ces signaux. Et si ce sign si la somme dépasse un seuil et ben le neurone il va émettre un W le signal
106:56
Speaker A
électrique. Donc votre cerveau, c'est comme ça qu' fonctionne. Il va émettre le signal 1, c'est-à-dire un signal électrique qui passait via ce qu'on appelle euh via la la l'axone. Et après ce signal électrique, il va arriver vers les autres neurones et et comme c'est
107:11
Speaker A
comme ça qu'on arrive à penser l'être humain, c'est comme ça qu'il marche. Alors maintenant donc ici pour l'approximation en fait les neurones artificiel c'est tout simplement on a modélisé ça avec quoi ? Bon un neuron artificiel contient de de de opérations.
107:29
Speaker A
Donc un neuron reçoit des inputs. Donc des inputs par exemple X1, X2, X3 et chaque input. Vous voyez donc H c'est ce qu'on appelle les dendries les les les connexions ont un poids le paramètre le poids de de
107:49
Speaker A
c'est-à-dire et vous avez ici le neuron qu'est-ce qu'il fait ? il va d'abord faire une sommation la sommation, il va prendre x1 multiplié par W1 + X2* par W2 le poid le la connexion + X3* par W3, ben ça va vous donner une somme.
108:14
Speaker A
Donc vous voyez donc le neurone artificiel, il reçoit des entrées, il fait ce qu'on appelle une sommation pondérée, c'est-à-dire la somme des inputs fois le poids de chaque connexion la première. Et la deuxième étape, il va utiliser ce qu'on appelle une fonction
108:30
Speaker A
de seillage. Qu'est-ce qu'il fait la fonction de seage ? La fonction de siège, il va introduire ce qu'on appelle la ninearité parce que généralement les problèmes complexes ne sont pas linéaires. Donc pour introduire la non linéarité, qu'est-ce qu'il fait la
108:43
Speaker A
fonction de sillage ? Il va tout simplement tester. Par exemple, si la somme il la somme dépasse le seuil, il va la sortie ça va être 1. C'est c'est 1 sinon ça va être zéro. C'estàdire leur biologique on va émettre soit un signal
109:02
Speaker A
électrique le signal. Donc c'est à peu près ça. C'estàd si le som dépasse le seuil on va supposer que c'est c'est un sinon c'est zé et bien c'est ça c'est ça un neurone artificiel.
109:16
Speaker A
Donc le neurone artificiel maintenant les fonctions di le seage on peut utiliser une une quelque chose comme ça.
109:23
Speaker A
Si ça dépasse 05, 5, je fais 1, sinon c'est zéro. Mais il y a des fonctions, ce qu'on appelle des fonctions d'activation. Les fonctions de siè c'est ce qu'on appelle des fonctions d'activation. Et parmi les fonctions d'activation les plus populaires, les
109:38
Speaker A
plus utilisées, il y a sigmoï. Alors sigmoï donc c'est une fonction c'est ça, c'est 1/ exponentiel x.
109:47
Speaker A
Ça c'est la sigmaïde. Alors voyez donc cette valeur la sigmaï c'est une fonction qui varie entre 0 et 1. C'est-à-dire que quelle que soit la somme que vous allez avoir ici vous lui appliquez la fonction sigmoïde à la fin
110:00
Speaker A
ça va vous donner un nombre entre 0 et et 1. Et après par la suite donc entre 0 et 1 si ça dépasse 0,5 on va dire c'est 1. Si c'est inférieur à 0,5 c'est ça va être 0. Vous avez une fonction
110:15
Speaker A
d'activation qui s'appelle tangente hyperbolique alors tangente hyperbolique ça s'écrit comme ça 2 divis par 1 + exponentiel puissance - 2x - 1. Et après, il y a une fonction qui s'appelle reli Rio c'est très simple. f(x) é= 0 si
110:32
Speaker A
x est inférieur à 0 et égal à x même si c'est il est supérieur à à é alors c'est-à-dire pour r qu'est-ce qu'il fait t toutes tous les nombres qui sont qui sont inférieurs à zéro négatif il va les
110:47
Speaker A
rendre zéro et ce qui est positif il va il va le garder tel quel.
110:53
Speaker A
Donc c'est parmi les fonctions d'activation les plus populaires mais il y en a d'autres. Donc maintenant ça c'est un un un neuron artificiel et parmi les modèles les plus connus, il y a ce qu'on appelle le percepton. Alors en fait le perceptron
111:10
Speaker A
donc c'est un modèle vous voyez donc ça a été créé en 1957. Et maintenant votre intelligence, votre chat GPT, il fonctionne avec ce ce ce perceptron, c'est-à-dire avec des des neurones. Le principe en tout cas c'est donc c'est un perceptant, c'est quoi ?
111:30
Speaker A
C'est un classifiur binaire. C'est un classifiur binaire tout simplement. Qu'est-ce qu'il fait ? Il prend un ensemble un ensemble d'input, il fait la somme des inputs de manière pondérée avec les poids et puis il utilise une fonction d'activation et
111:46
Speaker A
cette fonction d'activation, il va me donner un output. Bon, la fonction d'activation, comme je disais, on peut utiliser une sigmoïde ha tangente hyperbolique ou bien rilo. Et bien tout simplement, c'est exactement ce que je viens de vous raconter, il fait la somme
111:59
Speaker A
et après il y a un seage en utilisant une fonction d'activation et et pris maintenant l'entraînement. Comment il fait l'entraînement ? Et ben l'entraîner, on va donner on va donner le le input. Voyz donc les input dans notre les input, il y a combien
112:17
Speaker A
d'entrées ? On a quatre variables d'entrée. C'est pas lente, c'est pas le 8, c'est pas le height. Donc on va donner x1, x2, x3, x4. Les valeurs au début les points on les connaît pas.
112:29
Speaker A
Donc on va prendre une valeur aléatoire. On va dire 0 n'importe quoi. On fait la somme et on applique la fonction d'activation. On va avoir output.
112:40
Speaker A
Maintenant, on va comparer le output qu'il a donné avec le output réel. la différence le output et celui qui l'a donné, ça va nous donner les l'erreur. Et maintenant paramètres les poids, les valeurs, je je change les poids et je
113:03
Speaker A
fais encore le travail, ça me donne le output. Je refais je refais je refais.
113:09
Speaker A
Imaginez, c'est comme si vous avez une boîte dans laquelle vous avez trois boutons, la quatre boutons, vous réglez, vous donnez input et vous regardez la sortie. Vous dites "Là c'est pas bon. Je je change le le réglage. Je je fais je
113:22
Speaker A
fais ça, je fais ça, je fais jusqu'à ce que trouve le les bonnes valeurs des poids, les connexions. Et quand je trouve les bonnes valeurs qui me donnent pour tous les exemples que j'ai, ça donne des des à peu près une sortie qui
113:36
Speaker A
est proche, ben je peux dire ça y est le le perceptron il a il est entraîné. Donc je lui donne le input, il me donne le output. Alors, sauf que on va pas changer Hashi de manière al parce que si
113:49
Speaker A
vous vous allez changer de manière aléatoire, vous allez rester là toute la vie. Donc a des algorithmes euh ce qu'on appelle euh les les algorithmes qui permettent de minimiser avec l'erreur.
114:02
Speaker A
Et parmi les les algorithmes, il y a euh ce qu'on appelle la descente du gradient. AC l'algorithme stocastique gradient descent la descente du gradient c'est l'un des algorithmes qui sont très populaires et qui permettent justement grâce à ces algorithmes de trouver
114:19
Speaker A
rapidement de trouver rapidement HC les poids qui vont minimiser les l'erreur c'est un algorithme qui est assez connu il est pas compliqué mais c'est un algorithme qui est utilisé par les réseaux neurones mais il y a pas que stoicque gradient
114:34
Speaker A
descente il y a d'autres algorithmes d'optimisation Adam. Euh, il y en a d'autres modèles qui sont très connus, qui sont utilisés. Les l'idée principale, c'est quoi ? On fait ce qu'on appelle euh le euh on fait on fait ce qu'on appelle
114:53
Speaker A
euh feed euh la plutôt rétro propagation propagation rétro. Voilà, c'est exactement ça. C'est la la propagation et la rétroagation. C'està-dire l'idée principale c'est que input ou qu ch la sortie, une fois que j'ai la sortie, j'ai l'erreur l'opération
115:19
Speaker A
inverse SGD, qu'est-ce qu'il fait ? l'erreur, il commence à revenir comme ça je et après il essaie de de corriger les poids et quand on arrive à on fait euh forward backward forward backwards jusqu'à ce qu'on trouve le le principe.
115:36
Speaker A
Bon, sans rentrer dans les détails, si vous voulez faire une implémentation from scratch de ça, pour les gens, c'est c'est bien de regarder mais ça sert à rien parce que les les librairies ont déjà il y a en fait ont implémenté ces
115:51
Speaker A
modèles. Mais ça c'est pour un un neurone H c'est quel neurone ça ? Ça c'est le percepton.
115:59
Speaker A
Mais pour modéliser un problème, ben un neuron n'est pas suffisant parce que si vous voulez euh avec un neurone, vous pouvez pas représenter des modèles complexes. Si vous avez un modèle linéaire simple, on peut le représenter par un perceptant. Mais par exemple,
116:15
Speaker A
dans notre cas, nous avons plusieurs variables avec un un classifieur. Bah, on va utiliser ce qu'on appelle un réseau de neurone. Et c'est quoi un réseau de neurone ? Bah, un réseau de neurone se compose de plusieurs couches.
116:27
Speaker A
Plusieurs couches de neurones. La première couche, c'est ce qu'on appelle la couche d'entrée. Donc c'est la couche qui va recevoir les inputs. Donc vous voyez donc ici chaque nor reçoit input.
116:39
Speaker A
Et les couches intermédiaires c'est ce qu'on appelle les couches cachées. Et la dernière couche c'est ce qu'on appelle la couche output. C'est la couche de sortie. Et comment ça se passe ? c'est que tous les neurones de chaque
116:52
Speaker A
couche sont connectés au neurones des couches suivantes. Par exemple, la sortie de ce neurone, il va vers les les input de tous les autres neurones et la sortie de ce neurone, il va vers les inputs de des autres des des couches
117:07
Speaker A
suivantes. Et la même chose ici, la sortie de ce neurone, il va vers les inputs de tous les autres neurones.
117:14
Speaker A
Et ben c'est à peu près on est en train de se rapprocher de ce qui se passe au niveau du cerveau. C'est une approximation. Et quand vous faites ça, c'est ce qu'on appelle vous êtes en train de de créer un modèle ce qu'on
117:27
Speaker A
appelle fly connected. Fly connecté, c'est-à-dire connecté entièrement. Ça veut dire quoi connecter entièrement ?
117:33
Speaker A
Chaque neurone de la couche est connecté à tous les neurones de la couche suivante. Ici, vous pouvez maintenant imaginer le calcul qui se fait.
117:42
Speaker A
Regardez, je donne ça les input, il fait ce point multiplie par ce poids plus euh la valeur euh plutôt plus ce x poids. Et vous voyez donc tous ces ces points là multipliés par les poids de ces connexions, le celui-là, il va faire la
118:00
Speaker A
somme et il fait l'activation. La même chose, la sortie, il va vers l'autre neurone et c'est tellement c'est tellement compliqué mais si vous cherchez à résoudre ce problème là, vous allez finalement c'est c'est la la solution, c'est un calcul
118:17
Speaker A
matriciel, c'est-à-dire pour trouver les poids de neuron, les poids. D'abord, si vous voulez entraîner ce modèle, il y a combien de il y a combien de paramètres combien combien de poids chaque connexion c'est un c'est un poids. C'est
118:31
Speaker A
pour GP modè généram 17 paramètres 17 bilions de connexion entre les normes vous imaginez plus le réseau est très grand plus le nombre de connexions devient très important plus vous allez avoir des matrices qui sont très gigantesqu et
118:58
Speaker A
plus vous aurez besoin d'utiliser des calculateurs qui ultra rapide. Donc pour faire et dans ce cas-là, on aura besoin d'utiliser les GPO. Les GPU, c'est des cartes graphiques euh qui contiennent des milliers de petits microprocesseurs et qui sont faites pour
119:13
Speaker A
accélérer le calcul matriciel. Faire parce que ADC SGD si vous voulez chercher les poids, il s'agit juste d'inverser des matrices, de calculer les déterminants de faire de l'algèbre linéaire et c'est comme ça qu'on peut trouver le les poids au moment de
119:29
Speaker A
l'entraînement. Et bien sûr, si vous avez beaucoup de input, beaucoup de neurones, le travail se se fait de manière itérative et ça ça prend un peu de temps. Voilà, ça c'est en résumé les réseaux neurones. Alors maintenant, si
119:41
Speaker A
vous voulez utiliser un un multilayer perceptron comme celui-là, ben on va le faire et on va regarder ce que ça va donner.
119:51
Speaker A
Alors la même chose vous allez faire from cycle learn neural network import mlp mlp multilayer perceptron. Alors bon si vous avez vu l'explication que je vous ai donné vous allez comprendre c'est quoi un c'est quoi un perceptron et c'est quoi
120:15
Speaker A
multilayer perceptant. Multilayer perceptran, c'est ça ? C'est-à-dire un perceptrant qui contient plusieurs couches et chaque couche, il faut choisir le nombre de neurones que vous voulez mettre. Bah du coup, donc c'est pour créer ce modèle, notre modèle ça va s'écrire
120:31
Speaker A
comme ça. Modèle est égal MLP classifier. Et après vous allez choisir maintenant. Voilà. Alors donc quand on crée un multilayer perceptant classifier, vous allez spécifier à paramètre, c'est euh voyez donc ici les les couches cachées. Alors déjà le
120:52
Speaker A
nombre de la couche d'entrée alors la couche la couche input la couche input on a combien les neurones parce qu'on a quatre variables quatre quatre quatre variables indépendantes n'est-ce pasoutput on a combien de neurones 3 parce que output la probabilité à la
121:26
Speaker A
fin output le premier par exemple c'estàdire la probabilité la classe la classe une le deuxème neurone il va me donner la la probabilité de la classe 2 et l'autre neurone il va me donner la probabilité de la classe 3 et je vais
121:44
Speaker A
prendre normalement si vous faites la somme des probabilités ça va vous donner 1. Et si vous utilisez la sortie comme ça, on utilise une fonction à la fin la sortie, on utilise W la fonction d'activation qui s'appelle soft max. Bah
122:00
Speaker A
soft max il vous donne des probabilités distribuées par rapport à différentes classes. Si vous faites la somme des probabilités, vous allez trouver. Donc c'est-à-dire dans notre cas, nous allons avoir la couche de sortie, c'est il y a trois classes. Il y
122:14
Speaker A
a trois classes, ça veut dire il y a trois neurones. Mais maintenant les couches cachées, c'est des hyper paramètres. Alors c'est à vous de mettre ce que vous voulez. Alors justement c'est ce qu'on va mettre ici.
122:25
Speaker A
On va dire par exemple je vais utiliser une couche input. La première je vais mettre par exemple 15 neurones. Je vais mettre 30 neurones. La deè je vais mettre par exemple 10 neurones et la trè je vais mettre par exemple 6.
122:41
Speaker A
Donc ici il y a mon réseau mon réseau maintenant il a fait les couches fait 5 input il y a trois couches caché plus output.
122:53
Speaker A
Alors maintenant après bon pour le moment ça c'est je vais le créer le modèle et vous faites la même chose ici.
123:04
Speaker A
Alors pour le reste fit. Alors ici donc vous avez pour ce ce réglage là vous avez 97 % et là c'est 93 %.
123:19
Speaker A
Alors ici vous avez un paramètre qui s'appelle le vous avez maintenant d'autres paramètres max iteration ça c'est important max alors ici normalement quand il fait l'apprentissage pour trouver les paramètres il cherche il cherche cherche mais dès qu'il atteint le par défaut il
123:41
Speaker A
va quitter alors ici donc vous allez vous allez mettre vous dites max il peut aller jusqu'à 3000 Vous voyez déjà vous avez euh amélioré, vous dites "Tu peux encore chercher à faire mieux, à trouver le le réglage par
123:57
Speaker A
exemple 10000 10000 alors je suis à une une performance de 98 % et après je vais lui dire je vais augmenter le nombre de Noron." Je vais mettre ici que peut-être pas toujours augmenté. Je vais mettre ici 22. Je vais mettre ici winon, je
124:17
Speaker A
vais mettre que deux couches. Et pour un problème plus simple, généralement comme ça, vous voyez donc pour un problème plus simple, vous n'avez pas besoin de mettre beaucoup de couches cachées. Mais pour des problèmes complexes, on va mettre
124:30
Speaker A
beaucoup de couches cachées avec beaucoup de neurones et après on détermine si vous voulez le le modèle le plus le plus approprié.
124:45
Speaker A
Il y a également le après maintenant il y a beaucoup de paramètres si vous voulez voir si vous voulez voir les paramètres de d'un modèle. Alors ici donc si je fais contrôle et je clique sur euh la classe
125:01
Speaker A
ben je trouve ici les paramètres. Tout ça c'est des commentaires. Tout ce qui est en rouge c'est des explications. Chaque paramètre ce qu'il contient. Alors si vous regardez par exemple, regardez c'est quoi la valeur par défaut de nombre
125:20
Speaker A
de les les couches. Si vous mettez rien par défaut, il va utiliser une seule couche avec combien de neurones ? 100.
125:27
Speaker A
L'activation, la fonction d'activation par défaut, c'est quoi ? Relio peut-être ici Relio ne ne n'est pas n'est pas bonne ben je vais utiliser ici activation égal par exemple sigmid il y a identité logistique rot tangent hyperbolique. Vous voyez,
125:50
Speaker A
donc vous changez le les fonctions d'activation sigmoï et vous cherchez euh ici le les ça c'est des hyperparamètres.
126:00
Speaker A
Maintenant, les réseaux neurones, ça résolve vraiment des problèmes complexes, mais à un moment donné, il faut il faut trouver les les bon les les épirp paramètres qu'il faut pour avoir ça. Il y a le kernel, il y a bon. En
126:15
Speaker A
tout cas, bon, pour ce genre de problème simple, généralement c'est déjà très bon. Vous voyez, on est déjà à 98 %. Euh on va pas mettre beaucoup de temps à trouver le bon réglage. Euh mais vous pouvez toujours vous vous amuser à
126:30
Speaker A
chercher jusqu'à ce que vous trouvez le le bon réglage. Et le le l'avant-dernier parce que quand même on a pris du temps. Quel les arbres de décision ? Alors les arbres de décision descision c'est également ils sont très utiles très
126:45
Speaker A
utilisés dans plusieurs domaines. Alors le principe des arbres de décision c'est quoi ? Regardez ici dans le les slides, vous allez trouver supposons supposons par exemple, je voudrais savoir est-ce que je vais est-ce que je vais porter avec
127:02
Speaker A
moi le le parapluie ou non ? La première des choses que je veux dire, je vais dire c'est le temps. Est-ce qu'il est plus vieux ? Est-ce qu'il est nuageux ou bien est-ce qu'il est ensoleillé ? Alors, je
127:16
Speaker A
fais d'abord un test pour moi. Donc, je vais voir le le c'est-à-dire le le temps. Alors, c'est les plus vieux, ça y est, j'ai déjà décidé. S'il pleut, ça y est, ça y est, j'ai donc je dois prendre le parapluie. S'il n si s' est
127:32
Speaker A
s'il n'est sinon s'il n'est pas s'il est ensoleillé. Donc c'est c'est vous voyez donc le le les les les arbres de décision la variable il va pas regarder toutes les variables qui la variable la plus importante et après il va dire s'il est
127:49
Speaker A
supérieur à cette valeur là ça y est donc c'est cette classe. Donc je n'ai pas besoin même parfois de regarder le c'està-dire il il arrive à décider assez assez facilement sur des caractéristiques mais par contre c'est sinon c'est nuageux alors si est nuageux
128:03
Speaker A
je dois encore voir est-ce qu'il est humide ou non s' est s'il est nuageux et humide je vais donc je vais prendre avec moi le le parapluie sinon je fais ça par exemple c'est pour attribuer les les motions les mentions par
128:18
Speaker A
exemple les motions par exemple pour des notes vous Vous allez dire si la note est inférieure à 10 point d'interrogation. Alors si la note est inférieure à 10 oui ou non ? Oui. Dans ce cas-là, est-ce que la note encore est-ce qu'elle
128:34
Speaker A
est inférieure à 7 ? Oui. Alors si c'est oui, c'est pas de rattrapage. Il y a plutôt euh Oui, c'est ça. Pas de rattrapage. Et s'il est supérieur, non, s'il est inférieur à 7, c'est rattrapage. Sinon, pas de
128:54
Speaker A
rattrapage. Alors, si s'il n'est pas c'est inférieur à 10, est-ce qu'il est maintenant inférieur à 12 ? Il est inférieur à 12. Donc pas de mention.
129:04
Speaker A
Sinon, est-ce qu'il est inférieur à 14 ? Dans ce cas-là, s'il est inférieur à 14, c'est mention bien. Si oui, est-ce qu'il est inférieur à 16 ? S'il est inférieur à 16, c'est c'est mentionne bien. Sinon, c'est mention très bien. Alors, ça c'est
129:21
Speaker A
vraiment un bon exemple pour expliquer l'algorithme des c'est comme ça qu'il fonctionne. Si oui, non, donc il crée ce qu'on appelle un arbre de décision.
129:30
Speaker A
Et donc si vous voulez utiliser donc le les arbres de décision, bah vous on fait la même chose.
129:38
Speaker A
From cycit learn point euh 3 import decision 3 classifier et puis vous faites la même chose. Donc vous fait vous créez le modèle.
129:59
Speaker A
Alors, decision 3 classifier et alors regardez une chose qui est sûre c'est que ces decision 3 dans la majorité des cas les données d'entraînement il va vous donner presque un. C'est-à-dire quoi ? Les données d'entraînement presque un.
130:18
Speaker A
C'est-à-dire c'est-à-dire pour les données d'entraînement c'est excellent. Mais les données de test parfois il vous donnent des des c'est-à-dire une prédiction qui est faible. Et si vous avez les données d'entraînement ça donne 1 et par exemple les données de test ça
130:35
Speaker A
veut 0,8 ça veut dire que vous avez overfitting. C'est-à-dire il s'est focalisé sur les données d'entraînement, il n'a pas cherché à généraliser. Bon pour lui les données, il cherche à trouver la courve qui va passer sur ces points-là et après bon ça c'est pas bon.
130:52
Speaker A
Donc si vous utilisez des signat, faites attention, il faut voir les pour les données d'entraînement et pour les données de test. Alors ici c'est bon parce que c'est un cas très simple parce que même pour les données de test on est
131:03
Speaker A
à 97 % et 97 % c'est c'est bon. Alors si vous cherchez à changer le le kernel, vous cherchez vous pouvez encore améliorer. Mais les les arbres de décision sont réputés sont réputés d'être de de tomber dans le overfitting,
131:24
Speaker A
le surapprentissage et dans le en fait dans le alors je vous ai donné le notebook ici.
131:48
Speaker A
classification. Alors ça c'est c'est des je pense. Ça c'est random forest et ça c'est ça c'est KNN MLP. Bon t tous ces exemples là vous les avez.
132:09
Speaker A
Alors ça c'est decision 3. Alors ce qui avec décision donc vous avez un paramètre qui s'appelle et plutôt c'est feature importance. Donc c'est-à-dire si vous voulez déterminer parmi les features quels sont les features qui ont plus de d'importance.
132:32
Speaker A
Alors, vous pouvez vous pouvez le vous pouvez le faire. Alors, ici donc ça devient un data frame si vous voulez. Je fais copiercoller parce que là c'est on est un peu Alors, vous allez juste prendre votre modèle contrôle X. Ah bon ça je laisse
132:54
Speaker A
je sépare. Alors vous prenez votre modèle et vous mettez feature importance et vous vous prenez les les noms des colonnes de X. Donc parce qu'on a on a notre X nom des colonnes et je vais créer un data frame dans lequel je vais
133:14
Speaker A
mettre bon pour ne pas compliquer la vie. Regardez d'abord si on affiche importance qu'est-ce que ça vous donne ?
133:26
Speaker A
Regardez donc la première fichure, la deuxè, la 3è et la 4e. Regardez ici quel est quelle est le la caractéristique qui qui est plus décisive pour pour décider est-ce que est-ce que c'est le c'estpâ ou bien euh ou
133:45
Speaker A
bien je me rappelle pas. Est-ce que c'est vergicolore ou je sais pas quoi. Et ben ici vous voyez c'est ça c'est la troisème. Et c'est quoi la la troisème ?
133:54
Speaker A
Alors ici donc c'est pour cela que je fais ici je fais les les noms des colonnes.
134:00
Speaker A
Je crée un data frame qui contient importance et les noms des colonnes, c'est les colonnes et je vais les classer. Je fais sort value c'est-à-dire je vais les classer par ordre d'importance. Alors donc voilà. Donc si j'affiche les les
134:16
Speaker A
importances, vous je vais avoir ici euh ça c'est df data frame, c'est mieux comme ça. Alors qu'est-ce que je vois ici ?
134:24
Speaker A
Donc je vois euh ici pétale lente centimè il est décisive à hauteur de 89 %. Ça c'est 0,08 et cetera. Donc finalement, si je vois bien, rappelez-vous, on avait parlé de PCA, donc PCA, c'est l'analyse composante principal.
134:45
Speaker A
Si on cherche parce qu'on a on a remarqué déjà qu'il y a une forte corrélation, il y a des corrélations entre les variables mais on voit déjà que il y a une variable rien qu'une variable toute seule il apporte à peu
134:57
Speaker A
près 90 % les informations. C'est-à-dire c'est déjà un signe comme quoi en réalité avec deux variables, on peut on peut régler le on n' pas besoin des quatre caractéristiques finalement peut-être on a besoin que de caractéristiques. Et si vous voulez
135:13
Speaker A
représenter ça, vous le représentez forme de de d'un graphique. Ça vous donne quelque chose comme ça. Alors, je vais initialiser ici l'index de du data frame. Ça me donne à peu près, il va ajouter une colonne qui s'appelle index qui représente qui
135:30
Speaker A
représente le nom des colonnes et la colonne importance qui qui montre l'importance. Et ça me permet de de représenter ça se forme de d'un graphique comme ça. J'utilise PLT plot.
135:52
Speaker A
Voilà. Donc ça me donne donc je fais un plot des c'est-à-dire l'importance de chaque caractéristique euh orientée horizontalement et ça me donne ça. Donc je vois déjà ici que pétale pétale lente en centimèt ça donne il a plus
136:11
Speaker A
d'importance le le dataset. Et enfin euh le dernier c'est les random forest parce qu'il faut pas rester là-dessus. Donc ici vous voyez donc ça c'est les arbres de décision. Autre chose, si vous voulez afficher l'arbre, l'arbre lui-même l'arbre, vous faites
136:38
Speaker A
ça. Alors ici, vous mettez votre modèle, faites une boucle plutôt ici euh tre point plot.
136:46
Speaker A
note c'est ça. Vous importez la fonction et vous faites plot tree. Vous lui donnez le modèle et vous me donnez la profondeur que vous voulez afficher, les noms des colonnes et la taille et cetera. Vous faites ça.
137:03
Speaker A
Alors si vous rappelez HC merci. Ah vous avez aussi le monsieur. Alors maintenant si vous voulez voir que votre modèle d comment il il décide lui il a il a il a créé son son arbre.
137:27
Speaker A
Alors si vous remarquez ici donc lui quand il a il a fait le l'apprentissage vous avez votre arbre ici c'est quoi de qu'est-ce qu'il fait la première des choses qu'il fait quand vous faites la prédiction il va regarder est-ce que
137:38
Speaker A
pétal laine centimè est-ce qu'il est inférieur à 2,35 est-ce qu'il est inférieur s'il est inférieur citrou bah il sait déjà quelle quelle classe c'est c'est même pas la peine de sinon il va tester par rapport à quoi est-ce que pétal est inférieur ou égal à
137:58
Speaker A
4,95. Donc avec fit, avec fit, c'est c'est avec fit, il il é cherche il essaie de trouver l'arbre qui permet de de décider. C'est à peu près ça. Donc je pense ça vous donne une idée. Et pour terminer donc vous avez le random
138:17
Speaker A
forest. Alors les forêts aléatoires. Alors c'est quoi le principe des forêts aléatoires ? Regardez ça c'est voilà. Alors, les forêts aléatoire, l'idée principale c'est quoi ? Vous savez que les les arbres de décision le problème c'est que vous avez un dataset
138:40
Speaker A
qui est très grand. Donc là, il s'agit de trouver un arbre qui est très qui est énorme, n'est-ce pas ? Un arbre de décision qui est énorme. Alors, avec les forêts à qu'est-ce qu'on va faire ? On va prendre un
138:54
Speaker A
dataset et bien on va faire des des sous échantillons. Je prends une partie d'un dataset le premier échantillon, le premier groupe, le deuxè, le 3è et chaque chaque échantillon, je vais prendre par exemple si un dataset qui contient 3000, n'est-ce pas ? Je vais
139:12
Speaker A
prendre le premier échantillon de 2000, le 2è, le 3è et pour chaque sous-échantillon, je vais créer un arre de décision.
139:22
Speaker A
C'estàd au lieu de de créer un arbre de décision qui est très grand, je vais créer trois arbres de de décision les forêt parce que un arbre bon c'est des forêts aléatoires mais sauf que ce que je viens de dire c'est
139:35
Speaker A
pas vrai parce que par exemple l'échantillon je peux sélectionner des données qui vont se retrouver dans les deux les deux ensembles. C'est-à-dire on se permet de répéter les mêmes les mêmes les mêmes lignes dans plusieurs arbres. On crée
139:49
Speaker A
plusieurs arbres de décision. On va entraîner chaque arbre de décision. Et quand on veut faire la prédiction, qu'est-ce qu'on va faire quand on fait la prédiction ? On va don demander à l'arbre 1 est-ce qu'il s'agit de la
140:02
Speaker A
classe A ou la B ou la C ? Il va me dire que ça c'est la classe A. Le deuxème arbre, il va me dire ça appartient à la classe B, à la classe A. Et le troisème, il va me dire ça appartient à la classe
140:13
Speaker A
B. Et qu'est-ce que je vais prendre ? Je vais faire ce qu'on appelle un vote soit le vote il il a qu'un deux arbres qui vont me dire que c'est la classe A, je vais prendre la classe A. Ben ça c'est
140:23
Speaker A
le principe de random forest. Random forest. Alors bon sans rentrer dans les détails, les algorithmes de random forest des algorithmes ce qu'on appelle de bagin.
140:38
Speaker A
C'est des ensembles. C'est-à-dire Ouais. Donc les sous échantillon il il dépend de quoi exactement de data. Non, je prends par exemple, regardez dans notre cas, nous avons 150 lignes, n'est-ce pas ? J'ai 150 lignes. Qu'est-ce qu'il va faire Rand dans Forest ? Il va prendre
140:55
Speaker A
par exemple 15 lignes, n'est-ce pas ? Les les 15 lignes, il crée un un un un S dataset. Les 15 lignes suivantes, c'est un autre sous dataset et cetera. Donc il va créer plusieurs sousdataset et pour ces 15 lignes il crée un arbre de
141:12
Speaker A
décision, n'est-ce pas ? Pour ces 15 lignes, il crée un autre arbre de décision et et il va faire ça pour créer plusieurs. On il va pas créer trois ou quatre, il va créer plusieurs. Et il se trouve que parfois il y a des lignes qui
141:26
Speaker A
se trouvent dans cette cet arbre. il y a des des qui vont se répéter dans plusieurs lignes. Donc c'est-à-dire les chantiers, il peut être répété dans plusieurs ceux ensembles. Et après des moments parce que c'est quoi le problème
141:37
Speaker A
des arbres de décision ? C'est quand vous avez beaucoup de lignes, il y a overfitting. Parce que les arbres de décision, si vous avez beaucoup de beaucoup de de d'exemples on va tomber dans le problème de le surapprentissage.
141:49
Speaker A
Donc au lieu de créer un arbre de décision qui avec beaucoup de d'échantillons, on va découper notre ensemble. On a un ensemble deéchantillons. Pour chaqueéchantillon, on va créer un arbre de décision. Et comme c'est un euh c'est un arbre de
142:05
Speaker A
décision qui contient pas beaucoup de d'échantillons, on va pas tomber dans ce problème de surapprentissage. Mais comment comment ça va ? Est-ce qu'on va faire confiance ? Et bien, on va faire un vote. J'ai par exemple 20 sous 20 arbres de décision.
142:20
Speaker A
Si par exemple 15 me dit me disent que c'est c'est bon, c'est c'est 1, bah je veux dire c'est 1. Donc c'est à peu près ça. C'est c'est pas aussi compliqué que ça mais c'est un algorithme qui marche
142:31
Speaker A
bien aussi. Alors on va l'appliquer et comme ça on aurait fait le tour de des algorithmes les plus le plus courant.
142:40
Speaker A
Pour le nombre d'arbres, le nombre d'arbres c'est c'est c'est un hper paramètre. C'est un paramètre. la même chose. Vous pouvez dire le maximum d'arbres que vous voulez faire, vous pouvez le fixer. Sinon, il le fait de manière euh vous lui laissez, il va
142:51
Speaker A
trouver un peu le la config qu'il qu'il faut. Alors ici donc je on va utiliser from cyc learn. Alors euh je sais pas si c'est random forest.
143:06
Speaker A
C'est c'est non c'est bagin. C'est c'est ensemble. Ensemble ensemble. Importe random forest classifier. Et vous savez maintenant on fait la même chose. Donc je prends ici ça prendre C. Donc ici donc je fais random forest classifier.
143:34
Speaker A
Oui oui bien sûr. Alors vous voyez ici donc j'ai quelque chose 100 % pour les données d'entraînement et 9 à peu près 98 % pour les les données de test et après vous faites vos vos conclusions.
143:48
Speaker A
Donc euh si vous voulez en en résumé euh donc ici vous allez nous sommes dans un cas relativement plus simple. C'est le dataset que nous avons fait nous avons quasiment un cas qui est linéaire. Donc on a vu que la majorité des modèles ont
144:03
Speaker A
donné des des résultats qui sont relativement très bons. Euh mais réellement vous voyez donc tout ce que je viens de vous faire copiercoller copier coller copiercoller, c'est la même chose. Mais au lieu de faire au lieu de faire copiercoller copie coller
144:17
Speaker A
copie coller, ce qu'on fait généralement on crée une seule fonction qui fait les opérations et on va faire une boucle. On va dire pour les modèles ça et ça et ça et ça. Fais-moi le travail.
144:30
Speaker A
Bah du coup donc vous allez avoir pour chaque modèle quelles sont les performances de chaque de chaque modèle et à la fin vous allez dire bah vous allez dire tout simplement quel est le modèle qui donne le meilleur résultat.
144:42
Speaker A
vous allez dire pour moi, je vais opter pour KNN ou là pour et cetera.
144:48
Speaker A
Et puis après par la suite si vous voulez améliorer euh il y a des il y a des algorithmes qui permettent de chercher les hyperparamètres.
144:59
Speaker A
C'est-à-dire parce que les hyperparamètres, comme je dis, c'est quelque chose de euh de empirique.
145:05
Speaker A
Empiriérique, c'est-à-dire je change, j'exécute et je regarde jusqu'à ce que je trouve le bon réglage. Mais il y a il y a des algorithmes euh qui vont vous permettre de dire supposant je voudrais faire varier le le cas de Kn jusqu'à 20.
145:21
Speaker A
Ouais, il il va faire des boucles, des boucles, des boucles jusqu'à ce qu'il trouve le la valeur du de l'hppire paramètre qui qui vous donne le meilleur résultat. Ah, parmi ces algorithmes, il y a ce qu'on appelle grid search, c'est
145:34
Speaker A
très connu. Alors, ça c'est on aura l'occasion dans des des exemples par la suite de l'appliquer, mais je pense euh que ce cet exemple là, ça résume un peu ce que ce que nous nous avons fait sur la
145:48
Speaker A
classification. Alors juste un dernier point peut-être que vous allez ajouter supposons vous voulez réduire la dimensionnalité di le le modèle. Donc on a déjà vu que pour réduire la dimensionnalité de de du dataset on va utiliser quoi ? PCA.
146:09
Speaker A
Alors PCA donc vous avez euh le clasurine, ben le principe le principe il est il est il est simple. Ben je fais tout simplement je vais importer d'abord PCA.
146:34
Speaker A
Alors, from it learn. Alors, dans quelle catégorie, vous me rappelez PCA, c'est dans quelle catégorie euh décomposition. Import PCA. Alors, on va dire PCA. Je voudrais par exemple euh créer PCA. Donc, je voudrais représenter Oui, allez-y. Il y a pas de
147:04
Speaker A
souci. Prenez votre temp. Alors donc le nombre de composantes ici, je vais dire je veux représenter mon dataset uniquement avec de composantes principales. Alors ici donc il va il va vous donner les composantes principales et puis donc pour afficher les
147:24
Speaker A
composantes donc on va Oui. Allez-y. Alors avec deux composantes principales, je vais avoir expé de variance ratio et je vois par exemple la première composante elle elle seule c'est 92 % c'est-à-dire déjà h la composante principale au lieu de représenter mon
147:51
Speaker A
dataset avec quatre variables, je vais le représenter avec deux variables. Alors si je fais la somme 92 plus ça, ça va me donner à peu près 93 %.
148:01
Speaker A
C'est-à-dire avec deux variables, je vais capter 93 % des informations qui se trouvent dans les les l'ensemble des features. Et si je fais encore fit avec ces ces ces ces caractéristiques ces composantes principales. Si je fais encore, je crée le modèle, je l'entraîne
148:21
Speaker A
et si je vois que le modèle il me donne il me donne toujours 0,98 ou bien 0,99 %, ben je vais dire que avec deux composantes principales, c'est c'est suffisant. Mais dans cet exemple là, est-ce que nous avons besoin de de faire
148:35
Speaker A
PC ? Non, parce que vous avez que quatre caractéristiques, il y a pas de il y a pas de il y a pas de problème. Mais dans le deuxème exercice et ça je pense je vais le commencer parce que là dans le
148:47
Speaker A
deuxème exercice nous avons un dataset un peu euh je pense qu'il est très intéressant W le dataset que vous voyez là.
148:56
Speaker A
Euh alors ce dataset euh je vais vous le partager et je reviens directement vers le ici. Je l'ai appelé d'ailleurs, j'ai fait quelques investigations sur ça.
149:13
Speaker A
Voilà, c'est celui-là. Alors, je vais pas tarder donc je vais vous donner après. Bon, regardez donc je prends le dataset. Le dataset c'est un CSV comme je disais. Donc ce dataset il il permet de décrire c'est la caractérisation la
149:33
Speaker A
caractérisation euh di les les génétiques di le cancer du cerveau. Il y a trois types de il y a trois types de cancer.
149:44
Speaker A
Alors, si vous chargez ce dataset là, si vous faites ça, vous allez trouver quoi ? Regardez, vous allez trouver d'abord le le type le type le le concert. Vous allez trouver il y a combien regardez chip. Regarde, il y a combien de lignes
150:00
Speaker A
? 130 il y a combien de colonnes ? Regardez 5467 les les les ce qu'on appelle les marqueurs, c'est parce que les biologistes, il y a des biologistes ici parce que généralement quand alors quand vous vous essayez de
150:22
Speaker A
faire les analyses donc vous captez des des marqueurs. Donc ici donc les les toutes ces caractéristiques là c'est des c'est des gênes. Et donc et finalement il y a des analyses qu'ils font qui permettent de de relever jusqu'à voyez donc le dataset
150:36
Speaker A
54 467 gènes. C'est-à-dire vous avez beaucoup de de colonnes. Alors si vous faites info, vous allez trouver euh que ici vous allez trouver il y a une colonne qui est de type object, c'est-à-dire qui contient du texte. Il y a des types mais les autres
150:56
Speaker A
c'est des valeurs numériques. Alors si vous cherchez le nombre de valeurs unique la colonne simple, vous voyez ici simple, je sais pas ce que c'est. Est-ce que c'est juste un identifiant à ID ou bien c'est une valeur vraiment qui a un
151:12
Speaker A
sens ? Donc je vois ici 834 835. A priori c'est juste un numéro. Échantillon. Ouais. Non c'est pas les échantillons, c'est juste un numéro. Num de l'échantillon. C'estel les numéros de la ligne, c'est un un identifiant qui ne
151:25
Speaker A
sert à rien. Mais pour savoir est-ce que c'est est-ce que c'est ça, ben je vais utiliser une unique. C'est-à-dire sur simple, il y a combien de valeurs unique ? Il y a 130. 130 il y a combien de
151:37
Speaker A
lignes ? 130. Il y a combien de valeurs différentes di la valeur ? C'est 130.
151:43
Speaker A
C'est-à-dire finalement si vous regardez les valeurs, vous allez trouver juste 1 2 3 4 c'est un numéro. Donc c'est une façon de dire que cette colonne là bon il sert à rien. Alors on va on va regarder la colon
151:54
Speaker A
type. Donc la colon type si vous faites value count vous allez trouver que il y a ici le type di le concert qu' alors maintenant il y a épine diamoma il y a 46k il a 46k j'ai glioblasma blastona et
152:14
Speaker A
cetera 34 cas j'ai le trè c'est médyoblastoma 22 il y a pyocyque astro Alors maintenant bien sûr qu'on fait un data donc il va te dire ça c'est un type de concert. Bon en tout cas c'est le métier mais regardez il y a normal
152:39
Speaker A
normal c'est-à-dire c'est les tissus sains, c'est-à-dire qu'ils ne sont pas malades. Il y en a 13. Donc ça c'est un bon exemple de classification. Je l'ai juste tout à l'heure che téléchargé le matin. J'ai fait des investigations mais
152:52
Speaker A
j'ai trouvé c'est intéressant. Regardez, je je vais représenter euh ici. Donc je vois ici pour chaque Hicue count dont je vous ai parlé tout à l'heure. Je vois par exemple pour cette catégorie, j'en ai 46.
153:08
Speaker A
Là, j'ai 34, je vois déjà que le dataset n'est pas équilibré, n'est-ce pas ?
153:14
Speaker A
Parce que il y a combien de cas normal ? C'est 13. Euh, il y a 15 ici, 22. Pour un un datas 7et qui n'est pas équilibré.
153:23
Speaker A
Alors, on va faire la même chose. C'est du text, on va faire label encoder. Donc c'est ce que je vais faire ici. Donc je fais label encoder encoder fit la colon type. Je vais créer une autre colon que
153:38
Speaker A
je vais appeler outcome. J'applique exactement ce que je viens de faire tout à l'heure. Donc si je regarde le outcome, alors si je regarde donc la colonne outcome pour les cas qui sont normals, je vois par exemple le label
153:54
Speaker A
qu'il a attribué, c'est c'est 3. OK ? Bon, c'est juste pour voir par exemple le le 0, ça représente quoi ? Le 1 représente quoi ? Et le et cetera.
154:06
Speaker A
s'il vous plaît. Oui. Comment on peut savoir qu'un datet équilibré ? C'est le nombre de classes. Regarde le dataset.
154:14
Speaker A
J'ai combien de classes ? J'ai il y a combien de de de types de concert ? 1 2 3 4 et il y a combien de cas normal ?
154:23
Speaker A
Alors dat les échantillons, les personnes qui sont qui ne sont pas malades, il y en a 13. Combien qui ont le concert ? Ce type de concert c'est 15 ou combien qui ont ce type de cancer ? C'est 22. Alors le
154:39
Speaker A
le le dataset n'est pas équilibré. Pourquoi ? Parce que le nombre de malades normalement équilibré ça veut dire quoi ? Le nombre de normal le et le nombre de chaque le nombre de d'échantillons doit être égal.
154:52
Speaker A
C'est-à-dire ici si j'ai 46 devrais chercher encore cas de de ce cas-là. OK. les mêmes les mêmes valeurs équilibré ça veut dire c'est les mêmes valeurs chez différence non c'est la même c'est équilibré c'est presque la même chose à vrai dire mais est-ce que
155:13
Speaker A
la médecine mais on peut pas avoir un dataset équilibré je peux pas je peux pas trouver parce que pour trouver des malades si si vous trouvez déjà 15 cas comme ça c'est les médecins c'est c'est pour eux c'est une étude très large.
155:26
Speaker A
Souvent dans le dans les études médicales, vous avez par exemple le cancer, tu vas pas chercher tu as un dataset généralement qui n'est pas équilibré, c'est-à-dire le nombre de personnes qui sont cancéreuses et qui ne sont pas cancéreuses, peu
155:41
Speaker A
importe parce que c'est pas comme dans le cas de l'électronique, je fais des échantillons, je change et cetera mais là dans la médecine c'est des personnes, bah il faut il faut les chercher hein, il faut il te faut des des vrais
155:52
Speaker A
patients. Donc tu as un dataset ici qui n'est pas équilibré, c'est pas un problème. C'est juste dire pe si quand vous allez faire le la métrique, vous n'allez pas utiliser écurcur ne peut pas ne vous donne pas il
156:07
Speaker A
faut choisir soit rcole soit précision. Bon après ce que j'ai fait, j'ai fait donc stand plutôt les label encoder et puis j'ai créé le le Y outcome et le X. Qu'est-ce que j'ai supprimé ? J'ai supprimé la colonne
156:26
Speaker A
simple et j'ai supprimé la colonne type. J'ai fait les statistiques avec des scries, ça vous donne des valeurs. Ici, il y a pas de valeur mon compte.
156:37
Speaker A
Alors, je représente les caractéristiques ici. Bon, je fais une boucle comme tout à l'heure. Je vois que la majorité des caractéristiques, c'est à peu près c'est de des distributions normales. Là, je représente ici X une une feature en fonction de Y. Je fais
156:54
Speaker A
scatter plot. Je vois par exemple 3, c'est normal. Je vois par exemple pour cette caractéristique là ce gène, je vois par exemple normal c'est ici 3. Je vois que par exemple pour ce gène, les valeurs des gens qui sont
157:09
Speaker A
normaux sont comprises entre cette valeur et cette et cette valeur. Donc ça me donne à peu près une idée sur peut-être déjà parce qu'en fait les dans les statistiques, il faut toujours faire ces investigations. Cherchez peut-être qu'il est quel est le jeûne qui peut
157:28
Speaker A
vous donner plus d'indications est-ce que déjà il y a une maladie ou pas ?
157:30
Speaker A
Parce qu'il y a quand même 57000 gènes. Donc bon, si vous cherchez, vous allez trouver. C'est pas évident. La même chose, je fais ça par rapport à une autre caractéristique. Et après je vais faire logistique. Je vois que statistiquement je peux pas trouver,
157:45
Speaker A
c'est compliqué mais c'est quoi la solution ? machine, c'est l'apprentissage automatique. Donc j'ai je vais créer logistique regression euh et ben je fais la même chose.
157:56
Speaker A
Split, je fais split mais là bon, je suis déjà passé à KNN mais j'ai testé les tous les les autres. Je fais fit et par exemple KNN ça donne un taux de performance de 92 %.
158:11
Speaker A
Mais j'étais étonné que Logistic Regrtion et les autres donnent des performances dès le départ presque de 1 % 99 %. C'est-à-dire que euh ici donc ça c'est un cas normalement vous avez plusieurs features mais euh j'ai testé euh vous faites le même travail avec
158:31
Speaker A
KNN, avec par exemple Multilayer Perceptron, avec euh SVM et ça va vous donner une idée. Et en fait, je n'ai pas terminé toute toute l'étude donc j'ai fait quelques investigations. Je vous laisse le début et je vous demande vous de le de le
158:49
Speaker A
compléter, de regarder. Peut-être vous allez faire sortir de des publications. Oui, pourquoi pas ? parce que y j'ai trouvé le dataset mais j'ai pas trouvé vraiment une étude qui qui machine learning sur ça. J'ai trouvé des études statistique mais je vois déjà que des
159:08
Speaker A
modèles de machine learning ça ça donne peut-être des résultats qui sont intéressants. Et après ce qui serait intéressant c'est d'ajouter maintenant euh PCA parce qu'il y a là oui nous avons beaucoup de features et on va utiliser PCA. On va on va regarder le
159:25
Speaker A
réduire la dimensionnalité euh avec par exemple euh de 50 % et on on réent le modèle et si on arrive à trouver un modèle qui est plus performant avec une dimensionnalité qui est réduite et ça c'est intéressant.
159:41
Speaker A
Je pense qu'on va s'arrêter à ce niveau-là parce que j'ai trop parlé et surtout je sais que c'est pas évident parce que même on n' pas pris la pause parce que le le vidéo projecteur nous a capturé un
159:54
Speaker A
peu le mais voilà. Bon, je pense que ça c'est une révision. C'est une bonne révision pour déjà la partie machine learning, les bases de machine learning.
160:06
Speaker A
Et la prochaine fois donc nous allons passer à autre chose parce que il faut qu'on arrive à la partie liée générative de avec le prompt engineering. C'est encore plus simple à faire mais ça donne encore beaucoup de de choses très
160:19
Speaker A
intéressantes. Donc nous allons essayer de de voir aussi le les I agents. Ça c'est des techniques qui sont très pratiquées maintenant dans des problèmes de de l'IA et tout ça c'est quelque chose qu'on va faire dans les prochaines
160:31
Speaker A
séances inchallah. Voilà. Alors, si vous n'avez pas de questions, on va s'arrêter à ce niveau-là.
160:44
Speaker A
Ah bah, je vois je vois les Alors, n'oubliez pas de marquer votre présence, s'il vous plaît et après vous pouvez partir dans la zone chat, vous mettez présent et après vous pouvez partir.
160:58
Speaker A
Merci monsieur. Alors, comme d'habitude, je je vous partagerai l'enregistrement. Il est là. Et je vous conseille de revoir cette révision là comme ça la prochaine fois on aura on par on parlera le même langage. plus important, c'est quand on
161:13
Speaker A
parle le même langage, c'est déjà
Topics:intelligence artificiellemachine learningapprentissage superviséclassificationdataset IrisKaggleexploration de donnéesréseaux de neuronesalgorithmes de classificationbiologie computationnelle

Frequently Asked Questions

Quels sont les principaux types d'apprentissage en machine learning abordés dans cette vidéo ?

La vidéo présente l'apprentissage supervisé, non supervisé ainsi que le reinforcement learning, avec un focus sur la classification, la régression, le clustering et la réduction de dimensionnalité.

Pourquoi le dataset Iris est-il souvent utilisé en machine learning ?

Le dataset Iris est un classique car il est simple, bien documenté et permet de tester rapidement des algorithmes de classification sur un problème à plusieurs classes avec des caractéristiques mesurables.

Quels outils sont recommandés pour implémenter les modèles présentés dans la vidéo ?

Le professeur recommande d'utiliser des environnements de développement comme Visual Studio Code ou Google Colab, ce dernier étant particulièrement accessible pour débuter sans installation complexe.

Get More with the Söz AI App

Transcribe recordings, audio files, and YouTube videos — with AI summaries, speaker detection, and unlimited transcriptions.

Or transcribe another YouTube video here →