Vous êtes sur la page 1sur 63

Rapport d'activité - Projet de modélisation prédictive

Par Shorya Goel

Problème 1- Vous êtes engagé par l'une des principales chaînes d'information CNBE qui souhaite
analyser les récentes élections. Cette enquête a été menée auprès de 1525 électeurs avec 9 variables.
Vous devez construire un modèle pour prédire pour quel parti un électeur votera sur la base des
informations données, pour créer un sondage de sortie qui aidera à prédire la victoire globale et les sièges
occupés par un parti particulier.

1.1 Lire l'ensemble des données. Effectuez les statistiques descriptives et


vérifiez la condition de la valeur nulle. Rédigez une conclusion à ce sujet.

Lire l'ensemble de données - "Election_Data.xlsx"

Analyse exploratoire des données :


Les 5 premières entrées de l'ensemble de données.

"Unnamed : 0" est une variable qui représente simplement l'indice dans les données. Il convient donc de
l'abandonner car il n'est d'aucune utilité dans le modèle.

De plus, certaines variables contiennent l'opérateur '.' dans leur nom, ce qui peut affecter le modèle, nous
remplacerons donc l'opérateur '.' par l'opérateur '_'.

Forme de l'ensemble de données


Nombre de lignes : 1525
Nombre de colonnes : 9

Informations sur l'ensemble de données


Au total, 10 variables sont présentes dans l'ensemble de données.
2 Variables catégorielles - vote, sexe.
7 Variables de type numérique - âge, economic_cond_national, economic_cond_household, Blair, Hague,
Europe, political_knowledge.

Statistiques descriptives de l'ensemble des données


Colonnes numériques-

Colonnes catégorielles-

Le tableau ci-dessus fournit des informations telles que les valeurs uniques, la moyenne, la médiane,
l'écart-type, le résumé en cinq points, le minimum et le maximum, le nombre, etc. pour toutes les variables
présentes dans l'ensemble de données.

Vérifier la présence de valeurs nulles


Il ressort clairement de ce qui précède qu'il n'y a pas de valeurs nulles dans l'ensemble de données.
La fonction isnull() est utilisée ici pour vérifier les valeurs manquantes.
La fonction sum() est utilisée pour obtenir le nombre total de valeurs nulles présentes dans une variable
particulière.

Vérifier les doublons-


Il y a au total 8 lignes en double.

En effet, il n'y a pas d'identification ou de code unique pour chaque ligne présente. Nous ne pouvons pas
dire clairement s'il s'agit de la même personne ou d'une personne différente. Nous ne supprimerons donc
pas les doublons dans ce cas.

Skewness of the Dataset (asymétrie de l'ensemble des données)


L'asymétrie est une mesure de l'asymétrie de la distribution de probabilité d'une variable aléatoire réelle par
rapport à sa moyenne.
Seules deux variables sont positivement asymétriques et les autres négativement asymétriques,
l'asymétrie maximale se situant à Blair.

Contrôle du coefficient de variation

Lecoefficient de variation(CV) est une mesure de la variabilité relative. Il s'agit du rapport entre l'écart-
type et la moyenne.

1.2 Effectuer des analyses univariées et bivariées. Effectuer une analyse


exploratoire des données. Vérifier les valeurs aberrantes.

Analyse univariée
Pour les variables continues
Nous pouvons constater que toutes les variables numériques sont normalement distribuées (pas
parfaitement normales cependant et multi modales dans certains cas).
Des valeurs aberrantes sont présentes dans les variables "economic_cond_national" et
"economic_cond_household", comme le montrent les diagrammes en boîte à droite.
Les valeurs minimales et maximales des variables ne sont pas non plus très claires dans les diagrammes
en boîte ; nous pouvons les obtenir séparément en vérifiant les valeurs aberrantes.
Analyse à deux variables -

Pairplot-

Le diagramme de paires nous renseigne sur l'interaction de chaque variable avec toutes les autres
variables présentes.
Il n'y a donc pas de relation étroite entre les variables.
Il existe cependant un mélange de relations positives et négatives, ce qui est normal.

Dans l'ensemble, il s'agit d'une estimation approximative des interactions. Une image plus claire peut être
obtenue à l'aide de cartes thermiques et d'autres types de diagrammes.
Analyse - Blair et l'âge

Les personnes âgées de plus de 45 ans pensent généralement que Blair fait du bon travail.

Analyse - La Haye et l'âge

Hague a une concentration de points nutritionnels légèrement supérieure à celle de Blair pour les
personnes âgées de plus de 50 ans.

Analyse du Catplot - Blair (count) sur economic_cond_household.


Catplot Analysis - Hague (count) on economic_cond_household

Blair a plus de points en termes de ménages économiques que Hague.

Catplot Analysis - Blair (count) on economic_cond_national


Catplot Analysis - Hague (count) on economic_cond_national

Blair a plus de points en termes d'économie nationale que Hague.


Catplot Analysis - Blair (count) sur l'Europe

Catplot Analysis - Hague (count) on Europe

Dans toute l'Europe, si l'on regarde les données, Blair est en tête.
Analyse de l'intrigue - Blair (count) sur political_knowledge

Catplot Analysis - Hague (count) on political_knowledge

En termes de connaissances politiques, Blair est considéré comme meilleur.


Matrice de covariance-

Matrice de corrélation

Carte thermique

La multicolinéarité est un problème important qui peut nuire au modèle. La carte thermique est un bon
moyen d'identifier ce problème. Il nous donne une idée de base de la relation entre les variables.

Observations -
 La corrélation positive la plus élevée se trouve entre "economic_cond_national" et
"economic_cond_household" (35%). Mais ce qui est bien, c'est que ce n'est pas énorme.
 La corrélation négative la plus forte se trouve entre "Blair" et "Europe" (30%), mais elle n'est pas
non plus énorme.

La multicolinéarité ne sera donc pas un problème dans cet ensemble de données.

Contrôle/traitement des valeurs aberrantes

Utilisation de boxplot-

Des valeurs aberrantes sont présentes dans les variables "economic_cond_national" et


"economic_cond_household", comme le montrent les diagrammes en boîte.
Nous trouverons les limites supérieures et inférieures afin d'obtenir une image claire des valeurs
aberrantes.
Les limites supérieure et inférieure ne sont pas très éloignées l'une de l'autre et les valeurs aberrantes se
trouvent du côté inférieur, avec une valeur de 1, alors que la limite inférieure est de 1,5.
Il n'est donc pas conseillé de traiter les valeurs aberrantes dans ce cas.
Nous irons de l'avant sans traiter les valeurs aberrantes.

1.3 Encoder les données (ayant des valeurs de chaîne) pour la modélisation.
La mise à l'échelle est-elle nécessaire ou non ? Fractionnement des données :
Diviser les données en formation et en test (70:30).
Encodage de l'ensemble de données

Comme de nombreux modèles d'apprentissage automatique ne peuvent pas fonctionner avec des valeurs
de type chaîne, nous coderons les variables catégorielles et convertirons leurs types de données en types
entiers.
D'après les informations contenues dans l'ensemble de données, nous savons qu'il existe deux variables
de type catégorique, et nous devons donc coder ces deux variables à l'aide de la technique appropriée.
Ces deux variables sont le "vote" et le "sexe". Leur répartition est indiquée ci-dessous.

Répartition par sexe


Répartition des votes-

Les résultats ci-dessus montrent que les deux variables ne contiennent que deux classifications de données.
Nous pouvons utiliser une simple conversion catégorielle (pd.Categorical() ou un encodage fictif avec drop_first =
True, les deux fonctionneront ici) Cela convertira les valeurs en 0 et 1. Comme il n'y a pas de niveau ou d'ordre dans
la sous-catégorie, n'importe quel codage donnera le même résultat.
Le type de données après conversion est au format int8, nous pouvons les convertir au format int64, cela
fonctionnera même si nous ne les convertissons pas en int64.

Après l'encodage

Info-

Données

Le modèle peut maintenant être construit sur la base de ces données.


Mise à l'échelle de l'ensemble de données

La mise à l'échelle est effectuée de manière à ce que les données qui appartiennent à une grande variété
d'intervalles puissent être rassemblées dans un intervalle relatif similaire, ce qui permet d'obtenir les
meilleures performances du modèle.
En général, nous procédons à une mise à l'échelle des caractéristiques lorsque nous utilisons des
algorithmes basés sur la descente de gradient, tels que la régression linéaire et logistique, car ils sont très
sensibles à l'étendue des points de données. En outre, il est très utile pour vérifier et réduire la multi-
colinéarité dans les données. Le VIF (Variance Inflation Factor) est une valeur qui indique la présence de
multicolinéarité. Cette valeur ne peut être calculée qu'après avoir construit le modèle de régression.
La nécessité d'une mise à l'échelle dépend donc totalement du modèle que nous construisons.
Habituellement, les méthodes basées sur la distance (par exemple : KNN) nécessitent une mise à l'échelle
car elles sont sensibles aux différences extrêmes et peuvent entraîner un biais. Mais la méthode basée sur
les arbres (par exemple, les arbres de décision) ne nécessiterait pas de mise à l'échelle en général car elle
n'est pas nécessaire (parce qu'elle utilise une méthode fractionnée).

