Part 2 – Bases de l’Intelligence Artificielle – Classif… — Transcript

Cours sur la classification en intelligence artificielle, couvrant apprentissage supervisé, classification binaire, multiclasse et multilabel.

Key Takeaways

  • La classification est un problème central du machine learning supervisé avec des applications variées.
  • Il existe plusieurs types de classification : binaire, multiclasse et multilabel, adaptés à différents contextes.
  • La compréhension des données étiquetées est essentielle pour l'apprentissage supervisé.
  • Les activités pratiques sont cruciales pour assimiler les concepts et appliquer les modèles.
  • La distinction entre régression et classification repose sur la nature de la variable cible.

Summary

  • Introduction aux concepts de base de l'intelligence artificielle et du machine learning.
  • Rappel des techniques d'apprentissage : supervisé, non supervisé, auto-supervisé et par renforcement.
  • Présentation détaillée de la régression linéaire avec un cas pratique de prédiction des prix immobiliers.
  • Importance des activités pratiques avec notebooks pour maîtriser les concepts.
  • Définition et explication de la classification comme méthode d'apprentissage supervisé.
  • Exemple concret de classification binaire : détection de transactions bancaires frauduleuses.
  • Différenciation entre régression (variable continue) et classification (variable qualitative).
  • Présentation des types de classification : binaire, multiclasse et multilabel.
  • Exemples d'applications pour chaque type de classification (spam, maladie, reconnaissance d'animaux, objets dans une photo).
  • Encouragement à suivre les exercices pratiques pour bien comprendre les étapes de modélisation.

Full Transcript — Download SRT & Markdown