Ici, nous effectuerons une mise à l'échelle sur les deux types de modèles et nous vérifierons s'il y a une
différence dans la performance du modèle.
En outre, après avoir examiné les données, nous n'avons besoin de mettre à l'échelle que la variable "âge",
car les autres variables sont comprises entre 0 et 10 au maximum.
Nous utiliserons ici l'échelle Z-core pour mettre à l'échelle la variable de l'âge.
Après la mise à l'échelle à l'aide du score z ou de la mise à l'échelle standard dans laquelle la moyenne est
égale à 0 et l'écart type à 1.

Fractionnement des données : Diviser les données en test et en formation

Avant de procéder au fractionnement, nous devons trouver la variable cible. Ici, la variable cible est "vote".
Distribution des données de vote-

Il y a un déséquilibre dans les données de la variable, comme indiqué ci-dessus, et nous ne pouvons donc
pas diviser les données dans un rapport 50:50, mais nous les diviserons dans un rapport 70:30. Nous
utiliserons également la technique de suréchantillonnage SMOTE pour vérifier si elle améliore ou non le
modèle.

Ici, nous utiliserons deux ensembles de formation et de test différents, l'un sans données mises à l'échelle
et l'autre avec des données mises à l'échelle. Cela nous aidera à comprendre si la mise à l'échelle peut
améliorer la performance ou non.

Nous divisons maintenant les données X et y dans le rapport 70:30, où les données de formation
représentent 70 % et les données de test 30 %.
Après le fractionnement - la forme des données
Ici,
X_train - désigne un ensemble de données de formation de 70 % comprenant 8 colonnes (à l'exception de
la colonne cible appelée "vote").
X_test- désigne un ensemble de données de test de 30 % comprenant 8 colonnes (à l'exception de la
colonne cible appelée "vote").
y_train- représente l'ensemble de données d'entraînement à 70 % avec uniquement la colonne cible
appelée "vote".
y_test- représente 30% de l'ensemble de données de test avec seulement la colonne cible appelée "vote".

De même, les données sont divisées pour les données mises à l'échelle et les données de
suréchantillonnage SMOTE.

1.4 Appliquer la régression logistique et l'analyse discriminante linéaire.


Interprétez les conclusions des deux modèles.
Modèle de régression logistique

Avant d'ajuster le modèle, il est important de connaître les hyper paramètres qui interviennent dans la
construction du modèle. Paramètres :
- pénalité
- résolveur
- max_iter
- tol, etc.
Pour trouver la meilleure combinaison de ces paramètres, nous utiliserons la méthode "GridSearchCV".
Cette méthode permet d'effectuer simultanément de multiples combinaisons de ces paramètres et peut
nous fournir les meilleurs résultats optimaux.
Après avoir effectué la recherche, les meilleurs paramètres se sont avérés être-

Voici maintenant les résultats pour les données non mises à l'échelle...

L'ordonnée à l'origine du modèle est : [2.83418594]


Importance de la caractéristique-

Précision du train - 0.8303655107778819


Précision du test - 0,8537117903930131

Probabilités sur l'ensemble de test(0 étant une préférence pour le parti conservateur et 1 étant une
préférence pour le parti travailliste)
Voici maintenant les résultats pour les données mises à l'échelle

L'ordonnée à l'origine du modèle est : [2.01329492]


Importance de la caractéristique-

Précision du train - 0.8303655107778819


Précision du test - 0,8493449781659389

Probabilités sur l'ensemble de test-


Statsmodels peut également être utilisé ici dans la construction du modèle de régression logistique pour en
savoir plus sur les statistiques du modèle en arrière-plan.

Déductions
Pseudo R2 = 0,3809 montre que le modèle fonctionne vraiment bien, car une valeur comprise entre 0,2 et
0,4 indique qu'un modèle fonctionne bien.
Le modèle est légèrement plus performant sur les données non échelonnées.
Il n'y a pas de sous-adaptation ou de suradaptation, car la précision pour les données de test et de
formation n'est pas très différente.

J'ai également utilisé la technique de suréchantillonnage (SMOTE), dont les résultats sont examinés plus
en détail dans la comparaison des modèles de performance.

Modèle LDA (analyse discriminante linéaire)

Avant d'ajuster le modèle, il est important de connaître les hyper paramètres qui interviennent dans la
construction du modèle.
Paramètres :
- résolveur
- rétrécissement
Après avoir effectué le GridSearchCV, les meilleurs paramètres obtenus sont les suivants
 rétrécissement = 'auto'
 solveur = 'lsqr'
Voici maintenant les résultats pour les données non mises à l'échelle...

L'ordonnée à l'origine du modèle est : [3.72460468]


Importance de la caractéristique-

Précision du train - 0.8284910965323337


Précision du test - 0,851528384279476

Probabilités sur l'ensemble de test-

Voici maintenant les résultats pour les données mises à l'échelle

L'ordonnée à l'origine du modèle est : [2.48783541]


Importance de la caractéristique-

Précision du train - 0.828491096532333


Précision du test - 0,851528384279476
Probabilités sur l'ensemble de test-

Déductions
Le modèle fonctionne bien et la précision est la même pour les données mises à l'échelle et non mises à
l'échelle.

J'ai également utilisé la technique de suréchantillonnage (SMOTE), dont les résultats sont examinés plus
en détail dans la comparaison des modèles de performance.

1.5. Appliquer le modèle KNN et le modèle Naïve Bayes. Interpréter les


conclusions de chaque modèle.

Modèle des K plus proches voisins

Le KNN est un algorithme d'apprentissage automatique supervisé basé sur la distance qui peut être utilisé
pour résoudre les problèmes de classification et de régression. Le principal inconvénient de ce modèle est
qu'il devient très lent lorsque le volume de données est important, ce qui en fait un choix peu pratique
lorsque des conclusions doivent être tirées rapidement.

Avant d'ajuster le modèle, il est important de connaître les hyper paramètres qui interviennent dans la
construction du modèle.
Paramètres :
- n_voisins
- poids
- algorithme
Après avoir effectué la "GridSearchCV", les meilleurs paramètres obtenus sont les suivants
- n_neighbors' = 5,
- 'poids' = uniforme,
- 'algorithme' = auto

Voici maintenant les résultats pour les données non mises à l'échelle...

Précision du train - 0.8369259606373008


Précision du test - 0,8165938864628821

Probabilités sur l'ensemble de test-


Voici maintenant les résultats pour les données mises à l'échelle

Précision du train - 0.8603561387066542


Précision du test - 0,8384279475982532

Probabilités sur l'ensemble de test-

Inférence-
Le modèle est plus performant avec les données mises à l'échelle.
De même, dans l'ensemble, le modèle a bien fonctionné, mais il peut y avoir un léger surajustement, car la
précision est plus élevée pour l'ensemble de formation que pour le test.

Modèle Naive Bayes


Les classificateurs de Bayes naïfs sont un modèle basé sur l'application du théorème de Bayes avec des
hypothèses fortes (naïves) d'indépendance entre les caractéristiques. Ces hypothèses peuvent toutefois ne
pas correspondre à la réalité.

Théorème de Bayes

La méthode que nous allons utiliser ici est la méthode GaussianNB(), également connue sous le nom de
BernoulliNB(). Cette méthode exige que toutes les caractéristiques soient de type catégoriel. L'hypothèse
générale de cette méthode est que les données suivent une distribution normale ou gaussienne.
Il n'y a pas de paramètres spécifiques dans ce modèle comme dans d'autres, nous allons donc simplement
ajuster le modèle avec des paramètres par défaut.

Voici maintenant les résultats pour les données non mises à l'échelle...

Précision du train - 0.8219306466729147


Précision du test - 0,8471615720524017

Probabilités sur l'ensemble de test-

Voici maintenant les résultats pour les données mises à l'échelle

Précision du train - 0.8219306466729147


Précision du test - 0,8471615720524017

Probabilités sur l'ensemble de test-


Inférence-
Le modèle a fonctionné exactement de la même manière pour les données non mises à l'échelle et mises à
l'échelle.
Ce modèle a bien fonctionné sur les données, sans surajustement ni sous-ajustement.

1.6 Ajustement du modèle, mise en sac (Random Forest doit être utilisé pour la
mise en sac), et renforcement (Boosting).
Modèle Tuning

La mise au point est le processus qui consiste à maximiser les performances d'un modèle sans le
suradapter ou créer une variance trop élevée. Dans le domaine de l'apprentissage automatique, on y
parvient en sélectionnant des "hyperparamètres" appropriés.

La recherche par grille est l'une des méthodes les plus courantes pour optimiser les paramètres. Un
ensemble de paramètres est défini, puis les performances de chaque combinaison de ces paramètres sont
évaluées à l'aide d'une validation croisée. Ensuite, parmi ceux

Les modèles tels que Bagging, Boosting, Gradient boosting, Cat boosting, etc. sont susceptibles de sous-
adaptation ou de suradaptation des données. Le surajustement signifie que le modèle fonctionne très bien
sur les données de formation mais relativement mal sur les données de test. Un sous-ajustement signifie
que le modèle fonctionne très bien sur les données de test, mais relativement mal sur les données
d'apprentissage.

Modèle à sac (utilisant le classificateur Random Forest)

L'ensachage est une technique d'ensemble. Les techniques d'ensemble sont des techniques
d'apprentissage automatique qui combinent plusieurs modèles de base pour obtenir un modèle optimal. Le
bagging est conçu pour améliorer les performances des algorithmes d'apprentissage automatique existants
utilisés dans la classification statistique ou la régression. Il est le plus souvent utilisé avec des algorithmes
basés sur des arbres. Il s'agit d'une méthode parallèle.

Chaque classificateur de base est entraîné en parallèle avec un ensemble d'entraînement généré en tirant
au hasard, avec remplacement, N données de l'entraînement.

Ici, nous utiliserons la forêt aléatoire comme classificateur de base. Les hyperparamètres qui seront utilisés
dans le modèle sont les suivants
- max_depth
- max_features
- min_échantillons_feuille
- min_samples_split
- n_estimateurs
Il existe également d'autres paramètres, mais nous les utiliserons pour la recherche de grille, en
conservant les valeurs par défaut.
Après avoir effectué la "GridSearchCV", les meilleurs paramètres obtenus sont les suivants
- max_depth ' = 5,
- max_features ' = 7,
- min_samples_leaf ' = 25,
- min_samples_split ' = 60,
- n_estimateurs ' = 101

Voici maintenant les résultats pour les données non mises à l'échelle...

Précision du train - 0.8303655107778819


Précision du test - 0,834061135371179

Probabilités sur l'ensemble de test-