00:06
Speaker A
Bien, alors bonjour tout le monde. Donc, bon, à nouveau, je suis très heureux de reprendre le cours. Alors, je rappelle juste rapidement, la dernière fois, on a fait une partie qui est extrêmement importante parce qu'il fallait d'abord parler des concepts de base de l'intelligence artificielle. Bah, c'est quoi l'intelligence artificielle ? C'est quoi l'intelligence artificielle distribuée ? C'est quoi en fait le machine learning ? Il y a symbolique globalement et surtout, donc au niveau du machine learning, donc nous avons parlé des différentes techniques d'apprentissage, à savoir l'apprentissage supervisé dans lequel il y a deux parties, donc il y a la régression et la classification, l'apprentissage non supervisé et l'apprentissage autosupervisé. Et puis donc, nous avons parlé de l'apprentissage piloté par les événements, c'est-à-dire en fait le concept de base de ce qu'on appelle l'apprentissage par renforcement. Nous avons également parlé globalement de despurine et de l génératif. Donc, cette première partie-là, ça nous a donné un peu, on va dire, un paysage pour quelqu'un qui va débarquer dans le domaine de l'intelligence artificielle. Il doit regarder ce slide-là parce que tout simplement, c'est un plan d'apprentissage. Donc ça, on a à peu près les différentes techniques qu'on va utiliser dans notre cours. Et puis donc, nous avons détaillé, donc nous avons détaillé en fait la régression, particulièrement la régression linéaire. Donc, nous avons vu ce que c'est la régression et nous avons vu comment en fait créer un modèle de régression linéaire, notamment avec un cas d'usage, notamment c'est la prédiction des prix des appartements ou bien des maisons. Donc, nous avons fait ce cas. Et donc, tout ça, toute cette partie-là avec les démonstrations, donc pour bien démarrer. Donc, je pense cette première partie est très importante. Alors, l'enregistrement vidéo pour ceux qui ont raté le cours de la dernière fois, il est sur Classroom. Donc, vous pouvez regarder. Et donc, sur Classroom, j'avais aussi déposé une activité pratique. Donc, en fait, parce que ça, c'est en fait parce que mon objectif, c'est que, en tout cas, c'est que, à la fin, que vous soyez en fait en mesure de maîtriser, c'est-à-dire les concepts de base de l'intelligence artificielle. Donc, si vraiment vous voulez atteindre l'objectif, parce que quand même, on a que, en fait, c'est une vingtaine d'heures, mais j'ai expliqué la dernière fois qu'on va faire plus de charges horaires. On va essayer d'ajouter des séances sûrement parce qu'il y a la partie du génératif qu'on va ajouter dans ce cours Bic. Donc, le temps un peu, si vous voulez atteindre l'objectif à temps, il est très recommandé de faire en fait les activités pratiques, c'est-à-dire d'essayer. Alors, pour chaque activité pratique, ce que je fais, je vous donne un notebook, un exemple d'application qui est déjà fait, hein. Donc, c'est-à-dire vous avez quasiment un problème avec une solution, avec le code qui est dedans. Et donc, tout ce qui est demandé dans un premier temps, c'est d'abord de reprendre le même cas et de le comprendre et de l'exécuter dans votre environnement. Et surtout, donc, vous le commentez vous-même et à chaque étape, donc vous la commentez. Donc, dans un premier temps, je vous demande pas d'inventer des choses. On ne va pas vous demander d'inventer en fait des... Tout ça, on va voir, il y a un projet à la fin sur lequel on va travailler, mais j'estime que c'est très important. Donc, l'activité pratique, elle est dans la partie travaux et devoirs. Donc, vous avez ici le lien déjà de la vidéo de la démonstration que je vous ai faite. Donc, c'est-à-dire reprendre les exemples déjà qu'on a faits en classe. Et puis donc, vous avez un notebook qui est un peu plus détaillé. Ça vous donne une idée à peu près comment on adopte, on aborde un problème de régression. Donc, honnêtement, pour quelqu'un qui fait cet exemple-là, qui suit un peu les consignes de cet exemple, c'est que quasiment il a une idée comment aborder un problème de régression de A à Z, y compris tout ce qui est l'analyse des données, la création, l'évaluation du modèle et tout ça. Donc, ça c'est pour le cours. Donc, il est déjà partagé, l'enregistrement, vous allez le trouver de la dernière séance, il est déjà sur Classroom. Et là, maintenant, on recommence, on va passer maintenant à une nouvelle partie de cours qui concerne la partie classification. Donc, on avait fait la partie régression. Aujourd'hui, donc, on va s'intéresser à la classification, qui est l'un des problèmes les plus courants dans le domaine du machine learning, de l'apprentissage automatique. Alors, je rappelle juste que quand on parle classification, d'abord, c'est une méthode d'apprentissage automatique supervisée dans laquelle on va tenter de prédire l'étiquette correcte pour une donnée d'entrée. C'est-à-dire, nous avons en fait des inputs et après, par la suite, vous avez dans notre cas le output. Ça va être tout simplement une variable catégorique, c'est-à-dire une variable qualitative dans laquelle vous avez des étiquettes. Alors, par exemple, j'ai présenté déjà l'exemple. Par exemple, j'ai un dataset dans lequel je voudrais prédire, par exemple, est-ce qu'une transaction bancaire est frauduleuse ou non ? Alors, dans ce cas-là, ici, donc j'ai un dataset pour lequel j'ai les variables, c'est l'heure par exemple de la transaction, l'action, le montant de la transaction, longitude, latitude, c'est-à-dire l'endroit où la transaction a été faite. Et je voudrais... Donc, j'ai un dataset dans lequel, par exemple, pour ces données-là, c'est une transaction non frauduleuse, ça c'est une transaction frauduleuse, et cetera, et cetera. Donc, j'ai un dataset qui est étiqueté déjà. Quand je parle apprentissage supervisé, j'ai des données qui sont étiquetées, c'est-à-dire je connais les inputs et je connais les outputs. Alors, dans le cas de la régression, donc le output, c'est une valeur quantitative, c'est-à-dire c'est une variable continue. Et dans le cas d'une classification, c'est une variable qualitative, c'est-à-dire dans laquelle vous avez tout simplement une variable, c'est-à-dire vous avez des étiquettes qu'on va produire. Alors, dans notre cas ici, donc on va prédire soit 0, soit 1, c'est-à-dire soit qu'il est frauduleux ou non. Alors, j'ai ici l'exemple ici, voilà, j'ai la classification, par exemple, ce cas d'une transaction frauduleuse, et est-ce que c'est oui ou non ? Donc, on va dire c'est un classifieur binaire parce qu'en fait, à la fin, on va classifier si la transaction est frauduleuse ou non. Par exemple, classifier si, par exemple, prédire si un patient est malade ou non, est-ce qu'il y a présence, par exemple, une présence ou pas ? Est-ce qu'un, par exemple, un email, est-ce que c'est un spam ou bien ce n'est pas un spam, et cetera. Alors, ça, c'est ce qu'on appelle un problème de classification binaire. Alors, nous allons voir comment adopter, comment aborder plutôt la classification binaire, mais également il y a ce qu'on appelle les classifieurs multiclasse. La classification multiclasse, c'est le fait de prédire, par exemple, un exemple ici, prédire la classe d'appartenance d'un animal. Par exemple, j'ai un animal avec ses caractéristiques et je voudrais prédire est-ce qu'il s'agit d'un chien ou bien d'un chat ou bien d'un cheval, et cetera. Donc, j'ai un ensemble de catégories de labels que je vais utiliser. Dans ce cas-là, on parle de ce qu'on appelle la classification multiclasse. Et puis, vous avez la classification multilabel. Alors, c'est-à-dire quoi ? C'est-à-dire que dans notre cas ici, par exemple, vous avez un exemple, c'est toujours bien de travailler avec des exemples, prédire par exemple la liste des objets qui se trouvent dans une photo ou un texte, pa...
00:24
Speaker A
parler des des concepts de base de l'intelligence artificielle bah c'est quoi l'intelligence artificielle c'est quoi l'intelligence artificiel distribué euh c'est quoi en fait le le machine learning il y a symbolique globalement et surtout donc au niveau du machine
00:38
Speaker A
learning donc nous avons parlé des différentes techniques d'apprentissage à savoir la l'apprentissage supervisé dans lequel il y a deux il y a il y a deux parties donc il y a la régression et la classification l'apprentissage non supervisé et l'apprentissage
00:53
Speaker A
autosupervisé et puis donc nous avons parlé de la l'apprentissage piloté par les événements c'est-à-dire le en fait le le le concept de base de de ce qu'on appelle l'apprentissage par renforcement nous avons également parlé de globalement de despurine et de l
01:09
Speaker A
génératif donc cette première partie là euh ça nous a donné un peu on va dire un paysage pour quelqu'un qui qui va débarquer dans le domaine de l'intelligence artificielle il doit regarder ce slide là parce que tout simplement c'est un plan de
01:23
Speaker A
d'apprentissage donc ça on a à peu près les les différentes techniques qu'on va utiliser dans notre cours et puis donc nous avons détaillé donc le nous avons détaillé euh en fait le la régression particulièrement la régression linéaire donc nous avons vu ce que c'est la
01:41
Speaker A
régression et nous avons vu comment euh en fait créer un modèle de régression linéire notamment et avec un un cas d'usage notamment c'est la prédiction de des prix de des appartements ou bien des des maisons donc nous avons fait de cas
01:57
Speaker A
et donc tout ça euh toute cette partielà avec les démonstration euh donc pour bien démarrer donc je pense cette première partie est très importante alors l'enregistrement vidéo pour ceux qui ont raté le le cours de la dernière fois il est sur classroom donc vous
02:11
Speaker A
pouvez regarder et donc sur classroom j'avais aussi déposé une activité pratique donc en fait parce que ça c'est en fait parce que mon objectif c'est que en tout cas c'est que à la fin euh que vous vous soyez en fait en mesure de
02:28
Speaker A
maîtriser c'est-à-dire les les concepts de base de l'intelligence artificielle donc si vraiment vous voulez atteindre l'objectif parce que quand même on a que en fait c'est une vingtaine d'heures mais j'ai expliqué la dernière fois qu'on va faire plus de plus de charges
02:43
Speaker A
horaire on va essayer d'ajouter des séences sûrement parce qu'il y a la partie de li génératif qu'on va ajouter dans le dans ce cours Bic donc le temps un peu si vous voulez atteindre l'objectif à temps il est très
02:56
Speaker A
recommandé de de faire en fait de de faire les activité pratique euh c'est-à-dire de d'essayer alors pour chaque activité pratique ce que je fais je vous donne un un notebook un exemple d'application qui est déjà fait hein donc c'est-à-dire vous avez quasiment un
03:11
Speaker A
problème avec une solution avec le code qui est dedans et donc tout ce qui est demandé dans un premier temps c'est d'abord c'est de reprendre le le même cas et de le comprendre et de l'exécuter dans votre environnement et surtout donc
03:25
Speaker A
vous le commentez vous-même et à chaque étape donc vous la commentez donc dans un premier temps euh je vous demande pas de d'inventer des choses euh on on va pas vous demander d'inventer en fait des euh tout ça ça on va voir il y a un
03:40
Speaker A
projet à la fin sur lequel on va travailler mais euh j'estime que c'est c'est très important euh donc la l'activité pratique il est dans la partie travau et devoir donc vous avez ici donc le lien déjà de la vidéo de la
03:55
Speaker A
démonstration que que je vous ai fait donc c'est-à-dire reprendre les exemples déjà de qu'on a fait en classe et puis donc vous avez un en fait un notebook euh qui est un peu plus détaillé eu ça vous donne une idée à peu près comment
04:10
Speaker A
on adopte on aborde la un problème de régression donc honnêtement pour quelqu'un qui a qui fait cet exemple là qui suit un peu les consignes de cet exemple c'est que quasiment il a une idée comment aborder un problème de de
04:24
Speaker A
régression de A à Z y compris donc tout ce qui est l'analyse des données la création l'évaluation du modèle et tout ça donc ça c'est alors pour le cours donc il est déjà partagé l'enregistrement vous allez le le
04:38
Speaker A
trouver de la dernière science il est déjà sur classroom et là maintenant on recomm on va passer maintenant à une une nouvelle partie de cours qui concerne la la partie classification donc on avait on avait fait le la partie
04:52
Speaker A
régression aujourd'hui donc on va s'intéresser à la classification qui est euh l'un des problèmes les plus cour dans le en fait dans le domaine de machine learning de l'apprentissage automatique alors donc je rappelle juste que le la quand on parle classification
05:09
Speaker A
d'abord c'est une méthode d'apprentissage automatique supervisée dans laquelle on va tenter de prédire l'étiquette correcte pour une donnée d'entrée c'est-à-dire nous avons en fait des des input et après par la suite vous avez dans notre cas le output ça va être tout
05:29
Speaker A
simplement une variable catégorique c'est-à-dire une variable c'est-à-dire on va dire qualitative dans laquelle vous avez des étiquettes alors par exemple j'ai présenté déjà l'exemple par exemple j'ai un dataset dans lequel je voudrais prédire par exemple est-ce qu'une transaction bancaire est
05:49
Speaker A
frauduleuse ou non alors dans ce cas-là ici donc j'ai un dataset pour lequel j'ai les variables c'est l'heure par exemple de la transaction action le montant de la transaction longitude laattitude c'est-à-dire l'endroit où la transaction a été faite et je voudrais
06:06
Speaker A
donc j'ai un dataset dans lequel par exemple pour ces données là c'est une transaction non frauduleuse ça c'est une transaction frauduleuse et cetera et cetera donc j'ai un dataset qui est étiqueté déjà quand je parle apprentissage supervisé j'ai des données
06:20
Speaker A
qui sont étiquetées c'est-à-dire je connais les inputs et je connais les les output alors dans le cas de la régression donc le output c'est une valeur quantitative c'est c'està-dire c'est une variable continue et dans le cas de d'une classification c'est une
06:34
Speaker A
variable euh qualitative c'est-à-dire dans laquelle vous avez tout simplement euh une une variable c'est-à-dire vous avez des étiquettes qu'on va produire alors dans notre cas ici donc on va prédire soit 0 soit 1 c'est-à-dire soit qu'il est frauduleuse ou non alors euh donc j'ai
06:53
Speaker A
ici donc les les l'exemple ici euh voilà j'ai la classification par exemple ce ce cas de d'une transaction frauduleuse et est-ce que c'est oui ou non donc on va dire c'est un classifieur binaire parce qu'en fait à la fin on va classifier si
07:08
Speaker A
la transaction est frauduleuse ou non par exemple classifier si par euh par exemple prédire si un un patient est malade ou non est-ce que il y a présence par exemple une présence ou pas est-ce est-ce qu'un par exemple un email est-ce
07:22
Speaker A
que c'est un spam ou bien c'est c'est pas un spam et cetera alors ça c'est ce qu'on appelle c'est c'est un problème de classification binaire alors nous allons voir comment adopter comment aborder plutôt le la classification binaire mais
07:35
Speaker A
également il y a ce qu'on appelle les les classifieurs multiclasse la classification multiclasse c'est le fait de de prédire euh par exemple un exemple ici prédire la classe d'appartenance d'un animal par exemple j'ai un animal avec ses caractéristiques et je voudrais
07:50
Speaker A
prider est-ce est-ce qu'il s'agit d'un chien ou bien d'un chat ou bien d'un cheval et cetera donc j'ai un ensemble de catégories de de label que que je vais utiliser dans ce cas-là on parle ce qu'on appelle la classification
08:02
Speaker A
multiclasse et puis vous avez la classification multi label alors c'est à-dire quoi c'est-à-direci dans notre cas ici par exemple vous avez un exemple c'est toujours bien de de travailler avec des exemples prédire par exemple la liste des objets qui se trouvent dans une
08:18
Speaker A
photo ou un texte par exemple je comme INP j'ai une photo et à la sortie je voudrais détecter quels sont les différents objets qui existent dans cette dans cette photo par exemple une photo dans laquelle j'ai une bicyclette
08:32
Speaker A
à côté par exemple d'un d'un être humain qui qui et cetera donc finalement le output c'est le vous avez le multi laabel c'est-à-dire vous avez plusieurs étiquettes euh donc par exemple on peut donner un texte et quand je donne le
08:48
Speaker A
texte je vais dire par exemple ce texte là parle d'un d'une thématique X et précisément tel type de problème et cetera donc c'est-à-dire à la sortie vous avez plusieurs plusieurs label donc c'est ce qu'on appelle la classification multiabel oui donc com on
09:05
Speaker A
a imexte oui simage ou bien le textebis on a plusieurs labes par exemple OBJs sontour exactement c'est-à-dire je donne l'image par exemple et à la sortie je voudrais savoir quels sont les objets qui sont présents dans l'image donc on
09:23
Speaker A
va détecter le donc ça c'est c'est des multibel par exemple celui-là vous vous dites à la fin est-ce que c'est c'est un chien ou bien c'est un chat c'est un cheval c'estàdire ça c'est multicasse et multiabel c'est-à-dire vous avez euh un
09:36
Speaker A
exemple à l'entrée et à la sortie vous avez plusieurs label possibles d'accord alors par exemple dans le domaine de de de l'analyse des sentiments je donne par exemple un un review et à la fin je vais dire que ce ce ce review là il parle par
09:53
Speaker A
exemple euh par exemple je vais détecter que par exemple les différents labels par exemple pour un PC voilà par exemple il parle de l'écran il parle du clavier il parle de par exemple de de de la caméra donc ici donc ça c'est des multi
10:07
Speaker A
laabel donc ça en général dans les problèmes de classification vous avez trois types de de de de modèles euh que vous voyez là oui juste euh dans le cas de la cybersécurité par exemple si on a euh euh donc pour la classification
10:23
Speaker A
binaire on parle d'attaque non attaque c'est ex exact exact par contre si on identifie les les les attaqueson a c'estàdire on a dans [Musique] cez alors là ça c'est multicass c'estàd vous avez par exemple vous détectez quel type d'attaque est-ce qu'il s'agit d'un
10:43
Speaker A
par exemple d'attaque tel ou tel ou tel le multilabel c'est que quand vous avez par exemple une donnée et à partir de ces données là vous détectez trois types d'attaque en même temps donc ça c'est des multiabel oui merci
11:00
Speaker A
alors euh en tout cas donc pour pour c'est-à-dire pour traiter des problèmes de de classification il existe plusieurs algorithmes au niveau de machine learning et ces algorithmes là on peut dire qu'ils sont ils sont classés en deux deux catégories il y a ce qu'on
11:17
Speaker A
appelle les algorithmes ou bien les apprenants enthousiastes en fait enthousiaste c'est-à-dire géré en quelque sorte alors c'est ces algorithmes enthousiastes c'est ce qu'il y a de plus fréquent c'est que vous avez des algorithmes comme la régression logistique donc ça
11:32
Speaker A
c'est un exemple qu'on va on va détailler il y a ce qu'on appelle machine à vector support c'est dire les SVM support vector machine les arbres de décision les réseaux de non artificiel on peut utiliser le ce qu'on appelle
11:45
Speaker A
random Forest et cetera donc il y a un tas de d'algorithmes qui font partie de les les en fait les modèles SC dire enthousiaste alors et c'est quoi en fait dans dans le cas des modèles en fait enthousiaste qu'est-ce qui se passe
12:00
Speaker A
c'est que vous avez un apprentissage c'est-à-dire vous avez un un dataset d'entraînement donc vous avez un dataset d'entraînement et au moment de l'entraînement ben l'algorithme il va chercher à trouver donc la relation qui existe entre les entrées et les sorties
12:15
Speaker A
c'est-à-dire que il y a il y a un grand travail qui se fait au niveau de l'entraînement et ben une fois que l'algorithme a appris la relation qui existe entre les entrées il est sorti c'est que votre modèle a fini
12:26
Speaker A
l'apprentissage et par la suite on va commencer à faire la prédiction donc ce qui fait dans ce genre d'algorithme généralement c'est que le le temps d'apprentissage il est beaucoup plus grand c'est-à-dire pour faire l'apprentissage ça prend beaucoup de ça
12:38
Speaker A
prend beaucoup de temps c'est normal parce que l'algorithme il y a beaucoup d'étiration qu'il va exécuter pour par exemple qu'il soit entraîné et mais par contre la prédiction elle est instantanée c'est-à-dire que une fois que le modèle a appris c'est comme si vous avvez
12:54
Speaker A
trouvé la formule mathématique qui permet de lier les entrées et les sorties donc une fois que vous avez trouvé ce mod une fois qu'il a appris bah à un moment donné quand vous lui donnez un exemple et instantanément il
13:04
Speaker A
va vous dire voilà la sortie donc c'est-à-dire la prédiction elle est presque du temps réel donc c'est c'est c'est ce qu'on appelle c'est des des des modèles qui sont enthousiastes c'est-à-dire c'est il ils vont passer beaucoup de temps au moment de
13:18
Speaker A
l'apprentissage pour trouver le le le le modèle adéquat mais une fois que qu'on a trouvé donc le ce modèle adéquat bah après donc la la prédiction c'est plus rapide donc donc tous ces algorithmes là qu'on va utiliser donc ça c'est la c'est
13:33
Speaker A
ils font partie de cette catégorie mais il y a un d'autres types de de modèles qu'on appelle les modèles parisseux les apprenants parisseux euh les learners parmi lesquels on va trouver des des exemples le plus classiques c'est KNN
13:47
Speaker A
c'est très connu c'est le c'est-à-dire les les les cas plus proches voisins neighbors plutôt near neighbors alors c ces algorithmes là qu'est-ce qui se passe c'est que au moment de l'apprentissage et ils vont pas chercher à trouver donc
14:05
Speaker A
le la relation qui existe entre les entrée et la sortie donc dans la phase d'apprentissage ils ne font que charger le DataSet en mémoire c'est-à-dire quasiment c'est-à-dire cette étape est instantanée je charge les données d'apprentissage en mémoire sans chercher
14:20
Speaker A
à trouver le la relation qui existe entre les entrées et les sortie mais au moment de la prédiction quand vous allez lui donner un échantillon à prédire c'est à ce moment-là que l'algorithme va utiliser des techniques qui va à travers
14:32
Speaker A
le il va parcourir toutes les données d'apprentissage pour déterminer cet échantillon est-ce qu'il appartient à cette classe ou bien à cette classe et donc dans la prédiction ça prend du du temps et ben K c'est ça KNN c'est c'est
14:46
Speaker A
ce qu'il fait parce que généralement il y en a beaucoup qui travaillent avec KNN mais le problème c'est que quand vous avez un dataset qui n'est pas très grand vous avez un dataset qui qui n'est pas de grande taille BN vous allez allez
14:59
Speaker A
voir ça ça ça marche parce que le il y a pas une grande taille de données donc c'est rapide à charger même au niveau de la prédiction parce qu'on n pas besoin de de parcourir toutes toutes les données pour trouver le c'est-à-dire à
15:11
Speaker A
quelle à quelle catégorie il appartient mais par contre si vous avez une grande quantité de de données un datasat très grand alors là c'est c'est que le le c'est-à-dire quand vous allez faire la prédiction vous allez en attend
15:23
Speaker A
beaucoup de temps pour avoir le le résultat mais ça fait partie des algorithmes de d'apprendre plutôt de de machine learning donc tous ces algorithmes là je vais vous les expliquer comment les implémenter le principe de fonctionnement s TR sans rentrer dans
15:38
Speaker A
les détails parce que si on veut rentrer dans les détails de chaque algorithme donc là on va passer vous vous allez revenir Laan prochaine vous allez me trouver encore en train de d'expliquer ces ces algorithmes mais comme j'ai expliqué ce
15:53
Speaker A
cours-l c'est pas le c'est pas ça vraiment le l'objectif parce qu'on a un temps limité le plus important c'est chaque algorithme comprendre le principe de base comprendre les circonstances d'application quand est-ce qu'on va dans quel contexte on va l'appliquer et
16:08
Speaker A
surtout comment l'implémenter avec des librairies comme sit Len comme on a montré la dernière fois donc voilà donc ça c'est c'est juste bon ça c'est le juste le blabbla que je viens de vous de vous raconter donc je je laisse toujours des slides
16:24
Speaker A
qui sont chargés si vous voulez revenir un peu sur l'explication le texte alors maintenant on va essayer de de on va essayer de de parler on va essayer de pour les gens qui sont pas là donc il y a un chat qui qui est en train de
16:39
Speaker A
réclamer malheureusement on a rien à lui donner donc pour l'apprentissage dans l'apprentissage supervisé on va commencer d'abord par par cet algorithme qui est la la régression logistique donc la régression logistique donc c'est un algorithme d'apprentissage supervis utiliser pour des problèmes de
17:03
Speaker A
classification binaire donc c'est-à-dire si vous avez un classifieur binaire soit par exemple est-ce que c cette par exemple cette par exemple intrision est-ce qu' est-ce qu'il y a est-ce qu'il est-ce que c'est c'est une attaque ou pas ou encore est-ce que
17:20
Speaker A
cette transaction est fruduleuse ou pas alors ça c'est c'est c'est un classifur binaire donc si vous avez un classifur binaire l'un des premiers algorithmes auquel vous pensez qui sont très simples et parfois qui donnent de très très bons
17:32
Speaker A
résultats c'est la la régression logistique alors en fait la la régression logistique euh utilise euh une fonction euh qui s'appelle la sigmouide en fait c'est-à-dire euh euh en fait euh vous savez la sigm c'est ce que vous voyez là ça c'est une fonction
17:49
Speaker A
qui est très populaire dans le domaine de de de l'intelligence artificielle la fonction c'est 1/ 1 + exponentiel x donc c'est une fonction qui est réputée c'est une fonction dont la valeur est comprise entre entre 0 et 1 c'est-à-dire
18:05
Speaker A
que l'algorithme de régression logistique c'est presque la même chose que la régression classique sauf que ici on utilise une fonction sigmoide c'est que la sortie à la fin ça va être un nombre entre 0 et et 1 et
18:24
Speaker A
quand vous avez un nombre entre 0 et 1 on dit que c'est une probabilité par exemple si vous avez la valeur s' est supérieure à 0,5 donc là plutôt on est dans le la classe la classe positive et
18:36
Speaker A
quand la la valeur est inférieure à 0,5 on est dans la classe négative donc ça c'est le principe de base alors ici donc vous voyez ici donc j'ai tracé en fait ici un une courbe qui fait pour juste
18:50
Speaker A
faire la différence entre la régression linéaire alors dans la régression linéaire vous avez par exemple vous la régression linéaire on cherche une droite c'est-à-dire on cherche une droite qui va on va dire qui va ajuster le le nuage de point et quand
19:05
Speaker A
vous trouvez cette droite là alors forcément donc c'est linéaire donc par exemple ici quand je suis là alors si vous voulez savoir quel est le le point y correspond à ce point x bah vous allez remonter vous allez trouver la la valeur
19:18
Speaker A
ici donc c'est une valeur continue c'est une valeur quantitative mais par contre quand vous êtes dans la régression logistique vous avez la fonction sigm qui a cette cette allure et la fonction sigm vous voyez donc ici vous avez des asymptotes dans Y
19:32
Speaker A
= à 0 et y = à 1 donc c'est-à-dire que quel que soit le le le nombre que vous allez donner vous allez avoir un nombre à la fin entre 0 et 1 et donc c'est une probabilité et c'est parfait pour le les
19:47
Speaker A
problèmes de de de classification binaire voilà alors vous avez ici un exemple euh de classifier donc ça c'est c'est un exemple que j'ai montré tout à l'heure alors juste quand vous avez un problème de classification on va voir
20:02
Speaker A
tout à l'heure comment implémenter le modèle parce que avec quelques lignes de code vous pouvez créer un modèle de régression logistique et vous pouvez l'entraîner vous pouvez faire les prédictions ça c'est pas vraiment ce qui va poser beaucoup de problèmes mais
20:14
Speaker A
plutôt le plus important c'est de comprendre le concept de base bien alors maintenant nous allons voir comment évaluer les performances d'un algorithme de classification alors si vous rappelez la dernière fois nous avons vu que pour évaluer les les
20:34
Speaker A
les performances de d'un modèle de régression nous avons utilisé des des métriques comme R squareed RMSE alors cette fois-ci pour le cas d'un modèle de classification nous allons utiliser ce qu'on appelle une matrice de confusion alors en fait cette
20:53
Speaker A
matrice de confusion c'est un élément important qui permet de calculer des métriques qui permettent de mesurer les performances d'un algorithme de classification commeur c'est-à-dire l'exactitude la précision recol et il faut un score alors je vais vous expliquer toutes C ces métrique de
21:24
Speaker A
d'évaluation à travers l'exemple suivant regardez bien alors par exemple j'ai ici donc un cas dans lequel on va prédire si une transaction il roduleuse ou non alors par exemple je vois ici en fait je vois ici donc le la colonne c'est-à-dire
21:46
Speaker A
réel c'est-à-dire que par exemple pour cette transaction en réalité ben c'est une transaction qui n'est pas frauduleuse alors voyez donc en réalité donc c'est une transaction qui n'est pas fruduleuse et le modèle une fois qu'il est entraîné a pris dit qu' qu'il n'est
22:07
Speaker A
pas fruduleuse alors dans ce cas-là ça c'est ce qu'on appelle un trou négative alors pourquoi trou d'abord parce que en réalité il n'est pas frauduleuse et le modèle l'a prédit la préite non frauduleuse donc c'est-à-dire c'est un vrai alors com comme c'est un la
22:30
Speaker A
prédiction c'est un zéro donc et pour nous le 0 c'est négative et 1 c'est positive donc dans ce cas-l on va dire ça c'est un trou c'est un trou négative alors par exemple pour ce cas-là donc en réalité la transaction
22:48
Speaker A
est frauduleuse et le modèle la prédite en tant que transaction fruduleuse donc là aussi c'est un cas vrai donc c'est un trou c'est-à-dire que le modèle a réussi à prédire la bonne valeur donc c'est un trou positive alors trop positif trou ça
23:10
Speaker A
veut dire c'est c'est vrai et positif tout simplement parce que donc il a pris des 1 et le 1 c'est pour nous c'est c'est positif alors j'ai un autre cas ici j'ai en réalité donc j'ai une transaction qui
23:26
Speaker A
n'est pas fruduleuse mais cette fois le modèle l'a prédit en tant que transaction frauduleuse alors ici donc ça veut dire que le modèle s'est trompé donc elle est en réalité c'est un zéro n'est pas fruduleuse mais le modèle a prédit
23:44
Speaker A
qu'elle est fruduleuse alors dans ce cas-là c'est un false c'est un false mais qui est positive alors pourquoi il est positif parce que tout simplement la valeur prédite c'est une valeur qui est positif c'est-à-dire c'est 1 alors la même chose ici donc vous avez
24:04
Speaker A
euh un cas où vous avez euh en fait une transaction qui est frauduleuse en réalité mais le modèle l'a prédit en tant que transaction non frauduleuse donc la même chose ici donc le modèle s'est trompé donc c'est un
24:23
Speaker A
false mais euh c'est un false négative pourquoi euh négatif parce que le modèle a prédit un zéro donc ici donc en fait false voilà false négative donc euh tout simplement parce qu'il a prédit comme quoi le la transaction
24:45
Speaker A
n'est pas frauduleuse bon c'est pareil ici donc vous avez par exemple ça c'est une transaction non frauduleuse euh il a été prédit comme étant transaction non frauduleuse donc ça c'est un un trou négative la même chose ici c'est un trou
25:07
Speaker A
négative et là c'est un trou positive alors ici donc euh là c'est un cas c'est un TR positif ici alors ici donc en principe avec avec cette façon de faire nous allons euh créer ce qu'on appelle la matrice de
25:27
Speaker A
confusion alors en fait la dans la matrice de confusion on va placer donc le en colonne les les valeurs actuelles c'est-à-dire les valeurs réel euh dans ce cas-là nous avons la valeur positive c'est 1 négative c'est c'est 0
25:44
Speaker A
on commence toujours par la la valeur positive et en ligne on va placer donc le en fait les valeurs pr c'est-à-dire les valeurs prédites alors dans notre cas la même chose ici on va placer euh positive et négative alors dans la matrice de
26:03
Speaker A
confusion nous allons ici donc de de mesurer de de compter le nombre de transactions euh qui sont en réalité positiv et qui ont été prédites positives alors c'est-à-dire ici donc on va placer ce qu'on appelle les trou positives donc en réalité c'est une
26:25
Speaker A
transaction c'est c'est des transactions positives mais mais le modèle a prédit comme quoi c'est une valeur positive donc ça c'est trop positive ici on va placer le nombre alors ici donc si je compte le nombre de trop positif donc je
26:39
Speaker A
vais trouver donc ici a 1 trop positif et j'ai un deuxè positif donc il a deux ici donc il y a deux deux valeurs c'est-à-dire de en fait deux transactions qui ont été prod prédites positives frauduleuse alors qu'en
26:57
Speaker A
réalité il sont frauduleuses alors la même chose ici à ce niveau-là on va placer ce qu'on appelle éro négative c'est-à-dire combien de transactions qui ne sont pas frduleuses et qui ont été prédites en tant que transaction non frduleuse c'est-à-dire c'est un trou euh
27:17
Speaker A
mais négative alors ici donc si on compte les trous négatifs donc je vois ici il y a un euh 2 et 3 donc ici donc j'ai trois euh trous négative alors maintenant euh je prends ce à ce niveau-là on va on va regarder
27:36
Speaker A
le nombre de transactions qui sont en réalité non frauduleuses et que le modèle euh apridit frauduleuse alors dans ce cas-là donc pour nous donc en réalité c'est non frauduleuse et le modèle les a prédit de frauduleuse alors ça c'est les les les
28:00
Speaker A
falses positives ici alors ici donc si on compte le nombre de fales positives donc je vois ici false positive il y a une seule dans dans notre cas ici donc vous voyez donc c'est un false qui est positif alors la même
28:14
Speaker A
chose ici donc on va placer les Fals négatives c'est-à-dire euh combien de de transactions qui sont en réalité frauduleuse et et que le modèle euh a apris dit euh non fruduleuse alors ça c'est des fales négatifes donc ici il y en a un donc une
28:36
Speaker A
fois donc ça c'est ce qu'on appelle la matrice de confusion alors une fois que nous avons établi donc cette matrice de confusion ben on peut commencer à à calculer les les métriques d'évaluation donc parmi les métriques qui a d'abord
28:51
Speaker A
une métrique qui s'appelle éurc c'est-à-dire l'exactitude alors le en fait l'exactitude ou bien IURC et est mesuré euh comme sui c'est le nombre de trou positif plus le nombre de trou négatif plus c'est-à-dire on va faire euh euh on
29:09
Speaker A
va prendre ce ce nombre là plus euh ce nombre c'est-à-dire les les trous positif plus les TR négatif divisé par le total c'est-à-dire euh le nombre de TR positif plus le nombre de trou plutôt euh de false positive plus le nombre de
29:27
Speaker A
trou de false négativ et le nombre de trous négatif donc c'est-à-dire tout simplement je prends ce nombre là plus ce nombre divisé par le total alors dans notre cas le les TR positif il en a de ici les trou négatif il y en a TR et
29:50
Speaker A
après ici donc les TR positif c'est de force positive c'est 1 force négative c'est 1 et tr euh négatif c'est C3 donc si vous calculez donc c'est 5/7e ça va vous donner à peu près 71 71 %. alors
30:08
Speaker A
ici donc on peut dire que pour ce par exemple pour cette situation là nous avons une une performance du modèle euh qui mesuré par l'exactitude qui est de l'ordre de 71 %. alors généralement éur i donc c'est une métrique
30:29
Speaker A
qu'on va souvent utiliser quand nous avons un dataset qui est équilibré alors ça veut dire quoi un dataset équilibré c'est-à-dire c'est un dataset dans lequel nous avons le nombre de cas positifs et le nombre de cas négatifs sont les mêmes donc ils sont très
30:47
Speaker A
proches et quand on a le nombre dans un dans un dataset le nombre de de cas positif et le nombre de cas négatif sont sont les même donc euh donc c'estàd c'est un dataset qui est équilibré alors dans ce cas-là les en fait les é ici euh
31:07
Speaker A
peut être euh peut être si vous voulez adopté comme étant euh métrique d'évaluation du modèle mais il faut faire attention généralement quand on a un cas où euh d'un dataset qui n'est pas équilibré c'est-à-dire euh le nombre de
31:23
Speaker A
de cas positifs et le nombre de cas négatifs ne sont pas euh les mêmes par exemple le le nombre de patients qui sont malades euh dans votre dataset il est euh il est différent euh du nombre de de de
31:39
Speaker A
patients qui qui qui ne sont pas malades alors dans ce cas-là vous avez un un dataset qui n'est pas équilibré alors dans ce cas-là pour mesurer les performances euh généralement on va pas utiliser éur ici on va utiliser donc euh
31:53
Speaker A
soit précision ou recéol alors en fait la précision est calculé avec cette formule c'est le nombre de trous positifs divisé par le nombre de trous positifs plus le nombre de trous de false positif alors c'est-à-dire dans notre cas ici c'est 2
32:10
Speaker A
le nombre de TR positif c'est 2 euh divisé par le nombre de TR positif c'est 2 plus false positif les FSE positif c'est 1 c'est-à-dire divisé par 3 ce qui nous donne euh une valeur de à peu près
32:26
Speaker A
66 % donc on on va dire dans notre cas la précision de notre modèle elle est de l'ordre de 66 %. alors que en fait rol euh avec réol on va mesurer le nombre de trous positifes divisé par le nombre de trous
32:47
Speaker A
positif plus le nombre de trous négativ alors la différence ici c'est que là on va mettre c'est desfse positive alors que dans recol on va mettre les FSE négative donc c'est ça la différence et dans notre cas ici on va
33:02
Speaker A
prendre C deux c'est le nombre de T positif divisé par 2 + 1 alors ici donc ça c'est un cas particulier dans lequel nous avons le nombre de de de false positiv et le nombre de de fes négatives
33:16
Speaker A
sont les mêmes mais généralement c'est pas c'est c'est pas des des des des mêmes valeurs donc ce qui nous donne à peu près la même chose euh une euh un rappel ou bien un récol de 60 6 %. donc ici donc dans notre cas la
33:32
Speaker A
précision et récole sont ont les mêmes valeurs mais généralement souvent c'est pas le cas euh pourquoi parce que souvent le le nombre de de F négatives et le nombre de fes positif sont différents ce qui nous donne des valeurs
33:44
Speaker A
de précision et de récolte qui sont différents alors maintenant quand est-ce que il est recommander il est important de de c'est-à-dire de d'utiliser ou bien de se baser sur la précision ou bien rol bon ça dépend ça dépend des cas ça
34:04
Speaker A
dépend des cas est-ce qu'on veut minimiser le nombre de de Fals positives ou bien est-ce qu'on veut minimiser le nombre de Fals négatives alors par exemple euh si vous voulez minimiser le nombre de Fals positives c'est-à-dire supposons que le
34:21
Speaker A
le nombre de vous vous vous cherchez à ce que le nombre de FS positif soit proche de zéro donc vous voyez donc si c'est le le nombre de forces positives t vers Z0 vous allez avoir donc c'est TR
34:34
Speaker A
positif divisé par TR positif ça va vous donner 1 c'est-à-dire vous allez tendre vers une performance de 100 %. alors euh dans quelle situation on va plutôt donc chercher à à à prendre la précision comme la métrique c'est-à-dire
34:53
Speaker A
on va surveiller plus la la précision pour mesurer les performances de notre modèle bon ça dépend des cas alors par exemple si je prends ce CASL on va se poser la question pour nous quel est le plus important
35:09
Speaker A
c'est-à-dire est-ce que le le fait d'avoir une transaction une transaction qui est en réalité plutôt qui est fruduleuse et que le le modèle a prédit non frauduleuse ou bien l'inverse c'est-à-dire en réalité il n'est pas frauduleuse alors que le modèle l'a
35:35
Speaker A
prédit en tant que transaction frauduleuse alors c'est quels sont les cas qu'on ne veut pas avoir c'est-à-dire c'està-dire qu' qu'on devrait minimiser pour notre modèle alors par exemple dans notre cas ici si vous dites moi je veux que le modèle ne
35:55
Speaker A
rate pas les transactions fruduleuses donc si vous voulez pas rater les transactions euh qui sont en réalité euh euh c'est-à-dire qui sont frauduleuses ça veut dire que euh vous allez euh minimiser euh vous allez réduire vous essayez d'avoir un minimum
36:14
Speaker A
de false négative donc vous allez minimiser donc le les les fales négatives euh donc c'est-à-dire dans ce cas-là vous allez vous baser sur euh le recall donc euh vous savez dans un modèle il y a toujours de des des des
36:31
Speaker A
hyper paramètres il y a des des paramètres à à changer et à chaque fois on change les les les les hyper paramètres et à chaque fois que vous vous changez les les hyperpamètres vous allez obtenir des des valeurs de
36:44
Speaker A
précision et récoolle qui sont différentes donc on va essayer donc de de régler notre modèle de façon à ce qu'il nous donne un récole qui est euh qui est un relativement le plus élevé possible c'est-à-dire un récolte dans
36:59
Speaker A
lequel on va minimiser au maximum le nombre de de Fals négativ alors si tout c'est c'est le cas aussi par exemple pour le cas par exemple en cybersécurité par exemple c'est-à-dire détecter ou bien prédire est-ce que par exemple une
37:18
Speaker A
intrusion est-ce qu'elle est est-ce qu'elle est donc est-ce que est-ce que c'est une attaque ou pas pardon alors la même chose ici donc si vous dites par exemple ce qui nous intéresse c'est de ne pas rater les les
37:37
Speaker A
les attaques donc c'est-à-dire euh tout ce qui est une intrusion euh qui qui cache une une une une attaque par exemple alors il faut il faut pas la rater alors dans ce cas-là c'est-à-dire bah la même chose on on aura besoin de
37:55
Speaker A
minimiser le nombre de de de false euh négative alors dans ce cas-là on va plutôt on va plutôt donc nous baser sur le récol euh donc pour comme c'est-à-dire on va prendre on va surveiller plus le le récole on essaiera de de de maximiser le
38:12
Speaker A
récole c'est-à-dire minimiser le nombre de de Fals négatives mais par contre il y a des situations dans lesquelles euh on a on a plutôt donc il y a il y a des cas des situation dans lequell on a intérêt à minimiser le
38:30
Speaker A
nombre de de false de false positiv et dans ce cas-là donc on va prendre la précision alors par exemple si vous prenez le cas par exemple d'un patient vous êtes en train de prédire par exemple une maladie quconque si un
38:45
Speaker A
patient est malade ou pas euh alors par exemple vous avez un patient qui en réalité qui n'est pas par exemple qui n'a pas qui n'est pas malade et que vous avez pr vous avez prédit votre modèle a prédit qu'il est malade et vous avez un
39:06
Speaker A
autre cas où le patient n'est pas est malade en réalité et que le modèle a prédit non non malade alors maintenant quel est quels sont les les c'est-à-dire les fes que vous voulez minimiser donc est-ce que vous voulez que votre modèle ne rate
39:25
Speaker A
pas les c'està-dire les les patients qui sont malades ou bien est-ce que vous voulez qu'il ne rate pas plutôt euh les les patients qui sont euh qui sont euh plutôt euh qui ne sont pas malades et c'est-à-dire et le modèle ne devrait pas
39:41
Speaker A
se tromper euh dans quel cas est-ce que de pour le est-ce que vous voulez minimiser euh par exemple les Fals négatives ou bien les forces positives alors ça dépend des situations alors parfois si vous voyez que euh c'est-à-dire vous voulez avoir
40:01
Speaker A
un équilibre euh entre les les deux c'est-à-dire vous essayez de de minimiser au maximum le nombre de de Fals positives et en même temps vous minimisez le le nombre de de false négative c'est-à-dire en réalité vous vous vous allez surveiller les deux
40:18
Speaker A
c'est-à-dire vous essayez de de régler votre votre modèle de façon à avoir euh une valeur un équilibre c'est c'est-à-dire entre le la précision et récolte alors dans ce cas-là on va plutôt se baser sur une une métrique qui
40:35
Speaker A
s'appelle il faut un score alors en fait il faut un score et est mesuré comme ça c'est deux fois la précision fois récole divisé par la précision plus récole alors dans notre cas ici donc si vous calculez il faut un score donc vous
40:50
Speaker A
allez avoir une valeur de 68 %. et donc quand est-ce qu'on va plutôt euh quand est-ce qu'on va on va plutôt adopter il faut un score comme maîtrise plutôt comme maîtrique d'évaluation de notre modèle euh dans le cas où vous
41:06
Speaker A
avez euh par exemple des cas où vous voulez avoir un équilibre entre la précision et récol c'est-à-dire vous essayez de minimiser en même temps vous essayez de de minimiser le maximum le les forces positives et également les Fals négatives mais souvent quand vous
41:25
Speaker A
avez un modèle qui qui qui se qui qui se trou souvent souvent si vous augmentez la précision vous allez réduire le le recall et si vous augmentez le recall vous allez réduire la la la précision il y a il y a toujours en
41:40
Speaker A
fait un ce qu'on appelle un tradeof entre la la précision é rcole et donc parfois vous aurez besoin de chercher les paramétrages qui permet donc d'avoir c'est-à-dire une valeur de de la précision et de réol qui sont les mêmes
41:59
Speaker A
alors forcément donc ça c'est c'est dans ce cas-là donc vous aurez besoin de surveiller donc le le i score et c'est ce qui va vous donner à peu près c'est-à-dire une métrique de de d'évaluation qui dans laquelle voilà on
42:16
Speaker A
va prendre l'équilibre entre le c'est-à-dire la précision et récolle voilà alors donc c'est comme ça qu'on va mesurer les les performances de des modèles de classification le principe c'est très simple alors généralement on va voir tout à l'heure que en fait avec les
42:36
Speaker A
librairies donc vous n'aurez pas besoin de faire ces calculs parce qu'il y a des des des fonctions qui permettent de de calculer de calculer la matrice de confusion et de calculer donc les différentes métriques mais il est très important de
42:51
Speaker A
comprendre donc le c'est-à-dire chaque métrique à quoi il sert et en même temps comment elle est calculer alors je pense avec cet exemple là ça vous donne une idée comment comment plutôt donc calculer les métriques de d'évaluation et
43:11
Speaker A
juste il faut être attentif pour ne pas souvent confondre ou bien avoir une confusion entre le les Fals positives et les FS négatives alors souvent ça ça peut arriver et donc les Fals positives comme je répète les Fals positives
43:34
Speaker A
c'est-à-dire c'est d'abord bon c'est un false alors le positif ça se rapporte euh à la valeur prédite donc ici c'est négatif mais en réalité on l'a prédit positif donc on va dire que ça c'est un false qui est
43:51
Speaker A
positive là c'est un euh c'est-à-dire c'est un euh c'est c'est un cas qui est positif mais on l'a prédit en tant que négative donc dans ce cas-là on va parler de false négative donc euh donc bon voilà donc ça peut vous
44:12
Speaker A
arriver parfois de de d'avoir de donc de de pour si vous voulez c'est très simple donc c'est si vous vous gérez les choses comme ça donc vous n'aurez pas à faire avoir cette confusion euh entre les fales négatives et les fes
44:24
Speaker A
positives donc juste rappelez-v bien donc les les c'est-à-dire les les Fals positives ou bien les fales négatives se rapportent toujours il faut toujours faire référence à c'est-à-dire à la prédiction et non pas à à c'est-à-dire au cas réel
44:45
Speaker A
voilà voilà alors donc ça c'est le ce qui concerne la comment mesurer les performances d'un modèle de classification voilà alors maintenant euh on va essayer de directement de passer vers un exemple d'application alors pour cette fois-ci donc j'ai on va
45:03
Speaker A
choisir un dataset pour le cas par exemple la prédiction de du diabète bon les dataset ce qui est bien c'est que c'est pas ce qui manque alors vous avez ver kagal vous avez vous avez des sites dans lesquels vous allez trouver c'est juste
45:19
Speaker A
pour des cas pour comprendre le principe vous avez plein de vous avez iris dataset vous avez le ça c'est pour par exemple ce cas du diabète c'est un cas qui est intéressant parce que vous avez un jeu de données qui provient de
45:33
Speaker A
National Institute for diabète andestive and kidly diseases alors ça c'est le aux États-Unis donc c'est un ancien dataset en fait l'objectif c'est quoi c'est de prédire sur la base des mesures du diagnostic si un patient est atteint du
45:52
Speaker A
diabète ou pas vous voyez donc ça c'est des problèmes machine learning qui était la voix depuis longtemps alors le contenu donc les instances c'est-à-dire ce dataset sélectionner un jeu de données qui respecte plusieurs critères qui sont tirés de d'une base de données
46:09
Speaker A
qui est plus large alors qu'est-ce qu'il y a dans la base de données c'est-à-dire que les données sur laquell on va travailler c'est que une partie du du dataset alors tous les patients d'abord c'est des femmes ça c'est important parce que si
46:24
Speaker A
dans le cas par exemple la prédiction d'une maladie vous avez vous avez un dataset qui contient les hommes et les femmes il faudrait il faudrait s'assurer que vous avez le nombre de cas est équilibré parce que si vous avez le
46:44
Speaker A
nombre de de de femmes et le nombre de d'hommes avec les mêmes circonstances ne sont pas ne sont pas équilibrés on risque de d'avoir ce qu'on appelle un modèle biaisé bisé c'estàd il a tendance à être bon pour le cas des femmes mais
46:56
Speaker A
pour le cas des h il n'est pas il n'est pas bon donc ce qui fait que parfois il vaudrait mieux carrément avoir deux datasets un dataset pour les les les femmes et un dataset pour les les hommes alors c'est le cas ici donc on va
47:11
Speaker A
s'intéresser que pour le cas des femmes parce que pour le cas des femmes il y a la grossesse il y a plein de de paramètres qui vont s'ajouter au modèle donc c'est des des femmes de moins de 2
47:21
Speaker A
an alors en fait il y a les variables le DataSet contient un ensemble de variables euh d'abord c'est le nombre de grossesse vous avez les glycos donc ça c'est la quantité de glycose c'est c'est une valeur qui est
47:39
Speaker A
mesuré 2h avant le test alors vous avez la pression artérielle donc ça c'est le au niveau de du cœur l'épaisseur de la peau vous avez euh l'insuline et l'IMC vous savez j que c'est c'est l'indice de masse corporelle
47:59
Speaker A
normalement ça se calcule entre voilà entre le poids et et et la taille et puis vous avez la fonction euh euh pédigrie de de de diabète donc c'est un score génétique reflétant l'éridité du diabète donc ça c'est un score qui
48:18
Speaker A
qui tout simplement indique est-ce que est-ce que c'est-à-dire c'est le la maladie du diabète est plutôt héréditaire dans le c'est-à-dire est-ce qu' est-ce qu'il y a un indice y a des antécédents des anécédents voilà dans le cas donc c'est
48:34
Speaker A
l'hérédité et puis vous avez l'âge du patient et à la fin vous avez le résultat alors la outcome vous voyez donc soit soit 0 soit 1 c'est-à-dire 1 ça veut dire il est diabétique 0 ça veut dire il n'est pas diabétique alors je
48:51
Speaker A
passe directement vers le le notebook que je vous ai déjà partagé alors pour parce qu'en fait aujourd'hui donc je vais tester t le je vais tester tous le les les modèles beaucoup de modèles en tout cas donc c'est pour cela donc je vais pas je
49:06
Speaker A
vais directement vous avez en fait le notebook qui qui explique déjà à peu près ça c'est la régression logistique tout ça c'est ce que je viens de vous montrer comment faire les prédictions alors d'abord nous aurons besoin comme
49:21
Speaker A
la dernière fois d'importer un ensemble un ensemble de de packag alors dans les packages donc il d'abord pondas parce qu'on a besoin de lire les données et nous aurons besoin de cy Len alors au niveau de C il y a pas mal de
49:37
Speaker A
fonctions qu'on va qu'on va importer par exemple logistique regression test split on l'a vu la dernière fois c'est pour diviser notre dataset en une partie de d'entraînement une partie de test decision donc c'est un algorithme de classification ça c'est mat plotp
49:57
Speaker A
ploté on l'a utilisé la dernière fois si Bor la même chose c'est pour la la visualisation pour dessiner des graphiques vous avez les métriques ça c'est pour mesurer c'est c'est là on va trouver le il faut un score accur toutes
50:11
Speaker A
ces métriques et après on va faire ce qu'on appelle la standardisation des données c'est parfois vous avez de un dataset dans lequel vous avez les variables ne sont pas dans les mêmes échelles par exemple l'âge il est entre
50:24
Speaker A
entre 22 et 80 ans mais par exemple ex vous avez une variable dont la valeur est comprise entre 0 et donc on a on a besoin de de faire ce qu'on appelle soit la normalisation soit la standardisation donc ici on va utiliser standard scaler
50:38
Speaker A
donc ça c'est un un algorithme donc je vais vous le montrer on va tester également support vector machine ça c'est n donc ça c'est pour les gens qui le connaissent pas c'est pour faire le calcul sur les tableaux
50:50
Speaker A
dans pon n c'est très ça fait partie de Python ça permet de de de faire des calculs C matriciel de calcul sur les vecteurs et cetera c'est plus simple donc globalement on aura besoin de d'importer tout ça et puis donc vous
51:06
Speaker A
avez le notre dataset il est là diabète.csv alors voyez donc pour le notre notre fichier il y a voilà les les les variables ça c'est les entêtes qui sont séparé par des virgules alors en tout cas pour les gens qui ne
51:23
Speaker A
connaissent pas le format CSV donc j'en ai déjà parlé la dernière fois bah tout simplement c'est un ensemble de valeurs séparé par des des virgules donc ça c'estpare par exemple la ligne d'en tête et ça c'est la première ligne la
51:35
Speaker A
deuxième ligne et cetera donc vous voyez donc les valeurs sont séparées par des virgules alors ça c'est notre dataset et à la fin vous voyez ici soit 1 soit 0 donc ça c'est leoutcome mais maintenant on va justement le lire alors pour lire notre
51:51
Speaker A
dataset on va utiliser pandas read CSV et on va lui donner le nom du fichier on va le lire et j'exécute alors si vous voulez voir le nombre de colonnes les colonnes vous utilisez df.cons on a ça vu la dernière fois vous avez la liste
52:07
Speaker A
des colonnes qui existent dans le pour ce dataset alors si vous voulez afficher une dizaine d'échantillon sur le DataSet on va utiliser DF simple par exemple ici 10 je lui je lui demande de me chercher aléatoirement des des des des des
52:23
Speaker A
échantillons de ce dataset vous voyez donc ici c'est vraiment aléatoire donc je vois bien ici les valeurs euh je peux observer par exemple les différentes colonnes les différentes valeurs je peux observer et est-ce qu'il y a des est-ce
52:39
Speaker A
qu'il y a des des valeurs mon compte c'est très important mais si vous remarquez ici vous allez voir regardez regardez par exemple l'insuline égale à zé vous voyez par exemple l'épaisseur de la peau est égale à zé alors ça c'est
52:54
Speaker A
pas normal c'est-à-dire que dans votre date dat 7 euh là vous trouvez les zéos normalement c'est une valeur mancante parce que parfois quand vous prenez un dataset il y en a ceux qui mettent des zé sur les valeurs mancantes
53:06
Speaker A
et mais parfois vous trouvez qu'il est vide s'il est vide il y a pas de problème on va voir à la place nan c'est-à-dire ce n'est pas un nombre mais ici c'est c'est un zéro donc ça veut dire que ces zé là on va les considérer
53:18
Speaker A
comme temps des valeur mon compte c'est que il va falloir les qu'on les remplace mais il faut faire attention de ne pas remplacer un un vrai zéro par une valeur mancant c'està-dire il faut identifier queles sont les colonnes là
53:32
Speaker A
où il y a ces problèmes alors donc j'ai déjà montré ça la dernière fois donc si vous voulez avoir euh je sais pas si si c'est lisible c'est lisible il y a pas de problème je peux zoomer un petit peu OK
54:02
Speaker A
petit instant commande plus oui oui c'est ce que je cherchais voilà ça va mieux c'est mieux comme ça ok alors donc pour les les les statistiques donc pour faire les statistiques les les STATIS les statistiques c'est très important
54:30
Speaker A
d'avoir une vision sur les données donc on va utiliser la la méthode describe donc describe che exécute ben ça me donne pour toutes les les colonnes je vois par exemple le nombre de de valeurs alors déjà vous voyez si vous regardez
54:44
Speaker A
le nombre de valeurs c'est a combien de valeurs c'est c'est-à-dire le nombre de lignes c'est 768 c'est la même pour tous les autres mais ça veut pas dire qu'il y a pas de valeur mon compte parce que il y a des il y a des valeurs
54:58
Speaker A
qui sont Nules pour lui il l'a considéré comme étant une valeur alors je vois la moyenne par exemple ici je vois standard deviation je vois le minimum la valeur minimale et déjà la valeur minimale c'est très important vous la surveillez
55:12
Speaker A
parce que si là si vous voyez que par exemple l'âge égal à 0 par exemple pour l'âge je vois ici si vous voyez par exemple pour l'âge je vois le minimum c'est c'est é alors 0 c'est pas normal
55:23
Speaker A
n'est-ce pas euh donc je vois ici déjà pour pour cette caractéristique ici je vois euh pregnan ça ça se ça se prononce comme ça prnan pregnancies voilà donc pour pregnancies donc vous avez ici donc zéro donc ça ça c'est une valeur ça veut
55:46
Speaker A
dire qu'il y a des valeurs manquantes pour cette colonne la même chose pour le glycose euh monsieur pour pregnancy ça veut dire qu'il n'a jamais éé tombé enceinte qu'il n'est jamais tombé oui vous avez raison mais merci merci
55:57
Speaker A
alors ça c'est le c'est pour c'est-à-dire est-ce qu'il est est-ce qu'il est le nombre de grossesse ça c'est c'est plutôt logique c'est-à-dire le nombre de grossesse égal à zé c'està il n'est jamais tombé enceinte mais par contre le glucose non ça c'est pas
56:09
Speaker A
normal euh par exemple le la pression artérielle la même chose c'est pas normal ici c'est pas normal l'insuline c'est pas normal BMI c'est pas normal bah maintenant ici on voit déjà que c'est ces colonnes là il présentent des
56:24
Speaker A
valeurs des valeurs mon compte alors maintenant comment on va procéder on va retenir les les colonnes là où il y a problème ils sont là les colonnes je vois glycose donc je crée un tableau dans lequel je mets glycose blood
56:39
Speaker A
pressure euh voilà donc skin thickness l'insuline et BMI et puis donc qu'est-ce que je vais faire et ben d'abord je vais prendre DF de Colon c'est-à-dire je vais prendre les données que de ces ces ces colonnes et je vais remplacer
56:57
Speaker A
je vais remplacer 0 par nan c'est-à-dire c'est-à-dire je vais verser con là et je vais lui demander d'abord de remplacer les zéos par not a number OK et pour cela j'utilise num vous savez nille que j'ai importé il y a une valeur
57:14
Speaker A
qui s'appelle non c'est-à-dire note number c'est-à-dire c'est une valeur alors si vous faites ça si vous faites ça ça veut dire que si vous affichez encore les les de votre dataset si vous faites DF vous allez commencer voyez donc là où
57:34
Speaker A
il y avait des zéos on voit ici des valeurs not number donc j'ai déjà remplacé les les zéos qui sont censés être des valeurs mon compte par des not number alors maintenant je dois remplacer les valeurs mon compte par par
57:50
Speaker A
une valeur alors maintenant on va faire comme la dernière fois on va remplacer par la médiane et soit la moyenne soit la médienne soit par une valeur ça dépend des cas alors pour pour le faire déjà on va regarder le nombre de valeurs
58:03
Speaker A
mancante on utilisant DF isnal s alors si vous faites DF isnal s ça vous donne quoi par exemple pour cette cette caractéristique il y a combien de valeur mon compte é0 glucose il y en a 5 vous voyez donc ici par exemple pour
58:19
Speaker A
l'insuline il y a quand même 374 valeurs mon compte monsieur eu est-ce qu'il n'est est-ce qu' est-ce qu'on n'est pas obligé de refaire deux ou trois fois le le travail qu'on vient de faire par exemple pour l'âge minimal
58:37
Speaker A
euh on doit refaire pour revoir est-ce qu'il n'y a pas une autre erreur parce que l' 0 on l'a éliminé est qu'il y a l' 1 pour l'âge pour l'âge déjà pour l'âge on voit le la valeur minimale c'est 21
58:52
Speaker A
n'est-ce pas j'ai j'ai donné un exemple seulement avec l'âge par exemple si on trouve qui est on le corrige avec N pu peut-êtreon va retrouver unutre autre donnée qui est avec pour corriger une V s'il y a une valeur normalement s'il y
59:10
Speaker A
a une valeur mon compte on va on va le voir ici c'estàd l'gey donc ici l'ge y a combien de valeur mon compte c'est donc c'est ici parce que je suis en train d'analyser tout le Data frame pas toutes les colonnes
59:28
Speaker A
mais c'est vrai il faut parce que qu'est-ce qu'on est est-ce qu' on est toujours en train de faire du Data analys c'est-à-dire je suis en train d'analyser les les données et c'est un travail qui est lourd vraiment c'est là
59:41
Speaker A
où vous allez vraiment avant de commencer à créer le modèle il faut il faut faire ces investigations mais si vous le faites la première fois la deuxè fois la 3è la 4è et vraiment ça devient des automatismes c'est c'est c'est des
59:52
Speaker A
choses assez classiqu alors en tout cas donc nous avons des valeurs mon compte alors maintenant si vous voulez visualiser avoir une idée surtout si vous avez un dataset qui contient beaucoup de de données il y a une librairie que je vous conseille qui
60:05
Speaker A
s'appelle Miss Miss missing missing alors cette livrerie là si vous l'importez il suffit d'utiliser par exemple msno barre vous donc barre plot de DF donc il va vous plotter que les valeurs mon compte et ça vous donne une
60:25
Speaker A
idée par exemple sur ça il y a combien de valeurs mon compte là euh alors ici je vais exécuter ça alors c'est pas ce que je voulais dire alors ça c'est alors ça c'est le le oui c'est ça
60:57
Speaker A
alors ça c'est euh oui donc ça vous donne ici parce que j'affiche le le nombre de de valeurs euh mais ici donc vous voyez ici vous avez une idée mais ça ça ça donne pas réellement le le c'est-à-dire par exemple ici y a de le
61:09
Speaker A
nombre de de valeurs non mon compte non mon compte c'est l'inverse ici par exemple je vois j'ai toutes les données j'ai toutes les données mais ici il y a des valeurs mon compte là il y a des valeurs mon compte et cetera euh mais si
61:21
Speaker A
vous voulez avoir une idée il y a encore quelque chose de mieux vous faites appel à une fonction qui s'appelle matrix matrix de DF et ça vous donne ça ça vous affiche si vous exécutez ça vous donne regardez ça c'est intéressant pourquoi
61:35
Speaker A
parce que ça vous donne tout ce qui est noir complètement noir ça veut dire que ça c'est ça veut dire qu'il y a pas de valeur mancante là vous voyez voyz par exemple vous voyez des blancs ici ça
61:44
Speaker A
veut dire c'est des valeurs qui sont mon comp mais ici par exemple je voy a beaucoup de valeurs mon compte parce qu'il y a beaucoup de blanc là mais tout ça c'est visuel c'estàdire vous avez un dataset qui
61:57
Speaker A
contient beaucoup de données si vous faites ça vous avez une image qui vous indique quels sont les colonnes là où il y a les valeurs mon compte mais tout ça je suis en train de voir et après on va remplacer maintenant
62:10
Speaker A
les valeurs mon compte par la médiane alors pour cela on va pas faire colonne par colonne qu'est-ce que je vais faire donc je vais d'abord parcourir donc je vais avoir d'abord toutes les colonnes que je stock dans la variable colonne et
62:27
Speaker A
je vais prendre mais par contre je vais supprimer le le outcome c'est quoi pour nous le outcome vous savez le outcome c'est c'est la sortie soit é0 soit soit 1 ok alors je vais supprimer cette c'est-à-dire je vais utiliser
62:45
Speaker A
colonne drop outcome ok donc c'est-à-dire j'ai toutes les colonnes sauf le outcome et après je vais faire une boucle for pour chaque colonne de la liste des colonnes de toutes les colonnes je vais d'abord calculer la médiane de la colonne en utilisant DF de
63:03
Speaker A
colonne point médiane donc vous voyez donc je calcule la médiane de de de de la colonne et puis je vais utiliser DF de colonne c'est-à-dire cette colonne à quoi est égal égal DF de colonne fil fil non c'est-à-dire je vais remplacer les
63:18
Speaker A
valeurs mon compte c'est comme si vous allez lui dire allez là où tu trouves nan tu le remplaces par quoi par la la médien alors ça c'est également un petit code bah vous l'exécute ben ce code là comme
63:31
Speaker A
je disais vous savez en machine learning ce qui est ce qui est au début difficile c'est de comprendre le T mais une fois que vous vous avez fait un code une fois c'est presque les même chose qui se
63:43
Speaker A
répète c'est ce que vous voyez là c'est c'est pas après bon si vous êtes un bon programmeur vous allez commencer à vous dier à faire des des choses un peu plus mais mais sinon si vous vous voulez pas faire inbook vous serez obligé de
63:57
Speaker A
traiter colonne par colonne mais c'est vraiment pas l'objectif donc je remplace les valeurs mon compte vous faites encore describe et vous pouvez constater les valeurs alors ici donc je vois bien les valeurs minimum maintenant ça devient 44 et cetera donc je n'ai plus
64:15
Speaker A
de problème je vais voir encore la somme des valeurs mon compte et je vois qu'il y a de zé alors là maintenant je peux dire je me suis débarrassé des valeurs mon compte est-ce que c'est clair cette étape pas de
64:32
Speaker A
problème ok je vois des pouces donc c'est bon voilà alors maintenant on va euh donc si vous refenez vous faites la même chose vous affichez la matrice des valeurs mon compte vous voyez ici cette fois-ci tout est tout est noir c'est-à-dire il y a
64:52
Speaker A
pas de on voit pas que des des petits blancs bon ça c'est bon alors après on va on va regarder les les distributions de chaque colonne c'est-à-dire on va s'intéresser colonne par colonne on va voir com comment les valeurs sont distribuées
65:08
Speaker A
alors pour cela le plus le plus simple le plus rapide c'est d'utiliser DF c'est data frame et on va faire appel à histogramme donc je vais dessiner l'histogramme donc je spécifie la figure ici donc je vais utiliser en
65:23
Speaker A
fait une figure de de 8 FO et en fait color black c'est juste vous voulez afficher c'estàd le contour la couleur du contour c'est en noir vous voyez ici alors si vous exécutez ça regardez ça vous donne quoi ça vous
65:40
Speaker A
donne pour chaque variable vous avez un histogramme alors par exemple pour pour les pregnancies par exemple je vois ici donc une distribution qui n'est pas normale ok c'est-à-dire je vois bien par exemple proche de zé c'est la plus de de valeur
66:02
Speaker A
c'est-à-dire c'est les femmes qui ne sont pas enceintes le nombre de femmes qui ne sont pas enceintes c'est c'est plutôt c'est par exemple pour zé vous avez à peu près 200 50 c'est-à-dire dans le cas des données que j'ai j'ai combien
66:16
Speaker A
de femmes non enceintes il y en a 50 par exemple entre entre ça doit être entre 1 et 3 par exemple il en aura 100 son combien 160 entre entre 5 et et 7 il y aura il y a
66:33
Speaker A
50 donc vous avez ça c'est l'histogramme c'est-à-dire vous avez ici pour chaque plage entre telle valeur et telle valeur donc je je vois une idée sur la distribution n'est-ce pas et vous savez que les l'idéal dans les statistiques il
66:47
Speaker A
y a ce qu'on appelle les distributions normales et ça les distributions normal c'est ce qui est vraiment de mieux si vous avez toutes les colonnes vous trouvez des distrib qui sont normal c'est que vous avez une répartition de
66:59
Speaker A
vos données de manière équilibrée alors par exemple ici regardez glucose le gllycose c'est une presque il a il a la forme d'une distribution normale je vois par exemple ici ça c'est le maximum et après ici donc après je vois le je vois ici par
67:16
Speaker A
exemple les autres valeurs la même chose par exemple BL ça a l'air d'être une distribution normale alors pour les gens qui qui qui ne connaissent pas les distributions notamment la distribution normale c'est très important de regarder les les bases des statistiques parce que
67:32
Speaker A
quand vous analysez les données vous allez parfois faire ce qu'on appelle les tests d'hypothèse et que parfois pour faire les tests d'hypothèsees vous aurez besoin de connaître les les les distributions de bernoli les distributions normales donc ça c'est des
67:49
Speaker A
je j'aurais bien aimé que peut-être qui que que vous ayez un cours en statistique avant de faire ce ce cours là parce parce que généralement les statistiques c'est c'est des prérequis statistiques et probabilité c'est des prérequis de base euh les concepts de
68:03
Speaker A
base de du du cours de machine learning alors je suis sûr que comme vous faites des des filières scientifiques c'est que tout le monde a fait des statistiques et des probabilités ça dépend est-ce qu'il y a 20 ans ou il y a 50 ans ou est-ce
68:17
Speaker A
qu'il y a 2 années ça dépend donc mais euh si vous voulez peut-être je vais vous laisser sur classroom quelques cours quelques un quelques slides juste résumer un peu les les bases des statistiques et probabilités que vous devrez connaître pour les gens qui qui
68:34
Speaker A
bien sûr mais si donc ça c'est mais en tout cas pour le moment vous allez juste regarder la distribution et après vous pouvez également utiliser ce qu'on appelle box plot alors ici ça c'est bar plot bar ça c'est l'histogramme ok alors si vous
68:51
Speaker A
voulez afficher le box plot vous utilisez DF box plot et ça vous donne ça alors c'est quoi ça alors ça c'est c'est très important ça vous voyez donc je vous ai dessiné ça ça c'est un box plotte qu'est-ce qu'on mesure dans le le
69:05
Speaker A
box plotte vous avez c'est ce ce ce tiré là c'est ce que c'est la valeur minimale là c'est quoi c'est le First quartil c'est-à-dire les les premiers 25 % ça c'est la médiane ce trait là ça représente la la médiane euh ici ça
69:21
Speaker A
représente la moyenne là c'est le le le 3è quartil c'est-à-dire les 75 % des données alors si vous regardez maintenant ici par exemple vous voyez par exemple entre 25 % et 75 % je vois euh généralement euh c'est-à-dire les
69:38
Speaker A
données vous avez une idée que les données sont concentrées circulent sur est-ce que sur le premier quartil sur le 2è sur le 3è et cetera et ça vous avez la valeur maximale et vous voyez donc ça c'est pour chaque variable vous avez une
69:52
Speaker A
idée mais ce qui est intéressant regardez par exemple pour l'insuline pour l'insuline je vois bien la valeur minimale je vois tout ça c'est très petit mais je vois des valeurs regardez ces valeurs là c'est des valeurs qui sont loin de de la
70:07
Speaker A
distribution Outers c'est les les valeurs abérrantes ok c'est-à-dire que ces valeurs là ces valeurs c'est des valeurs abérent c'estàdire que j'ai expliqué la dernière fois c'est comme si par exemple vous avez la la majorité de tous les échantillons vous avez des des
70:25
Speaker A
individus entre l'âge de 18 et 28 ans mais dans votre dataset vous avez un seul qui a par exemple 90 ans une seule personne qui a 90 ans 90 ans d'ailleurs vous allez le trouver ici donc le nombre de de points que vous
70:42
Speaker A
voyez là qui sort de du box généralementers après c'est à vous de dire est-ce que je veux supprimer ces outlers est-ce que je vais les garder et cetera donc et tout ça aujourd'hui je vais pas parler de comment traiter les
70:59
Speaker A
les les outliers mais il y a des situations si vous voyez vraiment il y a beaucoup de outliers sur beaucoup de c'est-à-dire de caractéristiques alors parfois on on préfère carrément supprimer toutes les lignes euh qui qui qui conc c'est outlayers bon la même
71:13
Speaker A
chose il y a des fonctions qu'on peut utiliser mais dans notre cas ici on va pas les toucher on va juste regarder ça ça c'est le box plot ok ça c'est c'est quoi ça c'est l'histogramme alors si vous voulez
71:33
Speaker A
encore dessiner le le l'histogramme mais en utilisant si born parce que ici vous voyez donc on a dessiné l'histogramme ici en utilisant directement pandas DF hisogram ça c'est mais si vous voulez utiliser cbor vous avez ici donc j'ai
71:50
Speaker A
cré la même chose une fonction euh qui permet de dessiner le même histogramme mais bon c'estàdire vous pouvez parce que avec Sibon vous pouvez afficher 4 c'està-dire l'allure vous pouvez ajouter alors ici j'utilise tout simplement corn SNS plot voilà je je vais plotter DF de
72:12
Speaker A
col ici donc le je vois je vois ici tout simplement ça veut dire je voudrais représenter donc l'allure donc par exemple ça c'est cure là c'est une ça l'air d'être une distribution normale donc une distribution normale c'est que vous avez
72:29
Speaker A
une distribution normale c'est là où vous avez la médiane et la moyenne sont la médiane s fusionné par exemple ça c'est la moyenne et en même temps c'est la la médiane et après le nombre de d'échantillons que vous avez à gauche
72:44
Speaker A
et le nombre d'échantillons que vous avez à droite c'est c'est c'est les mêmes ils sont répartis de manière normale et quand vous avez une distribution normale c'est très simple de faire ce qu'on appelle les tests d'hypothèsees en statistique et cetera
72:56
Speaker A
donc il y a de des des choses que vous pouvez appliquer si vous avez une distribution normale il y a il y a il y a des choses à il y a de la matière c'est-àdire vous pouvez analyser encore
73:06
Speaker A
plus vous pouvez avoir regarder par exemple mais en tout cas pour donc ici donc je suis juste en train de vous montrer comment faire ce qu'on appelle data visualization alors le code que vous voyez là donc c'est presque la même
73:20
Speaker A
chose sauf que ici donc je vais créer un PLT sa plot je vais créer une une grille de 3 lignes FO 3 colonnes 3 x 3 voyz ici 3 3 lignes et 3 colonnes ça c'est la taille de la figure
73:35
Speaker A
générale ici j'ai le numéro de la ligne le numéro de la colonne je vais parcourir toutes les colonnes à chaque fois je vais plotter la colonne et je vais la mettre dans quelle c'est AX de index col index par
73:50
Speaker A
exemple la première je vais la mettre dans 00 c'estàdire ici mais après je vais euh euh je vais incrémenter le nombre de de colonnes comme ça je vais passer à à la colonne suivante donc je vais passer à 1 je vais passer à 2 mais
74:06
Speaker A
quand si le le colonne index égal à 3 je dois passer à la ligne suivante qu'est-ce que je fais je reviens vers la colonne égale à é0 et je vais incrémenter le nombre de de lignes alors ça c'est pour quelqu'un qui qui n'a
74:20
Speaker A
jamais fait d'algorithmique ça va lui casser le la tête mais ça c'est c'est très basique comme c'est juste code mais mais bien sûr pour vous ce qui vous intéresse comment vous avez un code vous pouvez l'exploiter mais ça c'est pas quelque
74:33
Speaker A
chose qui qui manque voilà alors je peux utiliser par exemple je voudrais savoir est-ce que mon dataset est équilibré ou pas alors dans ce CASL je vais utiliser DF de outcome value count bon je vais vous montrer donc si vous mettez
74:50
Speaker A
DF DF de outcome point value count vous exécutez donc ça vous donne 0 il y a combien de 0 500 a combien de 1 c'est 268 ça ve dire ici donc c'est un datet qui n'est pas équilibré donc
75:12
Speaker A
c'estàd que rien à faire pas alors vous allez utiliser donc préision ou bien il faut un score ça dépend de ce qu'on veut alors SAF que voulez représenter ça ce forme d'un hisogramme vous utilisez euh ici euh vous faites point point plot vous
75:33
Speaker A
ajouter plot point barre horizontale et c'est tout bon ça vous donne ça vous donne ça c'est ce que j'ai ici alors après maintenant je vais je vais il y a il y a aussi le en fait il y a des diagrammes qui sont
75:58
Speaker A
très utiles dans l'analyse c'est que moi ce que je veux représenter pour chaque caractéristique pour chaque variable oui regarde alors on met si on met par exemple ici outcome outcome c'est quoi c'est output c'est est-ce qu'il est malade ou pas n'estce pas je si vous
76:24
Speaker A
faites comp qu'est-ce que ça vous donne ça vous ça vous dit que le nombre de de non malades le nombre de de femmes qui qui ne sont pas diabétique il y en a combien alors est-ce que tu me
76:39
Speaker A
suis oui oui oui ça alors tu vas interagir avec moi comme ça alors il y a combien de de de de femmes qui sont diabétiques 268 268 exactement 268 donc ça veut dire que output on a combien de
76:56
Speaker A
de femmes malad en a 268 le N malade il a 500 dat qui n'est pas équilibré parce que un dataset qui est équilibré c'est un dataset dans lequel je dois avoir 500 malades et 500 qui ne sont pas malade est-ce que tu vois mais
77:15
Speaker A
la DAT elle reflète la réalitére oui attendobtif qu'on crée un dataset équilibré sil n'est pas équilibré ça va mais pas de problème voilà donc c'est juste il faut le constater il faut dire juste est-ce que j'ai un dataset équilibré ou non
77:38
Speaker A
d'accord s'il n'est pas équilibré c'est bien de le savoir pourquoi parce que quand on va choisir la métrique on va savoir que on va pas utiliser mais on va utiliser le REC ou bien préision est-ce que tu vois ce que
77:51
Speaker A
je veux dire oui ouiie voilà p alors alors maintenant ça c'estàdire ça je je vais pas le traiter ici parfois quand vous avez un dataement équilibré ici vous voulez par exemple éviter que le modèle soit bisé ou des choses comme
78:09
Speaker A
ça parce qu'il y a des cas comme ça on va essayer deéquilibrer et si vous voulez équilibrer un dataset on peut faire ce qu'on appelle le down simpling ou bien overling la classe majoritaire par exemple 500 je vais réduire je vais
78:25
Speaker A
supprimer un ensemble de lignes jusqu'à ce que ça devienne 268 et j'ai un dataset qui est équilibré ou bien je fais oversling alors oversline c'est que je dois inventer des nouvelles données ici pour que je puisse atteindre 500 il y a des algorithmes
78:48
Speaker A
pour over simpline il y a des algorithmes il y a des techniques pour le dans simpline maisci je traite pas ce cas-là ici on on va regarder le DataSet tel qu' est et on va l'analyser on va regarder les performances mais il y a
79:00
Speaker A
des cas où oui juste si on veut dupliquer des des des valeurs qui ne sont pas significatives est-ce qu'il aura pas un impact sur la visualisation et l'analyse voilà généralement quand vous avez quand vous avez le nombre par exemple un
79:16
Speaker A
déséquilibre flagrant alors si tu as un déséquilibre flagrant qu'est-ce qu'on va choisir dans simpline ou la overline si vous avez un dataset qui très grand vous allez faire dans simpline est-ce que tu vois ce que je veux dire mais si tu as
79:30
Speaker A
un dataset F 50 comp échantillon si tu fais dans simpline tu vas encore réduire les données donc ici il vaudrait mieux chercher une technique de over simpline mais over simpline il va inventer des données mais comment et bien en
79:46
Speaker A
s'inspirant des données qui qui existent dans le c'est-à-dire bon c'est-à-dire on va essayer de de de inspirer des données qui existent pour ajouter des nouvelles données ce qu'on appelle data augmentation c'est-à-dire on ajoute des données mais il y a des cas où ça résou
80:00
Speaker A
les problèmes merci voilà alors ici donc on va faire ce qu'on appelle crossab alors juste cross Tab si vous faites pandas crossab je vais regarder chaque caractéristique par rapport le output si vous faites par exemple je vais regarder l'âge par
80:23
Speaker A
exemple pour donner un exemple je cross DF de et DF de outcome et je vais je vais normaliser par rapport à l'index et je multiplie par 100 pour avoir un pourcentage plutôt parce que ça va vous afficher un
80:40
Speaker A
pourcentage qu'est-ce que ça donne ça donne dataame dans lequel j'ai regarde ici l'âge ça c'est les valeurs de l'âge par exemple pour 21 il y a combien il y a combien de patients qui ne sont pas malades et qui ont 21
80:57
Speaker A
ans en pourcentage il y a 92 % il y a combien de patients qui sont malades et qui ont un âge de 21 il y a 7,8 7,9 % ici par exemple 22 ans 84 % ne sont pas malades 15 % sont
81:20
Speaker A
malade CR il est extrêmement important parce que ça vous donne déjà vous êtes en train à peu près de faire des investigations par exemple je vois ici par exemple ceux qui sont malades je vois là c'est faible mais je vois que
81:33
Speaker A
quand l'âge il est à 51 ans par exemple ici je vois déjà 62 % des femmes sont diabétiques alors que 30 30 37 ne sont pas diabétiques je vois ici par exemple 81 ans et ça c'est un cas particulier
81:48
Speaker A
parce que c'est un outler il y a une seule personne normalement ce caslà c'est normalement on devrait le supprimer mais dans notre analyse on va faire ça mais après je vous laisse vousmême peut-être fairees investigation et cetera je vois ici par exemple par
82:06
Speaker A
exemple 70 ans il y a 100 % de des des personnes qui sont diabétique donc voyez donc mais c'est pas une règle générale je peux pas dire c'est parce que c'est âgé qu'il est diabétique mais je vois déjà la probabilité de d'être diabétique
82:19
Speaker A
ça augmente avec l'âge je ça me donne à peu près une idée mais si vous voulez représ présentter ça au format ce forme d'un histogramme vous faites ça donc je vais faire encore une boucle sur je vais parcourir toutes les colonnes et if est
82:34
Speaker A
différent de outcome parce que je vais pas représenter le outcome je vais représenter toutes les colonnes sauf sauf le outcome sinon si on est différent de outcome on va utiliser pandas cross Tab je vais donner la colonne de i par rapport le outcome et
82:49
Speaker A
je fais ce que je viens de faire ici bon c'està-dire c'est je fais la même chose c'est-à-dire je représente mais cette fois-ci je vais faire une Bou je vais représenter ça pour toutes les pour toutes les les colonnes et puis
83:00
Speaker A
je vais utiliser plotte je vais plotter ça s forme d'un barre et ça vous donne ça et ça c'est intéressant vous voyez par exemple pour cette caractéristique ça c'est le bleu c'est quoi c'est zéro et le 1 c'est le c'est l'orange et je
83:17
Speaker A
vois par exemple ici déjà euh c'est c'est la valeur 14 par exemple ici c'est 100 % c'est c'est et là je vois donc j'ai ça me donne une idée ça c'est pour cette caractéristique pour le glycose ça c'est parce qu'il y a
83:32
Speaker A
tellement beaucoup de valeur on voit encore une idée par exemple je vois que le glucose le glucose ça augmente il y a plus de probabilité que ça soit euh diabétique par exemple pour la la pression il y a pas de de règle la
83:46
Speaker A
pression artérielle euh voilà bon ça vous donne ça mais je l'ai fait c'est juste pour vous montrer comment comment euh faire ce qu'on appelle le cross Tab et le cross Tab euh ça vous ça vous permet d'avoir une idée
83:59
Speaker A
sur euh euh c'est-à-dire le nombre de le nombre d'instances pour une valeur donnée sur les différentes classes et ça c'est c'est très utile euh pour les gens qui font des statistique généralement c'est très utile alors encore si vous
84:14
Speaker A
voulez encore représenter ça vous pouvez utiliser on va on va utiliser DF GROUP BY outcome je vais grouper par rapport le outcome ça veut dire quoi je vais prendre le groupe des zéos et le groupe des des 1 et si je prends le groupe des
84:28
Speaker A
Z0 je vais faire la moyenne et je vais représenter ça se forme de déjà si si vous vous si vous affichez ça ça vous donne ça par exemple pour le le le glucose par exemple pour zé la moyenne des valeur la moyenne des
84:47
Speaker A
valeur de du glucose pour ceux qui ne sont pas malades est égal à 110 et ceux qui sont malades la moyenne est égale à 142 par exemple pour l'insuline la moyenne des valeurs c'est 127 pour que ceux qui ne sont pas malades et 167 pour
85:05
Speaker A
ceux qui sont malades pour les gens pour les médecins par exemple parce que les médecins parfois il c'est comme ça qu'il qu'ils analysent il voient déjà par exemple peut-être cette valeur BMI par exemple 30 % ici plutôt 30 instance ça
85:24
Speaker A
c'est pas du% entage c'est plutôt c'est la moyenne même chose ici alors si vous voulez représenter ça se forme d'un graphique vous faites la même chose et vous ajoutez ici plot c'est-à-dire vous ajoutez plot et ça vous donne ça par exemple pour zéro bah
85:39
Speaker A
voyez donc ça c'est le la moyenne pour pour chaque variable et vous voyez bien vous ici vous allez surveiller euh l'orange plutôt le c'est pas l'orange ici les 1 quelle est valeur la plus grande la moyenne alors c'est le
86:01
Speaker A
l'insuline mais ça n'a pas c ça n'a pas vraiment beaucoup de sens pourquoi parce que les les les valeurs ne sont pas normalisées voyez parce qu'il y a des valeurs qui sont par exemple l'insuline c'est des valeurs grandes mais l'âge il
86:16
Speaker A
est entre 21 et cetera donc si vous voulez la M exactement si vous voulez vraiment avoir une visibilité il faudrait que mes valeurs soient comprises entre 0 et 1 je dois ramener toutes les valeurs des colonnes entre -1
86:28
Speaker A
et 1 c'est-à-dire c'est faire ce qu'on appelle la standardisation ou bien la normalisation mais tout ça donc je suis juste en train de vous montrer quelques techniques alors après on va essayer de regarder s'il n'y a pas de corrélation
86:42
Speaker A
entre les les différentes variables alors pour cela donc je prends d'abord le Y pour nous le output c'est quoi c'est outcome c'est DF de outcome et X c'est quoi c'est DF drop colonne outcome c'est-à-dire je vais supprimer outcome
86:59
Speaker A
et tout le reste des variables ça devient X X moi pour moi voilà donc le les input et ça c'est le output ça on l'a déjà fait la dernière fois la même chose et puis je vais utiliser x la
87:12
Speaker A
table la corrélation voyz donc x correlation ça me donne la matrice de corrélation entre les variables et je vais la représenter s forme d'une hit map HM comme ça SNS hitmap et ça me donne ça et qu'est-ce que ça me donne
87:29
Speaker A
ben ça me donne tout simplement je vais surveiller la la est-ce qu'il y a une forte corrélation entre des variables et comment vous allez savoir s'il y a une forte corrélation quand vous avez des valeurs proches de 1 par exemple entre
87:42
Speaker A
gllycose et entre glucose et par exemple je vais et BMI par exemple regardez gllycose et BMI le le coefficient de corrélation il est de 0 23 donc il n'y a pas de de forte corrélation mais si je vois une valeur qui est très grande la
88:00
Speaker A
plus grande ici d'ailleurs c'est du bleu 0,54 n'est-ce pas l'âge avec avec le le nombre de grossesse il y a une corrélation mais n'est pas très forte mais si vous avez par exemple une corrélation qui atteint 0,80 d plus ça veut dire que vous avez
88:18
Speaker A
une forte corrélation si vous avez une forte corrélation ça veut dire c deux variables il faut supprimer une il faut garder l'une ou ou l'autre parce que ça sert à rien de garder de variables qui qui qui qui sont
88:32
Speaker A
linéirement dépendantes qui sont fort corrélées c'est clair ou alors c'est comme si vous dites par exemple là j'ai le poids est-ce qu'il y a une forte corrélation c'est pas une règle générale parce que je peux bien mais si vous voyez que par exemple si
88:52
Speaker A
j'augmente cette variable l'autre il va augmenter de la même manière ben ça veut dire que ces deux variables représentent la même la même chose et ça sert à rien de les garder dans le modèle donc il faut supprimer une mais ici donc la
89:05
Speaker A
table de corrélation la matrice de corrélation il faut surveiller les valeurs qui sont proches de de 1 ici par exemple vous voyez un pourquoi c'est normal parce que il est en forte corrélation avec même ça je vois un
89:20
Speaker A
c'est normal alors maintenant on va maintenant commencer à entraîner le modèle et pour entraîner le modèle on va diviser notre dataset en deux parties il y a une partie d'entraînement une partie pour les tests et pour cela je vais utiliser
89:38
Speaker A
la fonction trend test split donc j'ai déjà importé au départ donc ici donc je vais lui donner X Y test size je vais lui donner 03 c'està-dire 30 % des données c'est de je vais les garder pour les tests et le reste c'estàdire 70 %
89:55
Speaker A
c'est pour les les données d'entraînement et ça random state donc une valeur quelconque vous vous la fixez comme ça si vous réexécutez votre application plusieurs fois vous allez obtenir le même résultat parce que si vous mettez pas ça si vous mettez par random state à
90:12
Speaker A
chaque fois que vous faites split il va vous splitter d'une manière aléatoire n'est-ce pas si vous allez avoir des des des des perform si vous réexécutez une deuxième fois il il vous donne une distribution qui est différente n'est-ce pas alors que vous vous avez
90:26
Speaker A
besoin de garder le le même même split mais après si vous voulez faire ce qu'on appelle si vous voulez l'exécuter plusieurs fois parce que vous voulez faire de plusieurs foises ça mais ça on va on va en parler quand on va parler de
90:41
Speaker A
ce qu'on appelle cross Tab cross validation voilà cross validation donc pour euh on va voir comment on fait ce genre de de technique parce que parfois on a besoin de faire des des échantillons on va entraîner on évalue
90:56
Speaker A
on prend d'autres échantillons l'entraînement on va réentraîner en teste donc tout ça c'est quelque chose qu'on va pas traiter dans ce cas-là bref ça on l'a déjà vu la la semaine dernière donc on fait la même chose donc j'ai ici
91:12
Speaker A
XTR x test oui c'est juste pour%% donc normalement on précise pas les les est-ce que c'est 0 1 c'est par hasard vous avez vous avez tout à fait raison euh je je te laisse d'abord terminer c'est c'est par hasard j'ai par hasard
91:34
Speaker A
sur un nbre Maxim de Max ça va ça vous avez tout à fait raison alors il y a une une pariable qui s'appelle stratify et là vous utilisez outcome alors si vous mettez outcome là tu vas lui dire de diviser
91:52
Speaker A
maisiv outcome il va il il va il va garder le parce que le le risque si vous mettez pas ça euh le risque c'est quoi c'est que il se peut que les données de test il y aura que des des 1 et les données
92:05
Speaker A
d'entraînement il y aura plus de zé alors que vous avez besoin ne sont pas distribués déjà il sont pas exactement alors si vous faites ça il va respecter les proportions les outc et ça c'est une très bonne question parce que ça c'est
92:17
Speaker A
c'est vrai ça change beaucoup de choses j'exécute alors ici c'est euh paramè mettre outcome j queci c'est bien écrit mais je pense y monsieur c'est pas comment ah c'est pas y c'est y y c'est y oui y oui
92:45
Speaker A
oui tout à fait alors mais si vous le mettez pas voyez vous avez ici y c'estàdire la valeur par défaut il utilise parce que ça c'est le input d'accord et ça c'est le output il connaî déjà le output donc là
93:07
Speaker A
automatiquement il fait stratify ég ég cette variable donc c'estàdire si c ce paramètre n'est pas précisé par défaut il prend prend cette variable mais c'est une très bonne question parce que si s'il le fait pas je vais avoir n'importe quoi il faut que
93:23
Speaker A
je divise mais les proportions des 1 et des Z0 doit doivent rester de manière équilibrée les données d'entraînement et les données de de test voilà et d'ailleurs vous pouvez toujours faire vos vos investigations vous faites par exemple x
93:40
Speaker A
xtin si vous mettez tapape déjà ça vous donne par exemple les données d'entraînement je vais avoir 537 liges 8 colonnes ok si vous mettez par exemple euh alors je sais pas le le y y test y ytr alors ici donc je
94:09
Speaker A
vois je vois ici donc ça vous donne un un tableau donc vous avez des zé vous avez des 1 vous pouvez consulter le nombre de Z0 le nombre de 1 et cetera et là vous allez voir que c'est elle
94:19
Speaker A
respecte ça elle respecte alors alors si vous voulez faire la standardisation parce que si vous avez des valeurs qui ne sont pas dans votre dataset uniforme l'idéal c'est de ramener de ramener vos valeurs à une plage entre 0 et 1 ou la Mo et 1 ou bien
94:39
Speaker A
vous utilisez ce qu'on appelle une ce qu'on appelle standardisation et pour faire une standardisation il y a un algorithme qui s'appelle standard scaler c'est très utilisé en data science oui juste pour le test size et le random state les
94:56
Speaker A
valeurs qu'on prend ici ce que c'est c'est notre choix ah alors c'est votre choix si si vous voulez par exemple euh si vous mettez 02 si vous mettez 02 ça veut dire vous dites je vais garder 20 20 % pour les données de test et 80 %
95:09
Speaker A
pour les données d'entraînement mais généralement euh les proportions vous pouvez utiliser 0,2 ou bien 0,3 ou bien 0,25 ça dépend ça dépend euh ça dépend du du dataset le nombre de label et le nombre d'instances que vous avez
95:24
Speaker A
mais si vous voulez rester dans les normes vous êtes sur 30 % pour les tests et 70 % pour les données d'entraînement mais si vous avez un dataset qui n'est pas vraiment très grand il faut pas aussi pénaliser le les données
95:38
Speaker A
d'entraînement donc vous pouvez descendre vers 02 et après vous allez vous débrouiller pour monur sil vous plaît oui alors pour random state je term c'est quoi la différence entre euh je termine juste la réponse pour random state là vous mettez ce que vous voulez
95:55
Speaker A
c'est ce qu'on appelle un S une valeur quelconque vous fixez une valeur sur la base de ce site qu'il va faire un générateur aléatoire qui qui fait que à chaque fois que vous exécutez il va il va diviser de la même manière toujours
96:08
Speaker A
mais il faut fixer une valeur alors vous pouve mettre 1 2 3 peu importe il y a pas de problème oui votre question d'accord monsieur c'est quoi la différence entre les données test et les données oui alors ça c'est c'est euh c'est en
96:27
Speaker A
fait c'est c'est un peu on revient un peu ce que nous avons dit la dernière fois alors généralement en machine learning nous avons besoin de diviser le en fait le notre notre dataset en deux parties les données d'entraînement et
96:40
Speaker A
les données de test les les données d'entraînement c'est ce qu'on va utiliser pour entraîner le modèle je vais entraîner le modèle sur la base des données d'entraînement et une fois que le modèle a a appris a fait a été
96:55
Speaker A
entraîné je vais le le le tester euh monsieur qu'est-ce que vous voulez dire par entraîner alors entraîner entraîner ça veut dire trouver le c'est comme si vous dites trouver le la la formule qui existe entre les entrées et les sorties
97:08
Speaker A
vous fait vous êtes dans quelle discipline ah ok vous vous êtes euh je suis math math bah math vous allez comprendre comme ça ah juste comme ça je te donne des exemples dans ton truc donc c'est comme si euh entraîner ça veut dire c'est
97:24
Speaker A
comme si je je cherche une fonction mathématique qui va lier ces entrées c'est-à-dire ces variables d'entrée ces colonnes que vous voyez là non ok alors c'est comme si je te demande trouve-moi une fonction mathématique qui va lier ces variables
97:39
Speaker A
avec C cette cette outcome en fonction de ces variables alors sauf que mathématiquement parlant tu peux pas la trouver n'est-ce pas parce que la trouver une fonction mathématique qui va te dire telle variable automatique et les diabétique mais ici on est en train
97:56
Speaker A
de créer un modèle ce qu'on appelle piloter par les données à base des données de l'expérience on va entraîner des modèles à trouver une une fonction approximative d'une fonction mathématique qui va prédire est-ce que est-ce que l'échantillon est-ce qu'il
98:13
Speaker A
est diabétique ou pas est-ce que c'est clair d'accord voilà merci Monsieur alors maintenant donc quand on va on a les les les données on va le découper en deux parties les données d'entraînement on va les utiliser pour entraîner le
98:30
Speaker A
modèle pour trouver donc ce modèle approximatif mais pour valider pour tester le modèle on va le tester avec les données de test pourquoi parce que les données d'entraînement il les a déjà vu pour entraîner mais les données de
98:44
Speaker A
test le modèle ne les a pas vu donc ce qui fait quand on va tester avec les données de test on a la réalité est-ce que notre modèle est bien fait ou pas alors si vous avez raté le le cours de
98:54
Speaker A
la semaine dernière donc ça serait bien de regarder la vidéo ça vous donne un peu plus d'explication là-dessus ok alors donc si vous voulez faire la standardisation il y a standard scaler c'est ça la formule la formule c'est on
99:10
Speaker A
va prendre chaque valeur c'est x moin la moyenne divisé par standard devviation c'est-à-dire lesé carart type donc si vous voulez faire ça vous voulez faire la standardisation on va créer un objet standard scale on va utiliser xtin scaled ça c'est la
99:27
Speaker A
nouvelle variable qui contient les données plutôt standardisé ég à quoi ég SC standard SCER fit transform je vais lui donner les données d'entraînement XT il va les parcourir pour trouver le maximum il va trouver il va trouver la
99:44
Speaker A
moyenne il va trouver le standard devviation et pour chaque valeur il fait son calcul donc fit fit ça veut dire apprendre transform ça veut dire calcul alors la même chose et après donc je vais mettre ces données là
100:00
Speaker A
normalement ça devient des tableaux je vais les mettre dans un Data frame et pour cela je vais utiliser x scaled ég pondas dataframe et je vais mettre tout simplement ce tableau x scaled et les colonnes c'est tout simplement c'est les
100:15
Speaker A
mêmes les mêmes colonnes que j'ai alors je fais la même chose pour les données de test je vais les standardisé alors cette étape n'est pas obligatoire ici hein c'est-à-dire même si on fait pas de standardisation on va voir qu'on va
100:29
Speaker A
obtenir à peu près des des résultats qui sont proche mais pour nous c'est l'occasion de voir mais si vous regardez maintenant si vous regardez par exemple x si vous regardez x point head je vais voir les premiers les cinq premières
100:45
Speaker A
lignes et après vous euh vous regardez plutôt xtrin je vais prendre par exemple les C premières lignes et après je prends x TR scaled point par exemple je prends les 5 premières c'est-à-dire les mêmes lignes alors ça va par exemple le
101:07
Speaker A
glucose vous voyez donc la valeur ici 80 14 il y a des valeurs grandes n'est-ce pas mais quand vous fait la standardisation voyez la valeur ça devient moins - 0 donc vous avez des valeurs qui sont comprises entre 1 et 1 ça dépend des cas
101:22
Speaker A
mais vous avez de ça c'est de la standardisation et ça à de l'algorithme de standardisation et il prend en considération la la distribution des données il vaut donc quelque chose pour uniformiser le les données alors maintenant si vous avez
101:38
Speaker A
uniformisé comme ça si vous revenez faire ce que je vous ai montré tout à l'heure regardez ça je vous ai dit tout à l'heure que ça c'est pas c'est pas ça représente pas pourquoi parce que les les données ne sont n'ont pas les mêmes
101:51
Speaker A
échelles c'est pas les les mêmes échelles mais si refaites le le travail ça vous donne une idée sur euh sur euh c'est-à-dire la moyenne des valeurs standardisé ça vous donne une idée sur quelle est la variable qui influence
102:03
Speaker A
plus sur le diabète c'est ça ce qu'on cherche c'est à peu près ça bon en tout cas donc on a on a fait ça alors maintenant on peut créer euh l'entraîn on va créer le modèle alors pour créer
102:16
Speaker A
le modèle on va commencer d'avoir par logistique regression donc c'est le la régression logistique donc je rappelle que la logistique regression utilise la fonction sigmouid ok alors pour créer le modèle on va utiliser logistique regression donc ça c'est la classe que
102:33
Speaker A
j'ai importé et donc ça c'est le modèle max euh le le nombre maximum d'itération alors si vous mettez pas si vous mettez pas il met une valeur par défaut n'est-ce pas mais quand vous faites vous faites fit ici quand vous
102:52
Speaker A
faites par exemple le modèle alors c'est quoi fit ça veut dire apprendre maintenant je lui don quoi c'est quoi input x output c'est y les données plutôt la sortie alors si vous faites ça alors ici donc il fait l'entraînement mais parfois
103:14
Speaker A
si le maximum d'étiration par défaut il est fixé par exemple à 500 ici lui il il est en train de d'entraîner alors que il dépasse quand il dépasse 500 il va quitter parce que pour lui si com vous lui dites tu vas
103:32
Speaker A
continuer à tourner dans une boucle à prendre combien d'itération maximum c'est par exemple 500 et quand il dépasse 500 il vous affiche ici il a il a terminé l'entraînement mais il a dépassé le le maximum et s il dépasse le
103:46
Speaker A
maximum ça veut dire que ça veut dire que vous devrez augmenter le max et par exemple ici si vous si vous dit max é ég à 1000 regardez vous mettez 10 par exemple vous faites ça regardez qu'est-ce qu'il
104:02
Speaker A
vous dit il a quitté en combien d'itération 10 ça c'est pas bon ça veut dire réellement est-ce qu'il a fini l'entraînement pour lui il a fini mais il a quitté le il a quitté avant qu'il termine l'entraînement alors je vais lui
104:15
Speaker A
donner par exemple 1000 j'entraîne alors ici donc vous avez pardon alors tout à l'heure il y avait pas il y avait pas de donc ici alors ici donc vous avez vous avez 1000 alors ici a pas de problème parce
104:36
Speaker A
que généralement quand il y a un problème il nous affiche ici il va loguer comme quoi il a il a dépassé le le nombre de d'itération maximum ça c'est un c'est juste un un paramètre alors maintenant une fois que
104:49
Speaker A
vous avez entraîné donc j'ai entraîné maintenant je vais faire la prédiction et pour faire la prédiction j'utilise le modèle logisticqueation oui oui alors maintenant on va on va par on va faire en parallèle en série on va faire alors si tu veux faire ça si tu es
105:18
Speaker A
capable de faire en parallèle c'est bien on va les faire enrie on va tester d'abord ça on va regarder les performances on va utiliser SVM on va utiliser descision tre on va tout faire tout ça d'accord merci c'est clair ok alors
105:34
Speaker A
donc voilà donc je fais l'entraînement maintenant je vais faire la prédiction predict je lui donne extr skilled donc je lui donne les données d'entraînement il va faire la prédiction il va me donner euh il va c'est-à-dire toutes les
105:48
Speaker A
données d'entraînement je lui donne les données d'entraînement il va me donner le y ça c'est alors si vous rappelez maintenant nous avons les données d'entraînement on connaît déjà les valeur avec ces valeurs là on a fait l'entraînement mais quand
106:05
Speaker A
je fais la prédiction je vais récupérer pour chaque donnée d'entraînement réellement il a il a qu'est-ce qu'il a prédit est-ce qu'il a prédit un zé ou bien 1 ok alors si vous voulez je fais ça je vais faire je vais prédire les données
106:24
Speaker A
d'entraînement et je vais préd également les données de de test et j'ai donc les deux résultats ici alors si vous affichez pr vous allez voir que vous avez des par exemple pour le la première donnée c'est et la préd c'est 0 ça c'est 0 ça c'est
106:47
Speaker A
10 et ce ça c'est le ce qu'il a prédit pas alors pour mais ça ça veut rien dire maintenant ce qui nous intéresse c'est de calculer qu'est-ce qu'on veut on veut faire ça on voudrait évaluer est-ce que notre
107:04
Speaker A
modèle est est bon donc je voudrais calculer la précision et récol et je vais également afficher la matrice de de confusion je vais avoir une idée combien de fois il s'est trompé et cetera alors le modèle tel qu'il est créé maintenant
107:22
Speaker A
ben déjà pour le si vous voulez afficher le accur vous utilisez matrix je vais afficher matrix accur score qu'est-ce que je lui donne y y c'est c'est ça le vrai le vrai output et qu'est-ce que je lui donne je
107:43
Speaker A
lui donne le Y qui a été prédit donc je lui donne C cette colonne ri et je lui donne ce qu'il a prdit et à partir de là il veut me calculer ce alaleors et ben justement euh voilà donc
107:57
Speaker A
je vais euh calculer euh le iur précision et récolte donc vous avez des c'est des fonctions que vous avez sur euh dans Matrix alors si j'exécute je vois bien que Ic il est à 76 %. je vois la
108:16
Speaker A
précision il est à 70 % rle elle est à 51 % c'est pas terrible c'est-à-dire que euh avec ce ces données là mais je laisse mais après on va d'abord tester avec les autres algorithmes pour voir quel est l'algorithme qui donne mieux et
108:32
Speaker A
je vois par exemple ici logistique regression dans mon cas ici ça donne pas de très bon de très bon résultat mais est-ce que je peux l'améliorer oui les h paramètres et cetera c'est un travail mais ici donc je vais pas rester
108:49
Speaker A
là-dessus maintenant on va juste une utiliser une fonction qui s'appelle clification REP c'est très important je lui donne y et predicted et la même chose qu'est-ce qu'il vous affiche il vous affiche le tableau et pour ce tableau là qu'est-ce qu'il vous dit il
109:08
Speaker A
vous dit par exemple pour la classe 0 il y a combien d'échantillons de Type 0 c'est 300 57 pour 1 il y en a 181 alors pour les valeurs 0 la précision est value à c'est-à-dire pour la catégorie 0 la précision elle est à à
109:29
Speaker A
79 et pour les valeurs 1 la la précision elle est à 71 mais la moyenne avéré c'est 75 donc c'est c'est c'est ce que vous avez ici n'est-ce pas là c'est à peu près 76 n'est-ce pas donc normalement ici euh c'est voilà
109:47
Speaker A
c'est 8 average 76 donc c'est-à-dire pour vous euh dans ce cette matrice là qu'est-ce que vous allez voir vous allez voir ici la précision elle est combien euh 0,76 récolle récolle alors pourquoi j'ai ça ici ah pourquoi ici parce que j'ai
110:06
Speaker A
euh non alors y alors ici ouioui alors ici donc le 052 que vous voyez là c'est ce que vous voyez ici donc pour les cal pour la catégorie 1 pour la catégorie 0 il est à 0 89 ok alors ce qui ce qui vous donne
110:40
Speaker A
une moyenne de 0 en tout cas pour vos mesures vous pouvez les trouver ici ok alors si vous voulez afficher la matrice de de confusion c'estàd cette matrice là alors vous pouvez utiliser tout simplement le Matrix et vous appelez une fonction qui
110:59
Speaker A
s'appelle confusion matrix alors ici vous lui donnez y predicted et ça vous donne la matrice de confusion et cette matrice de confusion je vais l'afficher sous forme de ce qu'on appelle une hit map c'estàdire c'est une map comme ça en
111:16
Speaker A
utilisant sior hitmap je lui donne la matrice de confusion je vais lui demander d'ter c'estàdire je voudrais qu'il m'affiche les valeurs euh ici donc c'est le format de chiffr après la virgule et après les labels ici donc j'ai note diabète diabète notre diabète
111:33
Speaker A
diabète ça c'est juste et si vous exécutez ça ça vous donne à peu près ça vous voyez donc le nombre de trou positifs pour ce modèle là c'est 319 ça veut dire quoi les trou positifs ça veut dire le nombre de de femmes qui
111:48
Speaker A
sont réellement diabétiques et qu' a détecté diabétique c'est 3 ça c'est le false positive le nombre de de femmes qui ne sont pas diabétiques et qu' a qu' a détecté non diabétique c'est 93 mais ça c'est les FAL positives
112:05
Speaker A
c'estàdire le nombre de femmes qui sont réellement diabète mais il les a détecté non diabète il en a 38 c'est il s'est de cette catégorie il s'est trompé 38 fois ici vous avez 87 les fes négatives c'est-à-dire le nombre de femmes qui ne
112:24
Speaker A
sont pas diabète qui a détecté diabète mais ça c'est le c'est avec ça qu'on calcule ça c'est exactement c'est pour cela que je vous ai montré ça au départ parce que le plus important c'est de comprendre comment calculer
112:39
Speaker A
le est-ce que c'est clair alors donc mais ça monsieur dans le supp oui oui monsieur dans le support il y a il y a 37 j'ai pas compr n 537 dans le support le support ici alors vous tu veux dire c'est
113:14
Speaker A
ça de confusion 537 537 F 5 d'accordord non ça c'est le total ça tu veux dire ça là ça c'est le nombre total par exemple ici il y a combien d'échantillons qui sont labisésé 353 il y a combien des
113:49
Speaker A
chantillons qui sont labis4 si vous faites somme c'est le total le nombre total de c'est-à-dire des lignes parce que ça c'est le ça c'est ça c'est le ça c'est ça c'est la moyenne de il faut un score ça c'est récole et ça
114:11
Speaker A
c'est précision alors ça mais mais est-ce que on va on va dire ça y est bon j'ai une euh Curci si vous voyez que par exemple dans votre objectif c'est d'atteindre 75 % est-ce que vous pouvez faire dire ça y
114:30
Speaker A
est c'est bon un modèle qui est bon j'ai une une performance de 75 % est-ce que je peux conclure que le modèle est bon non je dois voir ici les données de test parce qu'on vient de le tester avec quoi
114:45
Speaker A
regardez qu'est-ce que je lui ai donneré prédicte quoi les données d'entraînement n'est-ce pas sont il est déjà entraîné surct exactement il est déjà entraîné il a déjà vu ces données tout techniquement parlant il devait être déjà très bon ici
115:02
Speaker A
mais pour être sûr il faut voir les données de test il faut l'évaluer avec les données de test c'est-à-dire les données qu'il n'a jamais vu bah c'est ce que je fais ici encore donc vous voyez donc je lui donne quoi alors ça j'ai
115:15
Speaker A
déjà vu je fais X Y test et y y test c'estàdire je lui donne ça et je vais regarder encore ce qu'il va me donner et je vois ça c'est intéressant donc je reste voyez donc par exemple si
115:34
Speaker A
je prends REC il est à 078 % c'est 78 % les donné d'entraînement c'est combien 77 les donné de test 78 ça veut dire que il n'y a pas de overfitting ça c'est très important parce que si vous avez fait les données
115:55
Speaker A
d'entraînement vous avez 90 % 90 % 98 % c'est très bien vous allez applaudir 8 98 % c'est c'est bon mais les données de test 60 % et ça ça veut dire que vous avez ce qu'on appelle un over fitting
116:12
Speaker A
c'est-à-dire le modèle n'a pas su généraliser et le overfitting le underfitin euh je l'ai expliqué la semaine dernière donc pour les gens qui qui qui n'ont pas vu ça il faut revenir d'accord donc c'està-dire que vous testez avec les données d'entraînement
116:28
Speaker A
et vous évaluez avec les données de test mais vous regardez s'il n'y a pas d'overfiting alors si vous avez un overfiting ça veut dire que tout simplement votre modèle n'est pas n'est pas bon donc il faudrait soit le jouer
116:45
Speaker A
sur les hyper paramètres soit soit tout simplement vous choisissez un autre un autre modèle alors en conclusion donc pour la logistique regression vous avez atteint vous avez un modèle euh euh pour lequel vous pouvez faire confiance à hauteur de
117:02
Speaker A
combien de pourcentage alors pour la précision c'est combien oui bien sûr oui ça c'est noté ça je vais te faire à ta place donc c'est-à-dire vous avez une une précision de 76 % un récol de 77 % et un un un il faut un score de 76
117:31
Speaker A
%. alors on va essayer de voir avec les autres modèles est-ce qu'on peut améliorer ce ce ce modèle euh oui bien sûr euhé précision locale et cetera les paramètres alors je vous promets on va on va faire on va faire alleège euh
117:53
Speaker A
parce que il faut aujourd'hui que je je je passe tout c modèle parce que il y a beaucoup de choses que je vais vous montrer et d'ailleurs je vais vous montrer ce qu'on appelle pr REC curve également pour trouver des choses et on
118:07
Speaker A
va parler tellement de beaucoup chose que je je je vais revenir sur ça d'accord d'accord merci beaucoup il y a pas de souci alors déjà bon ce que je ici pour ne pas euh vous savez donc pour afficher
118:24
Speaker A
head pour ne pas faire des copies-collés à chaque fois que vous allez faire j'ai créé une fonction elle est là Metrix score qu'est-ce que je lui donne je lui donne actuel c'est-à-dire les les données y réel ou predicted c'est-à-dire les données
118:38
Speaker A
prédite et après il va tout simplement faire ça il va afficher classification report et après il va faire la la matrice de corrélation hitmap il fait ça alors cette fonction vous la faites donc si vous voulez à chaque fois évaluer il
118:53
Speaker A
suffit d'appeler matrix score vous lui donnez euh train et vous lui donnez predicted et vous avez ça ok bon ça c'est une fonction que vous pouvez ajouter dans vos vos notebook toujours c'est comme ça que son qu'on fait alors ça c'est pour les les données
119:09
Speaker A
d'entraînement pour les données de test ça nous donne ça alors si vous voulez pour le c'est pour donc logistique regression vous voulez voir les coefficients les coefficients parce qu'en fait vous avez c'est ça en fait dans la logisticque
119:29
Speaker A
regation ça consiste à quoi à trouver une fonction qui qui qui va dépendre de de plusieurs variables glucose BMA et cetera mais après on veut savoir le poids les les paramètres le coefficient de chaque de chaque de chaque variable
119:43
Speaker A
n'est-ce pas et pour cela vous utilisez d'abord je récupère les colonnes et vous utilisez le modèle et vous appelez la l'attribut CF alors CF ça vous donne les coefficients de chaque variable et après je vais le les stocker dans une dans un
120:00
Speaker A
Data frame dans la une seule colonne c'est les coefficients et je vais trier alors je fais t ça veut dire transposer t c'est transposé de la matrice et je vais trier àend ég false je vais trier par rapport
120:19
Speaker A
à la colonne 0 que vous voyez ici et ça vous donne une idée sur GLC c'est-à-dire quelle est d'après les valeurs que vous voyez là vous voyez ici quel est le poids le plus grand c'est le glucose BM et cetera mais
120:37
Speaker A
est-ce que c'est c'est la réalité non ce n'est pas la réalité pourquoi parce que logisticque regression utilise la fonction sigmoïde et la fonction sigmo il y a l'exponentiel n'est-ce pas alors si vous voulez réellement avoir des valeurs réelles alors où est-ce que j'étais
121:02
Speaker A
j'étais là bah qu'est-ce qu'on va faire alors déjà si vous représentez les coefficients vous mettez par exemple coefficient bar plot horizontal vous voyez donc il y a des valeurs négatives l'insuline par exemple il y a un l'insuline il y a le le poids il est
121:17
Speaker A
négatif c'est normal parce que nous avons la c'est une fonction exponentielle et c'est pour cela qu'est-ce qu'on va faire et ben tout simplement on va donc on va utiliser euh donc ici donc on va utiliser donc la la fonction exponentielle donc je prends
121:38
Speaker A
le modèle les coefficients et je vais faire exponentiel et je vais avoir les les paramètres réels et je vais les les représenter et ça ça vous donne les les vraies valeurs c'est-à-dire l'insuline vous avez la valeur 083 vous avez donc des valeurs comme ça
121:56
Speaker A
alors ici qu' pourquoi c'est pas trié alors 83 parce que ah ils sont tr ils sont alors je mets ici falsese voilà le plus grand c'est le glucose donc le coefficient de 2 maintenant il y a plus de valeur négative parce que j'ai
122:28
Speaker A
utilisé l'exponentiel et si vous voulez les représenter ça vous donne ça donc ça vous donne à peu près c'est-à-dire quels sont les les variables qui influencent plus sur la la sortie donc d'après là si je vois si d'abord c'est le le glucose suivi de BMI
122:51
Speaker A
et après et cetera d'après ce modèle et je vois par exemple l'insuline la valeur de l'insuline ici n'est pas très euh il n'est pas très significative pas le modèle alors si vous voulez j'ai mis ici trou comme ça je vais inverser le le
123:08
Speaker A
graphique comme ça c'est mieux alorss pourquoi utiliser l'exponentiel c'est alors pourquoi on on utilise l'exponentiel parce que euh en fait la la SIG plutôt le alors je vais vous montrer ça parce que la la régression logistique voilà j'en ai parlé tout à l'heure alors
123:39
Speaker A
le modèle régression logistique utilise une fonction de type sigmoïde ok alors euh et comme la fonction sigmid utilise c'est une c'est une fonction exponenti donc en réalité donc si si vous avez des mat avec vous si vous voulez
123:59
Speaker A
vraiment dmontrer vous pouvez chercher vous allez trouver que les coefficients que vous avez trouvé faut il faut mettre l'exponentiel pour avoir les vra vra valeurs ok ça n rien à voir avec standarder non ça n'a rien à voir avec
124:20
Speaker A
standard skiller alors c'est juste pour logistique regression donc ça c'est c'est quelque chose qu'on fait d'habitude ok d'accord et on faitexponentiel on va obtenir des c'est çaexponenti oui parce qu'en fait les valeurs réelles il y a des valeurs négatives il y a des valeurs
124:42
Speaker A
positives si vous mettez l'exponentiel vous allez avoir des valeurs positives des coefficients qui ont qui ont une interprétation logique ok presque allez on passe alors je vous laisse investiguer sur ces éléments alors en tout cas donc vous avez on est
125:15
Speaker A
presque il y a un élément qui est important que généralement les les Data scientist auquel ils s'intéressent pas beaucoup si je justement vous savez par défaut par défaut par défaut la fonction logistique regression c'est une il prédit une probabilité et
125:37
Speaker A
la la fonction SIG c'est une valeur entre 0 et et 1 alors comment on va décider est-ce qu'il s'agit de 1 ou bien de 0 alors par défaut si la valeur est supérieure à 0,5 ça veut dire c'est 1
125:52
Speaker A
s'il est inférieur à 05 ça veut dire 0 le trold c'est-à-dire par défaut c'est 0,5 alors maintenant on va essayer de de de de trouver une balance on va trouver d'après si on essaie de représenter la précision et
126:12
Speaker A
récole ok je vais regardez ce que je vais faire je vais prendre le modèle le modèle préct probable mais c'est pas prédict préct parce que prédict il vous prédit soit é0 soit soit 1 mais si vous mettez prédict proba vous lui donnez les
126:28
Speaker A
données il va vous prédire une valeur qui est comprise entre 0 et et 1 c'est une valeur réelle alors maintenant je voudrais savoir c'est quel est le trichold que je vais utiliser c'est-à-dire quand est-ce que je vais considérer que c'est 1 quand
126:42
Speaker A
est-ce que c'est 0 est-ce que c'est A05 ou bien 0,35 ou bien 06 en fonction de l'évolution de de alors ça c'est c'est une technique qui est très utilisée qui va permettre en fait deavoir les per donc je va je vais faire ça voil on
127:06
Speaker A
va utiliser une fonction qui qui se trouve dans qui s'appelle prision qu'estce que je lui donne je et je lui donne y y score parce que si vous voulez pour vous donner une idée je fais ça et j'affiche
127:42
Speaker A
yore voilà voyez donc si vous mettez predict préict comme ça ça ça des valeurs regardez 0 ou bien 1 ça c'est ce que je veux prédire mais si vous lui dites préct proba il va vous prédire des valeurs des valeurs entre 0 et et 1
128:06
Speaker A
c'estàd regardez parce que ça c'est c'est 08 la probabilité de 80 c'est 89 % que ça soit diabétique n'estce pas par exemple ici c'est 10% alors maintenant et après c'est à moi de dire c'est à partir de quel seuil
128:24
Speaker A
je vais considérer que le voilà je vais trancher alors pour faire ça on va essayer donc de de faire appel à cette fonction prestigion call curve on va lui donner donc y TR et y score que vous voyez là mais comme c'est
128:41
Speaker A
un c'est une matrice je vais lui donner le vecteur c'est-à-dire je vais lui donner le euh c'est-à-dire je je prends que le la la la valeur de voilà c'est-à-dire le la la la ici c'est pour les lignes toutes les lignes
128:56
Speaker A
et je vais prendre le voilà la colonne parce que ici donc il y a une seule non pardon parce que ici quand vous avez deux classes regardez vous avez deux classes ça c'est la classe pour 1 0 plutôt c'est c'est 99 % que ça soit 0
129:16
Speaker A
et le reste 10 % que ce soit 1 parce que si vous faites la somme des deux ça va faire 100% ça c'est 74 25 donc je vais prendre juste la première n'est-ce pas donc c'est pour cela que je mets ici
129:31
Speaker A
1 la première ou la deuxè ça devrait donner et après je vais je vais essayer de alors si je fais ça je vous affiche comment ok j'exécute alors si je prends par exemple précision ça me donne quoi alors la précision qu'est-ce qu'il
130:07
Speaker A
fait la fonction la fonction pr curve il va faire varier le se de 0 jusqu'à 1 le se vous savez le se normalement par défaut c'est combien c'est 05 je vais faire varier le seil de jusqu'à 1 et pour chaque valeur je vais
130:26
Speaker A
regarder à quoi est égal la précision et à quoi est égal récole je répète je vais faire varier le le seuil de 0 jusqu'à 1 et pour chaque valeur du seuil je vais calculer rcole et précision c'està-dire parce que c'estàd quand en
130:49
Speaker A
fait le Pr on calcul à la base des trop positif trop négatif sauf que si par exemple le seuil égal 03 ça veut dire que si s'il est supérieur à 03 je suppose que c'est 1 s'il est inférieur à
131:03
Speaker A
03 je suppose que c'est 0 un seil et je fais ça pour 01 02 03 je fais ce travail là plusieurs fois et après il va me donner il va me donner la liste des précisions pour chaque seuille la liste
131:18
Speaker A
de récolte pour chaque seuille et les trold euh qu'il a euh qu'il a les différentes valeurs et après je vais représenter ça ce forme je vais faire un plot alors ici quel plot que je vais faire je vais plotter quoi le le trold
131:33
Speaker A
et la précision je vais trold avec rol ça c'est le label préision et ça c'est réol alors si j'exécute ça regardez ça me donne le graphique le graphique il est très intéressant pourquoi parce que il me montre par
131:51
Speaker A
exemple pour pour un seuil de de de zéro à quoi est égal le le bleu c'est quoi c'est précision la précision elle est à il serait à 0,3 %. par exemple si le si le le seuil il est à 1 la précision va jusqu'à 100 %
132:09
Speaker A
mais en réalité notre précision il est à où par par défaut c'est 0,5 n'est-ce pas plutôt le seuil le se il est à 0,5 si là si vous vous tracez une ligne ici là vous allez obtenir la valeur de r et là
132:23
Speaker A
vous allez obtenir la valeur de la précision que nous avons alors maintenant quand vous voyez ce qu'on appelle ce entre récol parce que plus vous augmentez le seuil vous avez la précision augmente mais le récol va va diminuer on va prendre l'intersection et
132:42
Speaker A
cette intersection là regardez c'est combien c'est 04 ici c'estàdire maintenant d'après ce cette analyse c'est une façon de vous dire que votre modèle en réalité le TR que vous allez prendre optimal c'est 0K c'est là où vous avez cette intersection et si vous
133:03
Speaker A
voyez que vous prenez 04 on va prendre l'optimal trold c'est 04 et après on va faire la prédiction je vais lui donner Xin il va prédire et je vais maintenant mesurer le score mtrix score mais regardez ce que je vais donner je je
133:20
Speaker A
vais donner y tr mais je vais donner y pr mais parce que la valeur ici il est c'est c'est une probabilité n'est-ce pas parce que les les les valeurs qu'on a pris ça c'est des des probabilités donc on va prendre la probabilité et on va
133:41
Speaker A
utiliser supérieur optimal trold c'est-à-dire si la valeur est supérieure à optimal ça va être 1 s'il est inférieur ça va être 0 alors si vous calculez s'il vous plaît oui est-ce que supérieur ou supérieur égal si vous voulez vous pouvez mettre
133:59
Speaker A
supérieur égal oui oui vous pouvez mettre supérieur égal si vous voulez mais pour nous on suppose que il doit être supérieur voilà mais c'est c'est vraiment il y a pas de règle mais si vous mettez supérieur regardez donc ça vous donne si
134:14
Speaker A
vous comparez ça si vous comparez ces résultats avec ce que vous avez obten tout à l'heure vous allez trouver qu'il y a une une une amélioration voyez par exemple ici c'est euh si vous avez 070 ça c'est pour les tests je prends
134:33
Speaker A
les données d'entraînement 0,79 75 voyez ici donc ça donne 0 pour une précision 0,82 ici donc vous avez AZ le des valeurs alors cette cette technique généralement il est euh il est utilisé dans des situations et mais il faut pas
135:01
Speaker A
la négliger parce que parfois ça vous permet de vous donner une idée si vous essayez de de chercher de de fixer un trold quels seraient les performances de de mon modèle c'est ça l'idée principale au lieu de rester par exemple par défaut
135:15
Speaker A
sur 05 je voudrais chercher quel est le TR trichol optimal OK bon ça c'est c'est ce qu'on ce qu'on a fait ici on fait la même chose pour les données de test ici voilà alors on on a on a on a fait
135:39
Speaker A
le tour sur la la régression logistique alors maintenant pour les les autres ça va pas nous prendre tout ce temps là parce que tout ce qu'on vient de faire là on le fait pour les autres algorithmes la seule
135:54
Speaker A
chose c'est que maintenant il faut comprendre chaque le principe de chaque algorithme sauf qu'il est 16h alors euh je je je vous propose quand que voilà donc qu'on fasse ça c'est-à-dire que la suite qui est dans le le support vous allez d'ailleurs
136:11
Speaker A
trouver vous avez en fait les les éléments ça c'est ce qu'on a fait après ce qu'on va faire donc ça c'est la régression logici après on va expliquer la prochaine fois donc c'est quoi les SVM le principe de
136:29
Speaker A
base après on va voir comment voyez donc pour le pour le le code après vous mettez SVC c'est-à-dire support vector machine classifier vous faites fit vous faites et vous avez les résultats donc c'estàdire vous ce qui nous intéresse
136:43
Speaker A
après c'est juste c c partie là alors après les decision les plutôt le les arbres décision c'est très important le principe comment ça marche et la même chose voilà comment on va on va faire vous avez décision 3 fit et cetera et
137:02
Speaker A
vous mais vous regardez alors pour decision 3 vous avez 100 % mais regardez les données de test overf c'est très mauvais alors les les arbres de décision sont très réputés et par le overfitting il faut faire attention c'est-à-dire ils sont très euh
137:32
Speaker A
très très très simples très efficaces mais ça veut dire quoi ils sont très performant dans les données d'entraînement vous voyez donc vous arrivez à 100 % mais pour les données de test ils sont faibles donc si dans ce
137:48
Speaker A
genre de scénario on va tirer la conclusion ce que le il y a un over fit c'est je ne peux pas faire confiance à ce à ce modèle après il y a le il y a voilà on va afficher l'arbre et tout ça et après
138:02
Speaker A
je vais vous expliquer la prochaine fois les réseau neuron le principe c'est multiayer percepon comment ça marche et comment utiliser le modèle ça c'est la même chose il y a pas beaucoup de code donc c'est des choses comme ça mais vous allez constater que
138:17
Speaker A
avec multiayer perceptant ça vous donne un résultat beaucoup mieux que euh que les autres alors généralement parce Queen fait le euh dans les les réseaux de neuron on introduit la nonlinéarité c'est ce qui fait généralement que ils sont souvent
138:33
Speaker A
très très efficaces dans dans des situations et après il y a KNN rappelez-vous donc j'ai parlé des algorithmes parisseux alors ça bon je vais vous expliquer c'est quoi KNN comment il fonctionne le principe vraiment le principe et puis comment l'utiliser
138:51
Speaker A
et à la fin random forest les les les forêts aléatoires le principe comment ça marche et la fin voilà normalement ça c'est c'est ça ça doit être l'objet de la du prochain du prochain cours et donc j'essaierai de faire passer tout ça en
139:11
Speaker A
attendant je pense que vous pour cette semaine vous vous essayez de vous concentrer uniquement sur cette partie là de déjà de parce qu'on a fait quand même la partie data analysis euh le la régression logistique comment évaluer les donc si vous faites déjà ça c'est
139:26
Speaker A
c'est déjà très bon alors pour le reste comme je disais c'est vraiment de 5 minutes pour chaque partie vous pouvez faire passer une dizaine de modèles et après vous allez choisir celui qui qui donne les meilleures performances est-ce que c'est bon on va
139:43
Speaker A
jeter un coup d'œil sur Oui oui alors c'est très bon c'est très bon ah perci alors il compte très bon aussi le vendredi prochain ça va être on va faire vacances d'accord c'est pour vous donner aussi l'occasion de digérer un peu tout
140:04
Speaker A
ça parce que c'est il y a beaucoup de c'est une cuisine alors avec ce qu'on a fait la semaine dernière ce qu'on a fait avec vous avez des exemples complets ici pour la classification vous pouvez regarder euh si vous êtes un peu curieux
140:19
Speaker A
vous joutez un coup d'œil et ça peut-être vous allez venir dans 2 semaines encore mieux préparé n'est-ce pas c'est mieux ok alors donc on va sauter les on va faire vacances la semaine prochaine ok 14h30 après c'est 14h30 effectivement
140:37
Speaker A
après Ramadan ça va être ça sera 14h30 donc voilà donc merci pour votre patience et bon courage merci beaucoup monsieur allez je vous en prieur alors vous pouvez aller tranquillement
Topics:intelligence artificiellemachine learningapprentissage superviséclassification binaireclassification multiclasseclassification multilabelrégression linéairedétection de fraudenotebook pratiquemodélisation

Frequently Asked Questions

Qu'est-ce que la classification en apprentissage automatique ?

La classification est une méthode d'apprentissage supervisé qui consiste à prédire une étiquette qualitative pour une donnée d'entrée, par exemple déterminer si une transaction est frauduleuse ou non.

Quelle est la différence entre classification binaire et multiclasse ?

La classification binaire prédit deux classes possibles (ex : frauduleux ou non), tandis que la classification multiclasse prédit plusieurs classes possibles, comme identifier un animal parmi plusieurs espèces.

Pourquoi est-il important de faire des activités pratiques dans ce cours ?

Les activités pratiques permettent de comprendre et d'exécuter les modèles présentés, facilitant ainsi la maîtrise des concepts de base et la mise en œuvre des techniques d'apprentissage automatique.

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 →