Voici maintenant les résultats pour les données mises à l'échelle

Précision du train - 0.8303655107778819


Précision du test - 0,834061135371179

Probabilités sur l'ensemble de test-


Inférence-
Le modèle a fonctionné exactement de la même manière pour les données non échelonnées et les
données échelonnées.
Ce modèle a donné d'excellents résultats sur les données, sans surajustement ni sous-ajustement.

Modèle de renforcement

Le boosting est également une technique d'ensemble. Il transforme les apprenants faibles en apprenants
forts. Contrairement au bagging, il s'agit d'une méthode séquentielle dans laquelle le résultat d'un
apprenant faible devient l'entrée d'un autre et ainsi de suite, améliorant ainsi les performances du modèle.
Chaque fois que l'algorithme d'apprentissage de base est appliqué, il génère une nouvelle règle de
prédiction de l'apprenant faible. Il s'agit d'un processus itératif et l'algorithme d'amplification combine ces
règles faibles en une seule règle de prédiction forte.
Les données d'entrée mal classées ont un poids plus élevé et les exemples correctement classés perdent
du poids. Ainsi, les futurs apprenants faibles se concentrent davantage sur les exemples que les
apprenants faibles précédents ont mal classés. Il s'agit également de méthodes basées sur les arbres.

Il existe de nombreux types de techniques d'amplification et, pour ce projet, les techniques d'amplification
suivantes seront utilisées.
1. ADA Boost (Adaptive Boosting)
2. Renforcement du gradient
3. Boosting de gradient extrême
4. CAT Boost (renforcement catégorique)

Modèle de renforcement de l'ADA

Ce modèle est utilisé pour accroître l'efficacité des classificateurs binaires, mais aussi pour améliorer les
classificateurs multiclasses. AdaBoost peut être appliqué à n'importe quelle méthode de classification pour
tirer des enseignements de ses problèmes et produire un modèle plus précis, d'où son nom de "meilleur
classificateur prêt à l'emploi".

Avant d'ajuster le modèle, il est important de connaître les hyperparamètres qui interviennent dans la
construction du modèle.
Paramètres :
- algorithme
- n_estimateurs
Il existe également d'autres paramètres, mais nous les utiliserons pour la recherche de grille, en
conservant les valeurs par défaut.
Après avoir effectué la "GridSearchCV", les meilleurs paramètres obtenus sont les suivants
- ' algorithme ' = ' SAMME',
- n_estimateurs ' = 50

Voici maintenant les résultats pour les données non mises à l'échelle...

Précision du train - 0.8369259606373008


Précision du test - 0,8427947598253275

Probabilités sur l'ensemble de test-

Voici maintenant les résultats pour les données mises à l'échelle

Précision du train - 0.8369259606373008


Précision du test - 0,8427947598253275

Probabilités sur l'ensemble de test-

Inférence-
Le modèle a fonctionné exactement de la même manière pour les données non mises à l'échelle et mises à
l'échelle.
Ce modèle a donné d'excellents résultats sur les données, sans surajustement ni sous-ajustement.
Modèle de renforcement du gradient

Ce modèle est identique au modèle ADABoosting. Le renforcement du gradient fonctionne en ajoutant


séquentiellement à l'ensemble les prédicteurs mal identifiés et les prédictions sous-adaptées, en veillant à
ce que les erreurs identifiées précédemment soient corrigées. La principale différence réside dans ce qu'il
fait de la valeur mal identifiée de l'apprenant faible précédent. Cette méthode tente d'adapter le nouveau
prédicteur aux erreurs résiduelles commises par le prédicteur précédent.

Avant d'ajuster le modèle, il est important de connaître les hyperparamètres qui interviennent dans la
construction du modèle.
Paramètres :
- Critère
- perte
- n_estimateurs
- max_features
- min_samples_split

Il existe également d'autres paramètres, mais nous les utiliserons pour la recherche de grille, en
conservant les valeurs par défaut.
Après avoir effectué la "GridSearchCV", les meilleurs paramètres obtenus sont les suivants

- critère" = "friedman_mse",
- perte" = "exponentiel",
- n_estimateurs' = 50,
- 'max_features' = 8,
- 'min_samples_split' = 45

Voici maintenant les résultats pour les données non mises à l'échelle...

Précision du train - 0.865979381443299


Précision du test - 0,8493449781659389

Probabilités sur l'ensemble de test-

Voici maintenant les résultats pour les données mises à l'échelle


Précision du train - 0.865979381443299
Précision du test - 0,8493449781659389

Probabilités sur l'ensemble de test-

Inférence-
Le modèle a fonctionné exactement de la même manière pour les données non mises à l'échelle et mises à
l'échelle.
De même, dans l'ensemble, le modèle a bien fonctionné, mais il peut y avoir un léger surajustement, car la
précision est plus élevée pour l'ensemble de formation que pour le test.

Modèle XGBoost (eXtreme Gradient Boosting)

Ce modèle, comme son nom l'indique, est basé sur la méthode du renforcement du gradient. Cependant,
XGBoost améliore le cadre GBM de base grâce à l'optimisation des systèmes et à des améliorations
algorithmiques. Il utilise le traitement parallèle et les optimisations de la RAM qui peuvent améliorer le
fonctionnement de la méthode Gradient Boost jusqu'à son apogée, d'où son nom "extrême".
Un autre avantage est qu'il traite automatiquement les valeurs nulles en passant le paramètre "missing =
NaN".
Une autre différence est que les XGB ne contiennent pas le paramètre "min_sample_split".
Avant d'ajuster le modèle, il est important de connaître les hyperparamètres qui interviennent dans la
construction du modèle.
Paramètres :
- Profondeur maximale
- Min_échantillons_feuille
- n_estimateurs
- apprentissage_rare
Il existe également d'autres paramètres, mais nous les utiliserons pour la recherche de grille, en
conservant les valeurs par défaut.
Après avoir effectué la "GridSearchCV", les meilleurs paramètres obtenus sont les suivants
- 'max_depth' : 4,
- 'min_samples_leaf' : 15,
- n_estimators' : 50,
- 'learning_rate' : 0.1

Voici maintenant les résultats pour les données non mises à l'échelle...

Précision du train - 0.8847235238987816


Précision du test - 0,851528384279476
Probabilités sur l'ensemble de test-

Voici maintenant les résultats pour les données mises à l'échelle

Précision du train - 0.8847235238987816


Précision du test - 0,851528384279476

Probabilités sur l'ensemble de test-

Inférence-
Le modèle a fonctionné exactement de la même manière pour les données non échelonnées et les
données échelonnées.
De même, dans l'ensemble, le modèle a bien fonctionné, mais il peut y avoir un léger surajustement, car la
précision est plus élevée pour l'ensemble de formation que pour le test.

Modèle CATBoosting

CATBoosting (CATegorical Boosting) est un algorithme d'apprentissage automatique qui utilise le


renforcement du gradient sur les arbres de décision. Il s'agit d'une bibliothèque open source qui n'est pas
disponible dans le package habituel de Sklearn. Nous devons installer le paquet séparément. CAT Boost
peut gérer d'énormes quantités de données catégorielles, ce qui constitue généralement un problème pour
la plupart des algorithmes d'apprentissage automatique. CATBoost est facile à mettre en œuvre et très
puissant. Il fournit d'excellents résultats et est très rapide à exécuter.

Il existe de nombreux paramètres à spécifier, mais nous allons utiliser les paramètres par défaut.
Voici maintenant les résultats pour les données non mises à l'échelle...

Précision du train - 0.9381443298969072


Précision du test - 0,851528384279476

Probabilités sur l'ensemble de test-

Voici maintenant les résultats pour les données mises à l'échelle

Précision du train - 0.9381443298969072


Précision du test - 0,851528384279476

Probabilités sur l'ensemble de test-


Inférence-
Le modèle a fonctionné exactement de la même manière pour les données non échelonnées et les
données échelonnées.
Il existe une grande différence entre les valeurs de précision des données de formation et des données de
test.
Il y a ici un surajustement des données car la précision des données de formation est bien supérieure à
celle des données de test.

1.7 Mesures de performance : Vérifier la performance des prédictions sur les


ensembles de formation et de test à l'aide de la précision, de la matrice de
confusion, de la courbe ROC et du score ROC_AUC pour chaque modèle.
Modèle final : Comparez les modèles et indiquez quel modèle est le
meilleur/optimisé.
Mesures de performance :

En général, de nombreuses mesures de performance sont utilisées pour évaluer la force du modèle afin de
comprendre ses performances et de prendre une décision éclairée sur l'opportunité d'utiliser ou non le
modèle dans un scénario en temps réel.

Les normes industrielles sont généralement basées sur les méthodes suivantes :
- Précision de la classification.
- Matrice de confusion.
- Rapport de classification.
- Surface sous la courbe ROC (visualisation) et score AUC

Régression logistique

Avant la mise à l'échelle


Précision du train - 0.8303655107778819
Précision du test - 0,8537117903930131

Matrice de confusion-
Pour les données sur les trains Pour les données
d'essai

Négatif vrai : 212 Faux positifs : 111 Vrai négatif : 94 Faux positifs : 45
Faux négatifs : 70 Vrai positif : 674 Faux négatifs : 22 Vrai positif : 297

Rapport de classification
Pour les trains

Pour l'ensemble de test-

Surface sous la courbe ROC et score AUC :


Pour la formation et les tests :

Score de régression logistique (Train) : 0.877 Score de régression logistique (test) : 0,916
Après la mise à l'échelle
Précision du train - 0.8303655107778819
Précision du test - 0,8493449781659389

Matrice de confusion-

Pour les données sur les trains Pour les données


d'essai

Négatif vrai : 211 Faux positifs : 112 Vrai négatif : 94 Faux positifs : 45
Faux négatifs : 69 Vrai positif : 675 Faux négatifs : 24 Vrai positif : 295

Rapport de classification
Pour les trains

Pour l'ensemble de test-


Surface sous la courbe ROC et score AUC :
Pour la formation et les tests :

Score de régression logistique (Train) : 0.877 Score de régression logistique (test) :


0,915

SMOTE -

Sans mise à l'échelle Avec mise à l'échelle


Précision du train - 0.8245967741935484 Précision du train - 0.8138440860215054
Précision du test - 0,8427947598253275 Précision du test - 0,8384279475982532

----------------------------------------------------------------------------------------------------------------------------------------------

LDA (analyse discriminante linéaire)

Avant la mise à l'échelle


Précision du train - 0.8284910965323337
Précision du test - 0,851528384279476

Matrice de confusion-
Pour les données sur les trains Pour les données
d'essai

Négatif vrai : 218 Faux positifs : 105 Vrai négatif : 100 Faux positifs : 39
Faux négatifs : 78 Vrai positif : 666 Faux négatifs : 29 Vrai positif : 290
Rapport de classification
Pour les trains

Pour l'ensemble de test-

Surface sous la courbe ROC et score AUC :


Pour la formation et les tests :

Score LDA (Train) : 0,877 Score LDA (test) : 0,915

Après la mise à l'échelle


Précision du train - 0.8284910965323337
Précision du test - 0,851528384279476
Matrice de confusion-
Pour les données sur les trains Pour les données
d'essai

Négatif vrai : 218 Faux positifs : 105 Vrai négatif : 100 Faux positifs : 39
Faux négatifs : 78 Vrai positif : 666 Faux négatifs : 29 Vrai positif : 290

Rapport de classification
Pour les trains

Pour l'ensemble de test-

Surface sous la courbe ROC et score AUC :


Pour la formation et les tests :

Score LDA (Train) : 0,877 Score LDA (test) : 0,915


SMOTE -

Sans mise à l'échelle Avec mise à l'échelle


Précision du train - 0.8245967741935484 Précision des trains - 0,8125
Précision du test - 0,8427947598253275 Précision du test - 0,8296943231441049

----------------------------------------------------------------------------------------------------------------------------------------------

KNN (K Plus Proches Voisins)

Avant la mise à l'échelle


Précision du train - 0.8369259606373008
Précision du test - 0,8165938864628821

Matrice de confusion-
Pour les données sur les trains Pour les données
d'essai

Négatif vrai : 219 Faux positifs : 104 Négatif vrai : 84 Faux positifs : 55
Faux négatifs : 70 Vrai positif : 674 Faux négatifs : 29 Vrai positif : 290

Rapport de classification
Pour les trains
Pour l'ensemble de test-

Surface sous la courbe ROC et score AUC :


Pour la formation et les tests :

Score KNN (Train) : 0,915 Score KNN (test) : 0,867

Après la mise à l'échelle


Précision du train - 0.8603561387066542
Précision du test - 0,8384279475982532
Matrice de confusion-
Pour les données sur les trains Pour les données
d'essai

Vrai négatif : 239 Faux positifs : 84 Vrai négatif : 95 Faux positifs : 44


Faux négatifs : 65 Vrai positif : 679 Faux négatifs : 30 Vrai positif : 289

Rapport de classification
Pour les trains
Pour l'ensemble de test-

Surface sous la courbe ROC et score AUC :


Pour la formation et les tests :

Score KNN (Train) : 0,933 Score KNN (test) : 0,877

SMOTE -

Sans mise à l'échelle Avec mise à l'échelle


Précision du train - 0.8830645161290323 Précision du train - 0,8918010752688172
Précision du test - 0,8144104803493449 Précision du test - 0,8231441048034934

Naïve Bayes

Avant la mise à l'échelle


Précision du train - 0.8219306466729147
Précision du test - 0,8471615720524017

Matrice de confusion-
Pour les données sur les trains Pour les données
d'essai

Négatif vrai : 223 Faux positifs : 100 Négatif vrai : 101 Faux positifs : 38
Faux négatifs : 90 Vrai positif : 654 Faux négatifs : 32 Vrai positif : 287
Rapport de classification
Pour les trains

Pour l'ensemble de test-

Surface sous la courbe ROC et score AUC :


Pour la formation et les tests :

NB (Train) score : 0.874 Score NB (test) : 0,910

Après la mise à l'échelle


Précision du train - 0.8219306466729147
Précision du test - 0,8471615720524017

Matrice de confusion-
Pour les données sur les trains Pour les données
d'essai

Négatif vrai : 223 Faux positifs : 100 Négatif vrai : 101 Faux positifs : 38
Faux négatifs : 90 Vrai positif : 654 Faux négatifs : 32 Vrai positif : 287

Rapport de classification
Pour les trains

Pour l'ensemble de test-

Surface sous la courbe ROC et score AUC :


Pour la formation et les tests :

NB (Train) score : 0.874 Score NB (test) : 0,910


SMOTE -

Sans mise à l'échelle Avec mise à l'échelle


Précision du train - 0.8205645161290323 Précision du train - 0.8077956989247311
Précision du test - 0,8362445414847162 Précision du test - 0,8253275109170306

----------------------------------------------------------------------------------------------------------------------------------------------
Ensachage

Avant la mise à l'échelle


Précision du train - 0.8303655107778819
Précision du test - 0,834061135371179

Matrice de confusion-
Pour les données sur les trains Pour les données
d'essai

Vrai négatif : 201 Faux positifs : 122 Négatif vrai : 83 Faux positifs : 56
Faux négatifs : 59 Vrai positif : 685 Faux négatifs : 20 Vrai positif : 299

Rapport de classification
Pour les trains

Pour l'ensemble de test-


Surface sous la courbe ROC et score AUC :
Pour la formation et les tests :

Score de bagging (Train) : 0.891 Score de bagging (test) : 0.900

Après la mise à l'échelle


Précision du train - 0.8303655107778819
Précision du test - 0,834061135371179

Matrice de confusion-
Pour les données sur les trains Pour les données
d'essai

Vrai négatif : 201 Faux positifs : 122 Négatif vrai : 83 Faux positifs : 56
Faux négatifs : 59 Vrai positif : 685 Faux négatifs : 20 Vrai positif : 299

Rapport de classification
Pour les trains
Pour l'ensemble de test-

Surface sous la courbe ROC et score AUC :


Pour la formation et les tests :

Score de bagging (Train) : 0.891 Score de bagging (test) : 0.900

SMOTE -

Sans mise à l'échelle Avec mise à l'échelle


Précision du train - 0.831989247311828 Précision du train - 0.8259408602150538
Précision du test - 0,8078602620087336 Précision du test - 0,8100436681222707

----------------------------------------------------------------------------------------------------------------------------------------------

Renforcement de l'ADA

Avant la mise à l'échelle


Précision du train - 0.8369259606373008
Précision du test - 0,8427947598253275

Matrice de confusion-
Pour les données sur les trains Pour les données
d'essai

Négatif vrai : 224 Faux positifs : 99 Vrai négatif : 97 Faux positifs : 42


Faux négatifs : 75 Vrai positif : 669 Faux négatifs : 30 Vrai positif : 289
Rapport de classification
Pour les trains

Pour l'ensemble de test-

Surface sous la courbe ROC et score AUC :


Pour la formation et les tests :

Score ADABoost (Train) : 0.889 Score ADABoost (Test) : 0.906

Après la mise à l'échelle


Précision du train - 0.8369259606373008
Précision du test - 0,8427947598253275

Matrice de confusion-
Pour les données sur les trains Pour les données
d'essai

Négatif vrai : 224 Faux positifs : 99 Vrai négatif : 97 Faux positifs : 42


Faux négatifs : 75 Vrai positif : 669 Faux négatifs : 30 Vrai positif : 289

Rapport de classification
Pour les trains

Pour l'ensemble de test-

Surface sous la courbe ROC et score AUC :


Pour la formation et les tests :

Score ADABoost (Train) : 0.889 Score ADABoost (Test) : 0.906


SMOTE -

Sans mise à l'échelle Avec mise à l'échelle


Précision du train - 0.842741935483871 Précision du train - 0.8185483870967742
Précision du test - 0,8362445414847162 Précision du test - 0.8013100436681223

----------------------------------------------------------------------------------------------------------------------------------------------
Renforcement du gradient

Avant la mise à l'échelle


Précision du train - 0.865979381443299
Précision du test - 0,8493449781659389

Matrice de confusion-
Pour les données sur les trains Pour les données
d'essai
Négatif vrai : 229 Faux positifs : 94 Vrai négatif : 94 Faux positifs : 45
Faux négatifs : 49 Vrai positif : 695 Faux négatifs : 24 Vrai positif : 295

Rapport de classification
Pour les trains

Pour l'ensemble de test-


Surface sous la courbe ROC et score AUC :
Pour la formation et les tests :
Score Gradient Boost (Train) : 0.933 Score Gradient Boost (Test) : 0.915

Après la mise à l'échelle


Précision du train - 0.865979381443299
Précision du test - 0,8493449781659389

Matrice de confusion-
Pour les données sur les trains Pour les données
d'essai
Négatif vrai : 229 Faux positifs : 94 Vrai négatif : 94 Faux positifs : 45
Faux négatifs : 49 Vrai positif : 695 Faux négatifs : 24 Vrai positif : 295

Rapport de classification
Pour les trains
Pour l'ensemble de test-

Surface sous la courbe ROC et score AUC :


Pour la formation et les tests :

Score Gradient Boost (Train) : 0.933 Score Gradient Boost (Test) : 0.915

SMOTE -

Sans mise à l'échelle Avec mise à l'échelle


Précision du train - 0.8716397849462365 Précision du train - 0.8595430107526881
Précision du test - 0,8296943231441049 Précision du test - 0,8296943231441049

----------------------------------------------------------------------------------------------------------------------------------------------

XGBoost

Avant la mise à l'échelle


Précision du train - 0.8847235238987816
Précision du test - 0,851528384279476

Matrice de confusion-
Pour les données sur les trains Pour les données
d'essai

Négatif vrai : 242 Faux positifs : 81 Vrai négatif : 96 Faux positifs : 43


Faux négatifs : 42 Vrai positif : 702 Faux négatifs : 25 Vrai positif : 294
Rapport de classification
Pour les trains

Pour l'ensemble de test-

Surface sous la courbe ROC et score AUC :


Pour la formation et les tests :
Score XGBoost (Train) : 0.941 Score XGBoost (Test) : 0.912

Après la mise à l'échelle


Précision du train - 0.8847235238987816
Précision du test - 0,851528384279476

Matrice de confusion-
Pour les données sur les trains Pour les données
d'essai

Négatif vrai : 242 Faux positifs : 81 Vrai négatif : 96 Faux positifs : 43


Faux négatifs : 42 Vrai positif : 702 Faux négatifs : 25 Vrai positif : 294

Rapport de classification
Pour les trains

Pour l'ensemble de test-

Surface sous la courbe ROC et score AUC :


Pour la formation et les tests :

Score XGBoost (Train) : 0.941 Score XGBoost (Test) : 0.912


SMOTE -

Sans mise à l'échelle Avec mise à l'échelle


Précision du train - 0.8803763440860215 Précision du train - 0,875
Précision du test - 0,8384279475982532 Précision du test - 0,8362445414847162

----------------------------------------------------------------------------------------------------------------------------------------------
CATBoost

Avant la mise à l'échelle


Précision du train - 0.9381443298969072
Précision du test - 0,851528384279476

Matrice de confusion-
Pour les données sur les trains Pour les données
d'essai
Négatif vrai : 281 Faux positifs : 42 Vrai négatif : 97 Faux positifs : 42
Faux négatifs : 24 Vrai positif : 720 Faux négatifs : 26 Vrai positif : 293

Rapport de classification
Pour les trains

Pour l'ensemble de test-


Surface sous la courbe ROC et score AUC :
Pour la formation et les tests :

Score CATBoost (Train) : 0,978 Score CATBoost (Test) : 0,914

Après la mise à l'échelle


Précision du train - 0.9381443298969072
Précision du test - 0,851528384279476

Matrice de confusion-
Pour les données sur les trains Pour les données
d'essai

Négatif vrai : 281 Faux positifs : 42 Vrai négatif : 97 Faux positifs : 42


Faux négatifs : 24 Vrai positif : 720 Faux négatifs : 26 Vrai positif : 293

Rapport de classification
Pour les trains

Pour l'ensemble de test-

Surface sous la courbe ROC et score AUC :


Pour la formation et les tests :

Score CATBoost (Train) : 0,978 Score CATBoost (Test) : 0,914

SMOTE -
Sans mise à l'échelle Avec mise à l'échelle
Précision du train - 0.9455645161290323 Précision du train - 0.9401881720430108
Précision du test - 0,834061135371179 Précision du test - 0,8318777292576419

----------------------------------------------------------------------------------------------------------------------------------------------

Comparaison des modèles


Il s'agit d'un processus par lequel nous comparons tous les modèles construits et trouvons celui qui est le
mieux optimisé. Il y a au total 9 types de modèles différents, chaque modèle étant construit 4 fois de la
manière suivante.
- Sans mise à l'échelle
- Avec mise à l'échelle
- Smote Without Scaling
- Smote With Scale.
Cela fait donc un total de 36 modèles.
La base sur laquelle les modèles sont évalués est connue sous le nom d'indicateurs de performance. Les
paramètres sur lesquels le modèle sera évalué sont les suivants
- Précision
- CUA
- Rappel
- Précision
- Score F1

Sans mise à l'échelle

D'après ce qui précède...


- Sur la base de la précision - La régression logistique est plus performante que les autres.
- Sur la base du score AUC, la régression logistique a obtenu de meilleurs résultats que les
autres.
- En se basant sur le rappel, l'agrégation a obtenu des résultats légèrement meilleurs que les
autres.
- Sur la base de la précision - Naive Bayes a obtenu des résultats légèrement meilleurs que les
autres.
- Sur la base du score F1-, la régression logistique ainsi que d'autres méthodes ont donné de
bons résultats.

Tous les modèles ont donné de bons résultats avec de légères différences allant de 1 à 5 %.

Avec la mise à l'échelle

D'après ce qui précède...


- Sur la base de la précision, LDA et XGBoost ont obtenu de meilleurs résultats que les autres.
- Sur la base du score AUC, la régression logistique et la LDA ont obtenu de meilleurs résultats
que les autres.
- En se basant sur le rappel, l'agrégation a obtenu des résultats légèrement meilleurs que les
autres.
- Sur la base de la précision - Naive Bayes a obtenu des résultats légèrement meilleurs que les
autres.
- Sur la base du score F1-, la régression logistique ainsi que d'autres méthodes ont donné de
bons résultats.

Mesure de la performance de Smote -


Ici, la comparaison est basée sur les valeurs de précision uniquement. Cela permettra de comprendre si
l'utilisation de Smote a un effet positif ou non.

Smote Without Scaling-


D'après ce qui précède...
- Sur la base de la précision, la régression logistique est plus performante que les autres.

Smote With Scaling-

D'après ce qui précède...


- Sur la base de la précision, la régression logistique est plus performante que les autres.

Observations -
- Les 4 tableaux ci-dessus montrent que l'utilisation de smote n'a pas augmenté la performance
des modèles. Dans l'ensemble, les modèles sans Smote ont donné de bons résultats pour les
données mises à l'échelle et non mises à l'échelle. Il n'y a donc pas lieu d'appliquer smote ici.
- En ce qui concerne les modèles de données mis à l'échelle et non mis à l'échelle, la mise à
l'échelle n'a amélioré les performances des algorithmes basés sur la distance que pour les
autres, mais elle a légèrement diminué les performances globales. Ici, seul le modèle KNN à
partir de données mises à l'échelle est légèrement plus performant que le modèle KNN non mis
à l'échelle.
- Meilleur modèle optimisé - Sur la base de toutes les comparaisons et de toutes les mesures de
performance, c'est larégression logistique sans mise à l'échelle qui a obtenu les meilleurs
résultats.

1.8) Sur la base de votre analyse et de votre travail sur le problème de


l'entreprise, détaillez les idées et les recommandations appropriées pour aider
la direction à résoudre l'objectif de l'entreprise.

Déductions
- La régression logistique a donné les meilleurs résultats parmi tous les modèles construits.
- Équation de régression logistique pour le modèle :
(3,05008) * Intercept + (-0,01891) * âge + (0,41855) * economic_cond_national + (0,06714) *
economic_cond_household + (0,62627) * Blair + (-0,83974) * Hague + (- 0,21413) * Europe + (-
0,40331) * political_knowledge + (0,10881) * sexe

L'équation ci-dessus permet de comprendre le modèle et l'importance des caractéristiques, ainsi que la
contribution de chaque caractéristique à la sortie prédite.

Les 5 principales caractéristiques du modèle de régression logistique, par ordre d'importance décroissante,
sont les suivantes : - les caractéristiques du modèle de régression logistique, par ordre d'importance
décroissante, sont les suivantes
1. La Haye : |-0.8181846212178241|
2. Blair : |0.5460018962250501|
3. économique_cond_national : |0.37700497490783885|
4. connaissances_politiques : |-0.3459485608005413|
5. Europe : |-0.19691071679312278|

Réflexions et recommandations
Notre principal objectif commercial est le suivant : "Construire un modèle permettant de prédire pour quel
parti un électeur votera sur la base des informations données, créer un sondage de sortie qui aidera à
prédire la victoire globale et les sièges occupés par un parti particulier".

 Utilisation du modèle de régression logistique sans mise à l'échelle pour prédire le résultat, car il
présente la meilleure performance optimisée.
 Le réglage des hyperparamètres est un aspect important de la construction des modèles. Il y a des
limites à cela, car le traitement de ces combinaisons nécessite une énorme puissance de
traitement. Mais si le réglage peut être effectué avec de nombreux ensembles de paramètres, nous
pourrions obtenir des résultats encore meilleurs.
 La collecte d'un plus grand nombre de données permettra également d'entraîner les modèles et
d'améliorer ainsi leur pouvoir prédictif.
 Les modèles d'optimisation peuvent également donner de bons résultats, comme CATBoost, même
sans réglage. Par conséquent, si nous procédons à l'ajustement des hyperparamètres, nous
pourrions obtenir de meilleurs résultats.
 Nous pouvons également créer une fonction dans laquelle tous les modèles prédisent le résultat
dans l'ordre. Cela permet de mieux comprendre les résultats et d'en déterminer la probabilité.
Problème 2- Dans ce projet particulier, nous allons travailler sur les corpus inauguraux du nltk
en Python. Nous examinerons les discours suivants des présidents des États-Unis d'Amérique :
1. Le président Franklin D. Roosevelt en 1941
2. Le président John F. Kennedy en 1961
3. Président Richard Nixon en 1973

2.1 Trouver le nombre de caractères, de mots et de phrases pour les


documents mentionnés.
Personnages
Personnages du discours de Franklin D. Roosevelt : 7571
Les personnages du discours de John F. Kennedy : 7618
Personnages du discours de Richard Nixon : 9991

Mots
Mots du discours de Franklin D. Roosevelt : 1536
Mots du discours de John F. Kennedy : 1546
Mots du discours de Richard Nixon : 20208

Phrases
Phrases du discours de Franklin D. Roosevelt : 68
Phrases du discours de John F. Kennedy : 52
Phrases du discours de Richard Nixon : 69

2.2 Supprimer tous les mots vides des trois discours.


Pour supprimer les mots vides, il existe un paquet appelé "stopwords" dans la bibliothèque nltk.corpus .
Pour ce faire, nous devons importer les bibliothèques suivantes...
- from nltk.corpus import stopwords
- from nltk.stem.porter import PorterStemmer

La bibliothèque de mots vides contient tous les mots vides tels que "et", "a", "est", "à", "est", ".", "de", "à",
etc., qui n'ont généralement pas d'importance pour comprendre le sentiment ou qui sont utiles dans les
algorithmes d'apprentissage automatique. Ces mots d'arrêt présents dans le paquet sont des mots d'arrêt
universellement acceptés et nous pouvons les ajouter à l'aide de la fonction (.extend()) ou les supprimer en
fonction de nos besoins.

En outre, nous devons spécifier la langue avec laquelle nous travaillons avant de définir les fonctions, car il
existe de nombreux paquets de langues. Nous utiliserons ici l'anglais.

Le stemming est un processus qui aide le processeur à comprendre les mots qui ont un sens similaire.
Dans ce cas, les mots sont ramenés à leur niveau de base ou de racine en supprimant les affixes. Il est
très utilisé dans les moteurs de recherche. Par exemple - eating, eats, eaten tous ces mots seront réduits à
eat après le stemming.

Parmi les mots vides supprimés, on peut citer : - le mot "stop", - le mot "stop", - le mot "stop".
2.3 Quel est le mot qui revient le plus souvent dans le discours d'investiture
de chaque président ? Mentionnez les trois premiers mots (après avoir
supprimé les mots vides).

Résultats après suppression des mots vides et de l'abréviation.

 Pour le discours de Franklin D. Roosevelt :

Ici, "peopl", "spirit", "life" et "democraci" se trouvent tous à la troisième place en raison du même nombre
d'occurrences.
Mot le plus fréquent : Nation.

 Pour le discours de John F. Kennedy :

Mot le plus fréquent : Laisse.

 Pour le discours de Richard Nixon :

Mot le plus fréquent : Nous.

2.4 Tracez le nuage de mots de chacun des discours de la variable. (après


suppression des mots vides)
Le nuage de mots est une technique de visualisation de données utilisée pour représenter des données
textuelles dans lesquelles la taille de chaque mot indique sa fréquence ou son importance. Pour générer
un nuage de mots, nous avons besoin d'un logiciel de nuage de mots. Par défaut, il n'est pas installé
dans le noyau, nous devons donc l'installer.
Après avoir importé le paquet, nous supprimerons à nouveau les mots vides, mais nous n'effectuerons
pas de troncature. En supprimant les mots d'arrêt, on élimine du filtre les mots indésirables qui n'ont
peut-être pas fait l'objet d'une analyse du sentiment.

Nuage de mots du discours de Roosevelt :

Nous pouvons voir certains mots surlignés comme "nation", "savoir", "peuple", etc. que nous avons
observés comme mots principaux dans la question précédente. Cela montre que plus la taille est grande,
plus la fréquence est élevée.
Nuage de mots du discours de Kennedy :
Nuage de mots du discours de Nixon :

Perspectives -
 Notre objectif était d'examiner les trois discours et de les analyser. Trouver la force et le
sentiment des discours.
 Sur la base des résultats, nous pouvons constater que certains mots similaires sont
présents dans tous les discours.
 Ces mots peuvent être le point qui a inspiré de nombreuses personnes et leur a également
permis d'obtenir le siège de président des États-Unis d'Amérique.
 Parmi tous les discours, le mot "nation" est celui qui est mis en évidence de manière
significative dans les trois discours.

Vous aimerez peut-être aussi