0% ont trouvé ce document utile (0 vote)
46 vues115 pages

Cours de Data Mining 2024-2025

Le cours de data mining vise à enseigner les concepts clés et les techniques de machine learning pour extraire des informations exploitables à partir de grandes quantités de données. Il couvre les étapes d'un projet de data mining, les différences entre Business Intelligence et KDD, ainsi que l'utilisation des langages de programmation Python et R. Les étudiants apprendront à appliquer des algorithmes, interpréter les résultats et optimiser les modèles pour la prise de décision dans divers domaines professionnels.

Transféré par

omayma
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
46 vues115 pages

Cours de Data Mining 2024-2025

Le cours de data mining vise à enseigner les concepts clés et les techniques de machine learning pour extraire des informations exploitables à partir de grandes quantités de données. Il couvre les étapes d'un projet de data mining, les différences entre Business Intelligence et KDD, ainsi que l'utilisation des langages de programmation Python et R. Les étudiants apprendront à appliquer des algorithmes, interpréter les résultats et optimiser les modèles pour la prise de décision dans divers domaines professionnels.

Transféré par

omayma
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Le data mining

Patie1

Pr Aicha MAJDA
MIAGE
2024-2025
Pré-requis
 Statistiques de base
 Programmation (Python/R)
 Introduction aux bases de données
Objectifs du cours
 Comprendre les concepts clés du data mining et les relier aux
techniques de machine learning.
 Appliquer des algorithmes de machine learning pour extraire des
patterns cachés dans les données.
 Maîtriser les outils et bibliothèques populaires pour implémenter des
modèles de data mining.
 Interpréter les résultats des modèles pour la prise de décision dans des
contextes professionnels (finance, marketing, etc.).
 Utiliser des techniques de validation croisée et d'évaluation pour
optimiser les modèles prédictifs.
13/11/2024
Contenu du cours
Partie 1
1. Différences et similitudes entre Data Mining, BI et KDD
2. Définition
3. Etapes d’un projet Data Mining
4. Le langage de Programmation ( Python vs R)

Biblio
1. Livre : "Data Mining: Concepts and Techniques" par Jiawei Han,
Micheline Kamber, et Jian Pei.
2. Tutoriels en ligne sur Python et Scikit-learn (par exemple, sur Kaggle ou
Coursera).
13/11/2024
C’est quoi le Data Mining?

 Le Data Mining désigne le processus d’analyse exploratoire des données


massives et du Big Data, afin d’identifier des relations entre les data et de les
transformer en informations exploitables.
 Ce dispositif peut rentrer dans le cadre de la Business Intelligence et a pour
but d’aider les entreprises à résoudre des problèmes, à atténuer des risques et
à identifier et saisir de nouvelles opportunités business.
 En français, ce processus porte différents noms :
• Exploration de données
• Fouille de données
• Forage de données
• Ou encore extraction de connaissances à partir de données
 Le data mining est un processus indissociable de l’analyse Big Data et de
l’intelligence prédictive. 13/11/2024
C’est quoi le Data Mining?

13/11/2024
C’est quoi le Data Mining DM?

13/11/2024
DM dans le processus de découverte des
connaissances

Data mining est le cœur de la KDD (Knowledge Data Discovery)


13/11/2024
DM dans le processus de la business
intelligence
3. BI vs KDD
3. BI vs KDD

Aspect Business Intelligence (BI) Knowledge Discovery in Databases (KDD)

Ensemble de technologies et d'outils Processus complet d'extraction de


pour la collecte et la visualisation de connaissances cachées dans de grands
Définition
données afin d'aider à la prise de ensembles de données à l'aide de
décision. techniques de data mining.
Objectif principal Fournir une vue d'ensemble des Découvrir des patterns, des modèles
performances actuelles et passées pour cachés et des relations non évidentes dans
des décisions basées sur des faits. de grandes quantités de données.

Approche Descriptive et diagnostique, Exploratoire et prédictive, avec des étapes


principalement rétrospective. Axée sur de data mining pour identifier de nouveaux
l'analyse des données historiques et patterns dans les données. Axée sur la
actuelles. découverte de nouvelles connaissances.
3. BI vs KDD
Aspect Business Intelligence (BI) Knowledge Discovery in Databases (KDD)

Tableaux de bord, indicateurs de Data mining, classification, clustering,


Techniques utilisées performance (KPI), requêtes SQL, outils régression, association, nettoyage et
de visualisation (Power BI, Talend). transformation des données.
Collecte de données, transformation, Processus en plusieurs étapes incluant la
visualisation et génération de rapports sélection, le nettoyage, la transformation,
Méthodologie pour surveiller et évaluer les l'exploration (data mining), et l'interprétation
performances de l'entreprise. des résultats pour découvrir des
connaissances.
Données principalement structurées, Données structurées, semi-structurées et
Type de données provenant de bases de données non structurées ; souvent de grands
relationnelles et de systèmes ERP. ensembles de données (big data).
Rapports, tableaux de bord, métriques Modèles, patterns, et insights cachés qui
Résultat attendu descriptives pour surveiller et fournissent des connaissances nouvelles à
comprendre la performance de partir des données.
l'entreprise.
Pourquoi le datamining en BI
 Le data mining est souvent une composante ou une technique utilisée dans
la Business Intelligence lorsque les entreprises veulent aller au-delà des
analyses descriptives classiques.
 La BI fournit un cadre d’infrastructure où les données sont centralisées,
nettoyées et accessibles à partir de multiples sources (bases de
données, ERP, CRM). Le data mining est l’une des techniques qui peut
être appliquée sur ces données pour découvrir des modèles.
 La BI se concentre généralement sur la visualisation des tendances et
des performances passées
 Le data mining permet d'explorer ces données plus en profondeur pour
découvrir des insights cachés ou des modèles non visibles dans les
simples rapports descriptifs.
 Il permet de répondre à des questions plus complexes comme "Pourquoi
cela s’est-il produit ?" ou "Que pourrait-il se passer à l’avenir ?". 13/11/2024
Pourquoi le datamining en BI
Exemple1 :

Une entreprise de vente au détail utilise des outils BI pour surveiller les
ventes quotidiennes via des tableaux de bord et des rapports. Cela
fournit une vision claire des tendances passées.

Data Mining intégré dans BI : La même entreprise peut utiliser le data


mining pour analyser en profondeur les comportements d'achat des
clients, et identifier des clients susceptibles de faire des achats à l'avenir
ou de quitter l'entreprise (churn analysis).

13/11/2024
Pourquoi le datamining en BI
Exemple2 :
 Une grande banque utilise des outils de Business Intelligence (BI) pour suivre les
transactions quotidiennes de ses clients.
 Les rapports descriptifs fournis par la BI montrent :
 les volumes de transactions
 les soldes des comptes
 les tendances d'utilisation des cartes bancaires.
Avantage : permet à la banque de surveiller les opérations et de comprendre les
habitudes des clients.
Inconvénient : ne suffit pas pour identifier des activités frauduleuses ou détecter des
comportements anormaux, car la BI se limite à des analyses descriptives basées sur les
tendances historiques.
13/11/2024
Pourquoi le datamining en BI
Exemple2 :

En intégrant le data mining, la banque ne se limite plus à décrire les transactions


frauduleuses déjà détectées par l’équipe de sécurité, mais peut anticiper et prévenir
les fraudes avant qu'elles ne surviennent.

La banque peut ainsi :

 Réduire les pertes financières liées aux fraudes.


 Optimiser l'efficacité des équipes de sécurité en leur fournissant des outils
automatisés pour surveiller les transactions en temps réel.
 Améliorer l'expérience client en garantissant la sécurité des transactions sans
retarder les processus de paiement légitimes.

13/11/2024
Pourquoi le datamining en BI

Résumé
L'analyse descriptive via la BI n'est pas suffisante
 elle ne peut qu'observer les faits passés.

Le data mining est essentiel pour identifier des patterns cachées et complexes, prévoir
des insights, et agir en temps réel.
 Cela permet à l'entreprise de prendre des décisions proactives basées sur des
modèles prédictifs et de réagir rapidement aux menaces émergentes.

13/11/2024
Etapes d’un projet data Mining

13/11/2024
Collection (Collection)

 Consiste à rassembler les données nécessaires pour le projet.


 Il peut inclure des données provenant de différentes sources telles que des bases de données,
des fichiers CSV, des API, des capteurs, etc.
 Il est essentiel de s'assurer que les données collectées sont pertinentes pour le problème à
résoudre.

13/11/2024
Exemple de Data
Généralement les données à analyser sont importé d’un data
warehouse sous forme de fichiers plats : csv, xml,…

L’objectif de Data Mining est de créer un processus


automatique qui a comme point de départ les données et 13/11/2024

comme finalité l’aide à la prise de décision.


Compréhension (Understanding)

 Dans cette phase, les données collectées sont explorées et analysées pour en
comprendre la structure, les caractéristiques et la qualité.
 Elle peut impliquer des analyses statistiques descriptives, des visualisations de données, et
une évaluation des données manquantes ou des valeurs aberrantes.
 L'objectif est de bien comprendre le contexte des données et les informations qu'elles
contiennent.

13/11/2024
Préparation (Preparation)

 Cette étape implique le nettoyage et la transformation des données en vue de leur


utilisation dans le modèle.
 Elle peut inclure la normalisation, l'imputation des valeurs manquantes, la conversion des
types de données, l'échantillonnage, et la création de nouvelles variables. L’objectif est
de préparer un ensemble de données propre et structuré pour l’analyse.

13/11/2024
Modélisation (Modelling)

 Dans cette phase, différents algorithmes de Machine Learning ou de statistiques sont


appliqués aux données préparées.
 Le choix de l'algorithme dépend du type de problème à résoudre (classification,
régression, clustering, etc.).
 Les modèles sont ensuite entraînés sur les données d'entraînement, et des techniques de
validation peuvent être utilisées pour évaluer leur performance.

13/11/2024
Évaluation (Evaluation)

 Après la modélisation, il est important d'évaluer la performance du modèle.


 Cela peut inclure des mesures telles que la précision, le rappel, la F-mesure, ou d'autres
métriques pertinentes selon le problème.
 L’évaluation permet de déterminer si le modèle est suffisamment performant pour être
déployé ou s'il nécessite des ajustements.
 Si les résultats ne sont pas satisfaisants, il peut être nécessaire de revenir à des étapes
précédentes pour affiner les données ou le modèle.

13/11/2024
Le langage de Programmation pour le
datamining
 Python et R sont deux des langages de programmation les plus
utilisés pour le data mining et l'analyse de données.
 Chacun a ses propres avantages et inconvénients, et le choix
entre les deux dépend souvent des besoins spécifiques du
projet et des préférences personnelles.

13/11/2024
Python
Avantages
1. Polyvalence :
Python est un langage généraliste, ce qui signifie qu'il peut être utilisé pour une variété d'applications, allant du
développement web à l'analyse de données et à l'apprentissage automatique.
2. Facilité d'apprentissage :
La syntaxe de Python est claire et lisible, ce qui en fait un bon choix pour les débutants.
3. Bibliothèques et outils :
Python dispose d'une vaste collection de bibliothèques pour le data mining, telles que Pandas (pour la
manipulation de données), NumPy (pour les calculs numériques), Matplotlib et Seaborn (pour la visualisation de
données), et Scikit-learn (pour le machine learning).
4. Communauté active :
Python a une communauté très active, avec de nombreux tutoriels, forums, et ressources disponibles pour les
utilisateurs.
5. Intégration :
Il s'intègre facilement avec d'autres langages et technologies, ce qui est utile dans des environnements13/11/2024
de
production.
Python
Inconvenients

1. Statistiques avancées

Python offre des bibliothèques pour l'analyse statistique, mais certaines fonctionnalités
avancées présentes dans R peuvent être plus limitées ou moins accessibles ( Forcast
package en R pour l'analyse et la prévision de séries temporelles)

1. Performance

Python peut être moins performant pour certaines tâches statistiques par rapport à R, bien
que cela soit souvent compensé par la facilité d'intégration avec d'autres outils.

13/11/2024
R
Avantages
1. Statistiques et analyses avancées :
R a été conçu spécifiquement pour l'analyse de données et la statistique, offrant une riche collection
de fonctions pour des analyses complexes.
2. Visualisation :
R est réputé pour ses capacités de visualisation de données, avec des packages comme ggplot2 qui
permettent de créer des graphiques complexes et esthétiques facilement.
3. Packages spécialisés :
R dispose d'une vaste bibliothèque de packages spécialisés pour le data mining, comme caret (pour
le machine learning), dplyr (pour la manipulation de données), et tidyr (pour le nettoyage de
données).
4. Statistiques descriptives :
R est particulièrement performant pour les statistiques descriptives et inférentielles, 13/11/2024
ce qui le
rend idéal pour les analyses exploratoires.
R
Inconvenients

Complexité :
La syntaxe de R peut être moins intuitive pour les débutants, surtout pour ceux qui
n'ont pas de formation en statistiques.

Moins polyvalent :
R est principalement utilisé pour l'analyse de données, et son utilisation en dehors de
ce domaine est moins courante que celle de Python.

Intégration limitée :
R peut être moins intégré dans des environnements de production que Python, ce
qui peut compliquer le déploiement des modèles.
13/11/2024
Installation de Python

 Installer python depuis : [Link]


Installation de Python
• Cocher l’ajout du chemin de python à la variable d’environnement
• Le langage est ainsi installé dans :
C:\Users\ ***\AppData\Local\Programs\Python
Installation de jupyter
 Installer jupyter

1. Dans l’explorateur, ouvrir le dossier des scripts de python suivant :


C:\Users\***\AppData\Local\Programs\Python\Python312\Scripts
2. Taper CMD sur ce chemin pour l’ouvrir dans l’invite de commandes (CMD)
Installer Jupyter avec la commande pip install jupyter
3. Mettre à jour la pip si c’est demandé
4. Créer un dossier pour écrire vos programmes
5. Taper CMD sur le chemin de ce dossier pour l’ouvrir dans l’invite de commandes (CMD)
6. Lancer jupyter notebook

Installation des bibliothèques dans jupyter :


 !pip install pandas
 !pip install matplotlib
Travail à faire
 Aller sur le site de kaggle : [Link]
churn-prediction-learning-ml-models/input
 Télécharger le dataset
 Lire le dataset sur R Studio
 Définir le code qui permet de donner les informations suivantes :
1. Combien de caractéristiques(Attributs)?
2. Combien d’exemples (instances)?
3. Afficher les 5 premières exemples
 Ce dataset est t il étiqueté?
 Faire le même travail avec Python (Optionnel).

13/11/2024
La collecte des données
 La collecte de données est le processus de collecte et de mesure d'informations sur
des variables d'intérêt, qui permet de :
 répondre à des questions de recherche énoncées
 tester des hypothèses
 évaluer les résultats.

13/11/2024
La collecte des données
 La collecte de données est commune à tous les domaines d'études
 les sciences physiques et sociales, les sciences humaines, les affaires, etc.
 Bien que les méthodes varient selon la discipline, l'accent mis sur la garantie d'une
collecte précise et fiable reste le même.

L'objectif de toute collecte de données est de recueillir des preuves


de qualité qui se traduisent ensuite par une analyse de données
riche et permettent de construire une réponse convaincante et
crédible aux questions qui ont été posées.

13/11/2024
Les catégories de données
 Les données sont organisées en deux grandes catégories : qualitatives et quantitatives.

13/11/2024
Les données qualitatives

 Souvent non numériques et généralement de nature descriptive ou


nominale.
 ces données capturent généralement, des sentiments, des émotions
ou des perceptions subjectives de quelque chose.

13/11/2024
Les données qualitatives

 Les données qualitatives descriptives sont des informations non


chiffrées qui permettent de décrire des caractéristiques ou des
observations en profondeur.
 Exemple : Dans une étude sur les préférences des clients pour un
café, les chercheurs recueillent des impressions et des sentiments des
clients.
"Le café est chaleureux et accueillant, avec une décoration
moderne et des sièges confortables. L'ambiance est calme et
propice à la lecture ou au travail "

Ce type de données offre une description qualitative des aspects


perçus de l'environnement du café sans utiliser de chiffres. 13/11/2024
Les données qualitatives

 Les données qualitatives nominales sont des données catégorielles


qui permettent de classer des éléments sans qu'il y ait d'ordre ou
de hiérarchie entre les catégories
 Exemple : Dans une enquête sur les boissons préférées des clients
d'un café, les réponses recueillies sont des catégories sans ordre
particulier.

"Thé, Café, Chocolat chaud, Jus de fruits, Smoothie"

 Chaque boisson représente une catégorie distincte et il n'y a pas de


classement entre elles.
 Ce sont simplement des étiquettes pour indiquer les préférences des clients
13/11/2024
Les données quantitatives

 Sont de nature numérique et peuvent être calculées


mathématiquement.
 La mesure des données quantitatives utilise différentes échelles :
nominale, ordinale, intervalle et rapport
 Ces données incluent souvent des mesures de quelque chose.

13/11/2024
Les données quantitatives

 Les données quantitatives sur une échelle nominale sont


généralement des nombres comme étiquettes pour identifier des
catégories, sans que cela implique un ordre ou un classement.
 Exemple : Dans une enquête sur les sports préférés des étudiants,
chaque sport est associé à un numéro uniquement pour la
catégorisation

1 = Football, 2 = Basketball, 3 = Tennis, 4 = Natation, 5 = Baseball

 les chiffres (1, 2, 3, etc.) servent uniquement d'étiquettes pour


catégoriser les différents sports, mais ils ne signifient pas qu'un sport est
meilleur ou plus élevé en rang qu'un autre. Il s'agit de données
quantitatives nominales, où les nombres servent d'identifiants sans
signification numérique ou ordinale. 13/11/2024
Les données quantitatives

 Les données quantitatives sur une échelle ordinale impliquent un


classement ou un ordre entre les catégories, mais la différence entre les
niveaux n'est pas nécessairement égale ou mesurable.
 Exemple : Dans une enquête de satisfaction des clients pour un
restaurant, les clients notent leur expérience sur une échelle de 1 à 5 :

1 = Très insatisfait, 2 = Insatisfait, 3 = Neutre, 4 = Satisfait, 5 = Très satisfait

 les nombres représentent un ordre (de 1 à 5), indiquant un niveau croissant de


satisfaction. Cependant, la différence entre "Très insatisfait" et "Insatisfait" n'est pas
nécessairement équivalente à celle entre "Satisfait" et "Très satisfait".

13/11/2024
Les données quantitatives

 Les données quantitatives sur une échelle d’intervalles possèdent un


ordre, et la différence entre les valeurs est significative et constante.
Cependant, cette échelle n’a pas de point zéro absolu, donc on ne
peut pas faire de rapport (par exemple, dire qu’une valeur est "deux fois
plus grande" qu’une autre).
 Exemple : La température en degrés Celsius.

15°C, 20°C, 25°C, 30°C


 l'écart entre chaque valeur (5 degrés) est constant et significatif. Cependant,
l’échelle Celsius n'a pas de point zéro absolu (0°C ne signifie pas "absence de
température"), donc il ne serait pas correct de dire que 30°C est "deux fois plus
chaud" que 15°C. 13/11/2024
Les données quantitatives

 Les données quantitatives sur une échelle de rapports possèdent un


ordre, des intervalles constants entre les valeurs et un point zéro absolu,
ce qui permet de faire des comparaisons de proportion (par exemple,
dire qu’une valeur est "deux fois plus grande" qu’une autre).
 Exemple : Le poids des personnes en kilogrammes.

50 kg, 75 kg, 100 kg

 Ici, non seulement l'écart entre les valeurs est constant, mais il existe aussi un point
zéro absolu (0 kg représente l'absence de poids). Cela permet de dire que
quelqu'un pesant 100 kg est deux fois plus lourd qu'une personne pesant 50 kg.

13/11/2024
Types de fichiers de données

Niveau de Modèle de Exemples Facilité de


structuration données traitement
Structuré Système de Base de Facile (indexé)
données données
relationnel d'entreprise
objet/colonne
Semi-structuré XML, JSON, CSV, Web, API Facile (non
… Google, API indexé)
Twitter, ...
Non structuré Texte, image, Web, e-mails, Complexe
vidéo documents,
Images, vidéo..

13/11/2024
Data Understanding
Compréhension des données par l’exemple

13/11/2024
Exemple de fichier de données (csv)
Revenvons au fichier csv sur le site de kaggle :
[Link]
models/input

13/11/2024
Exemple de fichier de données (csv)
Revenons au fichier csv sur le site de kaggle :
[Link]
models/input

13/11/2024
Chargement et lecture des données sur R
 S’assurer du format du fichier (.csv)
 Ouvrir un nouveau fichier .R pour enregistrer le script (ou historique)
 S’assurer que le fichier CSV est dans votre répertoire de travail. On peut
vérifier ou définir le répertoire de travail avec getwd() ou setwd() ou

13/11/2024
Chargement et lecture des données sur R
 Pour lire le fichier, utiliser la fonction
df<-[Link]("nom_du_fichier.csv", header = TRUE, sep = ",")
ou bien :

Le résultat de cette fonction est un dataframe (df)


 Pour afficher l’entête du dataframe utiliser la fonction head(df)
 Afficher le dataframe sous forme d’un tableau avec la fonction View(df)
13/11/2024
Exemple de fichier de données (csv)

13/11/2024
Les métadonnées d’un dataframe

 un DataFrame est une structure de données tabulaire, et les métadonnées correspondent


aux informations qui décrivent ce DataFrame.
 Principales métadonnées d'un DataFrame :
1. Noms des colonnes : Les étiquettes pour chaque variable du DataFrame.
2. Types de données de chaque colonne : Type des données dans chaque colonne (numérique,
caractère, facteur, logique, etc.).
3. Dimensions : Le nombre de lignes et de colonnes du DataFrame.
4. Aperçu des valeurs manquantes : Nombre ou proportion de valeurs manquantes dans chaque
colonne.
5. Résumé statistique : Statistiques descriptives pour chaque colonne numérique (moyenne, écart-
type, minimum, maximum, etc.).
6. Mémoire utilisée : Estimation de la mémoire utilisée pour stocker le DataFrame.

13/11/2024
Les métadonnées d’un dataframe
Fonctions pour accéder aux métadonnées avec R

1. Noms des colonnes :


colnames(df) # Affiche les noms des colonnes
2. Types de données de chaque colonne :
str(df) # Affiche la structure du DataFrame, y compris les types de
données sapply(df, class) # Renvoie un vecteur avec le type de chaque
colonne
3. Dimensions :
dim(df) # Renvoie le nombre de lignes et de colonnes
nrow(df) # Renvoie le nombre de lignes
ncol(df) # Renvoie le nombre de colonnes
13/11/2024
Les métadonnées d’un dataframe

Fonctions pour accéder aux métadonnées avec R

4. Valeurs manquantes :
colSums([Link](df)) # Renvoie le nombre de valeurs manquantes
pour chaque colonne
5. Résumé statistique :
summary(df) # Renvoie un résumé statistique de chaque colonne
6. Mémoire utilisée :
[Link](df) # Calcule la mémoire utilisée par le DataFrame

13/11/2024
Les métadonnées d’un dataframe

Le Résumé statistique : C’est est une étape essentielle dans l'exploration


de données.
Il donne un aperçu rapide des caractéristiques principales de chaque
colonne et permet d'identifier des des anomalies ou des besoins en
nettoyage avant de poursuivre l'analyse :
 Comprendre la distribution des données

13/11/2024
Les métadonnées d’un dataframe

Le Résumé statistique : C’est est une étape essentielle dans l'exploration


de données.
 Détecter les valeurs aberrantes (outliers) (tenure_max=100000)
 Identifier les valeurs manquantes

13/11/2024
Les métadonnées d’un dataframe

Le Résumé statistique : C’est est une étape essentielle dans l'exploration


de données.
Obtenir des insights rapides

 Les valeurs de la colonne « SeniorCitizen » sont des binaires 0 et 1, alors qu'il s'agit en fait
par nature d’une caractéristique nominale. Ainsi, afin de ne pas la considérer
numérique, ces valeurs doivent être remplacées par « No » et « Yes ».
df$SeniorCitizen <- ifelse(df$SeniorCitizen == 0, "No",
ifelse(df$SeniorCitizen == 1, "Yes", df$SeniorCitizen))
df$SeniorCitizen <- [Link](df$SeniorCitizen) 13/11/2024
Les métadonnées d’un dataframe
Après …

13/11/2024
La Visualisation des données

 C’est le moyen la plus simple et efficace pour comprendre les données


en les plaçant dans un contexte visuel
 Détecter des modèles, des corrélations
 Plusieurs types de visualisations peuvent être utilisés
Histogrammes, courbes,…
 Exemple : Distribution des clients
par facteurs démographiques

13/11/2024
La Visualisation des données

Distribution des clients par facteurs démographiques


Exemple Distribution des clients en fonction de l’attribut ’dependent’

library(ggplot2)
library(dplyr)
ggplot(df, aes(x = Dependents)) +
geom_bar(fill = "purple") +
labs(title = "Customer Distribution by Dependents", x = "Dependents", y
= "Count") +
theme_minimal()

13/11/2024
La Visualisation des données

 la bibliothèque library(dplyr)
Fournit des fonctions faciles à utiliser pour la manipulation des données. Il fait partie de la
collection tidyverse et est couramment utilisé pour des tâches telles que le filtrage, la
transformation, la synthèse et la fusion de jeux de données
Si le package n’existe pas :

13/11/2024
La Visualisation des données

 la bibliothèque library(dplyr)
Si le package n’existe pas :

13/11/2024
La Visualisation des données

Distribution des clients par facteurs démographiques


Exemple Distribution des clients en fonction de l’attribut ’dependent’

13/11/2024
La Visualisation des données

Distribution des clients par facteurs démographiques


Exemple Distribution des clients en fonction de l’attribut ’dependent’, en
utilisant des couleurs différents pour chaque catégorie

ggplot(df, aes(x = Dependents, fill = Dependents)) +


geom_bar() +
scale_fill_manual(values = c("Yes" = "blue", "No" = "red")) +
labs(title = "Customer Distribution by Dependents", x = "Dependents", y =
"Count") +
theme_minimal()

13/11/2024
La Visualisation des données

Distribution des clients par facteurs démographiques


Exemple Distribution des clients en fonction de l’attribut ’dependent’, en
utilisant des couleurs différents pour chaque catégorie

13/11/2024
La Visualisation des données

Application
1. Visualiser la distribution des clients pour tous les attributs de type
character
2. Faire une description des figures obtenues
3. Que peut on conclure lorsqu’on affiche la distribution des clients par
rapport à la classe cible ‘Churn’
4. Que peut on conclure quant à la pertinence de l’attribut
‘customerID’

13/11/2024
La Visualisation des données
Graphique à secteurs pour la distribution des clients par service
Exemple Distribution des clients en fonction de l’attribut "InternetService"
library(ggplot2)
# Charger le dataset
data <- [Link]("WA_Fn_UseC_Telco_Customer_Churn.csv")
# compter le nombre de clients pour chaque catégorie d'InternetService
internet_service_distribution <- data %>%
group_by(InternetService) %>%
summarise(Count = n())
# tracer le graphique
ggplot(internet_service_distribution, aes(x = "", y = Count,fill = InternetService)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y") +
labs(title = "Distribution des clients par rapport à l'attribut 'Internet Service'
", x = NULL, y = NULL) +
theme_void() +
theme([Link] = element_blank()) 13/11/2024
La Visualisation des données

Graphique à secteurs pour la distribution


des clients par service
Exemple Distribution des clients en fonction
de l’attribut "InternetService"

13/11/2024
La Visualisation des données
On peut améliorer le graphique à secteur en ajoutant le pourcentage
pour chaque catégorie, en modifiant la fonction plot_pie_chart .
# compter le nombre de clients pour chaque catégorie d'InternetService
internet_service_distribution <- data %>%
group_by(InternetService) %>%
summarise(Count = n()) %>%
mutate(Percentage = round(Count / sum(Count) * 100, 1)) # Calcul du pourcentage

# tracer le graphique
ggplot(internet_service_distribution, aes(x = "", y = Count, fill = InternetService)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y") +
labs(title = "Distribution des clients par rapport à l'attribut 'Internet Service' ",
x = NULL, y = NULL) +
theme_void() +
theme([Link] = element_blank())+
geom_text(aes(label = paste0(Percentage, "%")), position = position_stack(vjust13/11/2024
= 0.5))
La Visualisation des données
On peut améliorer le
graphique à secteur en
ajoutant le pourcentage
pour chaque catégorie, en
modifiant la fonction
plot_pie_chart .

13/11/2024
La Visualisation des données
Application
Visualiser la distribution des clients pour tous les services sous forme de
graphiques à secteurs.
1. Faire une description des figures obtenues

13/11/2024
La corrélation
 En data science, la corrélation entre les attributs (ou variables) d'un
dataset est une mesure statistique de la relation linéaire entre deux
variables.
 Elle est particulièrement utile pour comprendre comment les variables
d'un dataset sont liées les unes aux autres, ce qui peut être précieux
pour l’analyse, la modélisation prédictive, et le datamining.
 La corrélation est un indice de relation entre deux variables. Elle peut
être positive, négative ou nulle.

13/11/2024
La corrélation
Elle se mesure généralement avec un coefficient de corrélation, qui varie
entre -1 et +1 :
• +1 indique une corrélation parfaitement positive : quand une variable
augmente, l'autre augmente proportionnellement.
• -1 indique une corrélation parfaitement négative : quand une variable
augmente, l'autre diminue proportionnellement.
• 0 signifie qu'il n'y a pas de relation linéaire entre les deux variables.

13/11/2024
La corrélation
 Corrélation positive : signifie que si une variable augmente, l'autre a
tendance à augmenter également.
Exemple Dans un dataset de ventes, le budget publicitaire pourrait être positivement corrélé
aux ventes, signifiant que plus on investit dans la publicité, plus les ventes augmentent.

 Corrélation négative : signifie que lorsque la valeur d’une variable


augmente, celle de l'autre a tendance à diminuer.
Exemple Le nombre d’années d'ancienneté d'un client pourrait être négativement corrélé avec
le churn, car les clients de longue date sont moins susceptibles de partir.

 Absence de corrélation (ou faible corrélation) : Un coefficient de


corrélation proche de 0 signifie qu'il n'y a pas de relation linéaire
évidente entre les deux variables. 13/11/2024
La corrélation
Il existe différents types de corrélations qui peuvent être utilisées :
1. La corrélation de Pearson :
• C'est la mesure de corrélation la plus couramment utilisée. Elle évalue la relation linéaire
entre deux variables numériques continues.
• Elle est sensible aux valeurs extrêmes (outliers) et suppose une relation linéaire entre les
variables.

2. La corrélation de Spearman
3. La corrélation de Kendall

13/11/2024
La corrélation
• La corrélation linéaire (comme la corrélation de Pearson) nécessite des
données numériques continues pour mesurer la direction et la force de
la relation linéaire entre deux variables.

• Les variables catégorielles, comme "gender" (masculin/féminin) ou


"service internet" (DSL, Fibre optique, Aucun), ne sont pas ordonnées et
ne peuvent pas être interprétées de manière linéaire.

• Une solution courante est de convertir les variables catégorielles en


variables numériques via des méthodes d'encodage, puis de calculer la
corrélation.
13/11/2024
Le codage 1 parmi n (HOE)
• Méthode d’encodage hot one encoding HOE qui consiste à encoder
une variable à n états sur n bits dont un seul prend la valeur 1, les autres
0 (dummy variables)
Exemple : une variable InternetService avec les catégories "DSL", "Fiber optic",
et "No" serait encodée en trois colonnes :
InternetService DSL Fiber optic No

InternetService_DSL 1 0 0
InternetService_Fiber optic 0 1 0

InternetService_No 0 0 1

La colonne InternetService sera remplacée par trois colonnes, InternetService_DSL,


13/11/2024

InternetService_Fiber optic, InternetService_No


Le codage HOE en R

En R, on utilise la fonction [Link]() pour l’encodage HO


Exemple :
data <- [Link](
Gender = c("Male", "Female", "Female", "Male"),
Age = c(23, 35, 45, 32)
)
mat_encoded <- [Link](~ Gender, data = data)
print(mat_encoded )

mat_encoded <-[Link](~ Gender - 1, data = data)


print(mat_encoded )

13/11/2024
Importance de la corrélation
En datamining, La corrélation est fondamentale pour la compréhension
des données
 Comprendre les Relations entre les Variables : Elle aide à détecter les relations et les
influences potentielles entre les différentes caractéristiques d'un dataset
 Sélection de Caractéristiques (Feature Selection) : Les variables qui sont fortement
corrélées entre elles apportent souvent des informations redondantes. En
sélectionnant une seule parmi les variables fortement corrélées, on peut réduire la
dimensionnalité du dataset sans perdre beaucoup d'informations.
 Prévention de la Multi-Colinéarité : La multi-colinéarité, un problème courant dans la
régression linéaire, survient lorsque deux ou plusieurs variables sont très fortement
corrélées. Cela peut rendre le modèle instable et réduire la précision des
coefficients estimés (Cas de l’attribut TotalCharges)

13/11/2024
La corrélation entre des attributs
numériques en R
 La corrélation peut être calculée avec la fonction cor() en R ou corr() en
Python (avec Pandas).
 Exemple Corrélation entre ‘tenure’ et ‘TotalCharges’
# charger le dataset
df <- [Link]("WA_Fn_UseC_Telco_Customer_Churn.csv")
# supprimer les 11 instances avec NA dans TotalCharges
df<-[Link](df)
# calculer la corrélation avec la fonction cor()
correlation1 <- cor(df$tenure, df$TotalCharges, use = "[Link]")
# Afficher le coéfficient de la corrélation
correlation1

13/11/2024
La corrélation entre la classe cible est
un attribut numérique
Exemple Corrélation entre ‘Churn’ et un attribut numérique ‘tenure’
# charger le dataset
df <- [Link]("WA_Fn_UseC_Telco_Customer_Churn.csv")

# convertir churn en type numeric (1 pour "Yes" et 0 pour "No")


df$Churn <- ifelse(df$Churn == "Yes", 1, 0)

# calculer la correlation avec la fonction cor()


CO<- cor(data$Churn, data$tenure, use = "[Link]")

# Afficher le résultat
print(CO)

13/11/2024
La corrélation entre la classe cible est
un attribut catégoriel

 La corrélation peut être calculée avec la fonction cor() en R


ou corr() en Python (avec Pandas).
 Exemple Corrélation entre ‘Churn’ et un attribut catégoriel ‘gender’
Avant le calcul de la corrélation, l’attribut ‘gender’ doit être encodé (OHE)

gender Female Male

gender_Female 1 0
gender_Male 0 1

13/11/2024
La corrélation entre la classe cible est
un attribut catégoriel
# Charger le dataset
data <- [Link]("WA_Fn_UseC_Telco_Customer_Churn.csv")

# Convertir "Churn" en binaire


data$Churn <- ifelse(data$Churn == "Yes", 1, 0)

# Utiliser One-hot encoding à l'attribut catégoriel "gender" avec la fonction [Link]


gender_encoded <- [Link](~ gender - 1, data = data)

# Calcul de la correlation entre Churn et gender


correlation_gender_female <- cor(data$Churn, gender_encoded[, "genderFemale"], use =
"[Link]")

correlation_gender_male <- cor(data$Churn, gender_encoded[, "genderMale"], use =


"[Link]")

# Afficher
correlation_gender_female
13/11/2024
correlation_gender_male
Application
 Calculer la corrélation entre l’attribut ‘Churn’ et les différents autres attributs
N’oubliez pas de faire les prétraitements avant le calcul de la corrélation :
1. Eliminer l’attribut non pertinent ‘customerID’ en lui attribuant la valeur NULL
2. Eliminer les clients ayant des NA en utilisant la fonction [Link](data)
3. Transformer ‘Churn’ en binaire 1 et 0 en utilisant la fonction ifelse(data$Churn == "Yes", 1, 0)
4. Diviser votre dataset en colonnes catégorielles et numériques en utilisant le code suivant :
numeric_c <- data %>% select(where([Link])) %>% select(-Churn)

categorical_c <- data %>% select(where([Link]))

5. procéder à un encodage avant de calculer la corrélation pour les attributs de type catégoriel en utilisant la
fonction [Link](~ . - 1, data = categorical_c)

 Astuce : vous pouvez appliquez la fonction sapply qui permet d’appliquer une fonction à une
liste et retourne un vecteur de résultat.
 Quel sont les attributs qui sont corrélés avec le churn des clients? Que peut- déduire de ces
résultats?
13/11/2024
Solution
Les pipes R (%>% ) sont
# Charger la bib dplyr un moyen d'enchaîner
library(dplyr) plusieurs opérations de
manière concise et
# Charger le dataset expressive
data <- [Link]("WA_Fn_UseC_Telco_Customer_Churn.csv")

# Eliminer tous les NA


data <- [Link](data)

# Supprimer l'attribut customerID


data$customerID<-NULL

# Convertir "Churn" en binaire (1 pour "Yes", 0 pour "No")


data$Churn <- ifelse(data$Churn == "Yes", 1, 0)

# Séparer les colonnes catégorielles des numériques


numeric_c <- data %>% select(where([Link])) %>% select(-Churn)
categorical_c <- data %>% select(where([Link])) 13/11/2024
Solution
# Calculer les correlations pour les attributs numeriques
numeric_correlations <- sapply(numeric_c, function(x) cor(data$Churn, x, use =
"[Link]"))

# Coder les attributs categoriels en utilisant [Link]


categorical_encoded <- [Link](~ . - 1, data = categorical_c)

# Calculer les correlations pour les attributs codés


categorical_correlations <- sapply([Link](categorical_encoded), function(x)
cor(data$Churn, x, use = "[Link]"))

# combiner avec la fonction c les deux vecteurs


correlations <- c(numeric_correlations, categorical_correlations)

# Afficher
correlations
13/11/2024
Solution

13/11/2024
Visualisation de la corrélation

13/11/2024
Visualisation de la corrélation
# Charger la bib ggplot2
if (!requireNamespace("ggplot2", quietly = TRUE)) [Link]("ggplot2")
library(ggplot2)

# Charger le dataset
data <- [Link]("WA_Fn_UseC_Telco_Customer_Churn.csv")

# Eliminer tous les NA


data <- [Link](data)

# Convertir "Churn" en binaire (1 pour "Yes", 0 pour "No")


data$Churn <- ifelse(data$Churn == "Yes", 1, 0)

# supprimer CustomerID
data$customerID <- NULL

13/11/2024
Visualisation de la corrélation

# Convertir les variables catégirielle en numérique


data_encoded <- [Link](~ . - 1, data = data)

# calcul de la correlation avec Churn


correlations_df <- sapply([Link](data_encoded), function(x) cor(data$Churn, x,
use = "[Link]"))

# Tracer la correlation avec ggplot2 pour les differentes attributs


ggplot(correlations_df, aes(x = reorder(Attribute, Correlation), y = Correlation)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
labs(title = "Corrélation entre Churn et les autres attributs ", x = "Attributs", y
= "Corrélation") +
theme_minimal()

13/11/2024
Data Preparation
Préparation des données par l’exemple

13/11/2024
Objectif de la préparation des données

➢ Objectif : Rendre les données adaptées à la formation de modèles de


Machine Learning.
➢ Effacer les données non pertinentes (données redondantes, incomplètes
ou incorrectes) et ne laisser que les données de haute qualité.

13/11/2024
Processus de la préparation des données

➢ Le processus de préparation des données pour un


algorithme d'apprentissage automatique peut être résumé
en trois tâches :

I. Sélectionner des données


II. Prétraiter les données
III. Transformer les données

13/11/2024
I. Sélection des données
(data selection)
Etude analytique avant prétraitement :
 Quel est le volume des données disponibles ?
 Exemple : le débit, tables de base de données, systèmes connectés.

 Quelles données ne sont pas disponibles qui auraient dû l'être ?


 Exemple : des données qui ne sont pas enregistrées ou ne peuvent pas être
enregistrées.
 Dériver ou simuler ces données peut être nécessaire.

 Quelles données ne sont pas nécessaires pour résoudre le problème ?


 Il est presque toujours plus facile d'exclure des données que d'inclure des données.
 Notez quelles données doivent être exclues et pourquoi (redondantes, Sans impact, ...)

13/11/2024
II. Prétraitement des données
(Data pre-processing)
➢ Etape cruciale qui contribue à améliorer la qualité des données
pour améliorer l'extraction d'information pertinente à partir des
données.

➢Trois étapes courantes de prétraitement des données :


1. Le formatage
2. L'échantillonnage
3. Le nettoyage

13/11/2024
1. Formatage des données

Les données sélectionnées peuvent ne pas être dans un format


adapté à la modélisation.
Convertir un fichier sous un autre format
Transformer le type d’un attribut : des modèles de Machine
Learning nécessitent que toutes les variables d'entrée et de
sortie soient numériques, cela signifie que si les données
contiennent des attributs catégoriels, elles doivent être codées
en nombres.
catégoriel → numérique
Exemple Température : haute, normale, faible 13/11/2024
2. Échantillonnage

 Trop de données sélectionnées peut entraîner :


des temps d'exécution trop longs pour les
algorithmes
des exigences de calcul et de mémoire
importantes.
 Prendre un échantillon limité et représentatif des
données sélectionnées.
Pas nécessaire dans le cas des petits data sets

13/11/2024
3. Nettoyage des données

• Le nettoyage des données (ou data cleaning) est le processus qui consiste
à identifier et à corriger (ou supprimer) les erreurs, incohérences et
inexactitudes dans les données afin d’améliorer leur qualité et de les rendre
adaptées à l’analyse ou à la modélisation.

Classify
Raw data Pre-process Cleaned data Cluster

Imbalanced Missing
Irrelevant …
dataset values 13/11/2024
columns
3. Nettoyage des données

Consiste à :
a. Eliminer les données redondantes
b. Ajouter des instances aux classes minoritaires
Equilibrer un data set (imbalanced dataset)
c. Supprimer ou corriger des données manquantes
Missing values.
d. Supprimer les attributs non pertinents
Id.

Son objectif :
Nettoyer les données et garantir que le jeu de données est complet, précis et cohérent, ce
qui améliore la fiabilité et la validité des informations, prédictions ou décisions qui en
13/11/2024
découlent.
a. Eliminer les données redondantes
Duplicated data

 Les données dupliquées font référence à des entrées répétées ou identiques


dans un ensemble de données.
 Les enregistrements en double peuvent se produire lorsque les mêmes
informations sont enregistrées accidentellement plusieurs fois ou lorsque des
données sont combinées à partir de plusieurs sources
 les doublons peuvent fausser les analyses en surreprésentant certains points de
données, ce qui conduit à des informations inexactes.
 En R, on peut utiliser la fonction duplicated(data) pour voir toutes les données
dupliquées
 On peut éliminer les données duppliquées en utilisant la commande :
data <- data[!duplicated(data), ] 13/11/2024
b. Dataset non équilibré
imbalanced Dataset
➢ Un ensemble de données non-équilibré est un ensemble dans lequel l’attribut
cible a plus d'observations dans une classe spécifique que les autres.
➢ Disparité de classe : une ou plusieurs classes ont un nombre d'exemples beaucoup
plus important que les autres classes.
➢ Distribution asymétrique : par exemple, dans un
problème de classification binaire, si 95 % des données
appartiennent à la classe A et seulement 5 % à la classe
B, l'ensemble de données est déséquilibré.

➢ Les modèles standard ont tendance à favoriser la classe


majoritaire, ce qui entraîne de mauvaises performances dans
la prédiction de la classe minoritaire.
13/11/2024
b. Dataset non équilibré
imbalanced Dataset
➢ On R, on peut utiliser la fonction ROSE pour équilibrer un dataset.
➢ Exemple le fichier ‘[Link]’

13/11/2024
b. Dataset non équilibré
imbalanced Dataset
En R,
balanced_data <- ROSE(Class ~ ., data = data, seed = 1)$data

▪ ROSE(): du package ROSE génère des exemples synthétiques pour les classes
minoritaires pour équilibrer le dataset
▪ Class ~ .: Spécifie que ‘Class’ est le nom de l’attribut cible dans le dataset et ‘.’
représente les autres attributs comme prédicteurs.
ROSE utilisent ces prédicteurs pour générer de nouveaux échantillons
▪ data = data: Spécifie le data ici son nom est ’data’ auquel la fonction ROSE sera
appliquée.
▪ seed = 1: Il garantit la reproductibilité pour obtenir les mêmes échantillons
synthétiques à chaque fois qu’on exécute le code.
▪ $data: La fonction ROSE retourne une liste avec plusieurs éléments. 13/11/2024

Utiliser $data extrait uniquement le jeu de données équilibré du résultat.


c. Données manquantes DM
Missing values
➢ Généralement, il existe des observations où pas de valeurs pour certains attributs :
➢ Données corrompues
➢ Echec de chargement des informations
➢ Extraction incomplète.

13/11/2024
c. Données manquantes DM
Missing values
En R, on peut utiliser plusieurs méthodes pour identifier les DM :
➢ Utiliser [Link]() avec sum() : total_missing <- sum([Link](data))
➢ Utiliser summary() : summary(data)

L'imputation est une option préférable lorsque les données manquantes


mais nécessaires pour l’analyse.

La gestion des valeurs manquantes dépend du type de données


(numériques ou catégorielles) et du contexte de l'ensemble de données.

13/11/2024
c. Données manquantes DM
Missing values
Gestion des valeurs manquantes dans les données numériques

➢ Imputation par la moyenne : remplacer les valeurs manquantes par la moyenne


de la colonne.
➢ Imputation par la médiane : remplacer les valeurs manquantes par la médiane,
qui est moins sensible aux valeurs aberrantes.

# Imputation par la moyenne


data$numeric_column[[Link](data$numeric_column)] <-
mean(data$numeric_column, [Link] = TRUE)

# Imputation par la mediane


data$numeric_column[[Link](data$numeric_column)]<- 13/11/2024

median(data$numeric_column, [Link] = TRUE)


c. Données manquantes DM
Missing values
Gestion des valeurs manquantes dans les données catégorielles

➢ Imputation par le mode :Remplacer les valeurs manquantes par la catégorie


(mode) la plus fréquente dans la colonne
# Mode imputation for categorical data
[Link]("Hmisc")
library(Hmisc)
# Utilise impute() avec la fonction 'mode' pour le mode imputation
data$colName<- impute(data$colName, fun = mode)

➢ Imputation par une nouvelle catégorie :Créer une nouvelle catégorie à laquelle on
affecte l’étiquette ‘Unknown’
# Imputer avec une nouvelle catégorie 13/11/2024

data$categorical_column[[Link](data$categorical_column)] <- "Unknown"


c. Données manquantes DM
Missing values
Suppression des données manquantes

Dans certains cas, il est approprié de supprimer des lignes ou des colonnes
contenant de trop valeurs manquantes si elles ne sont pas essentielles à votre
analyse :
# Eliminer les lignes avec DM
data <- [Link](data)
# Eliminer les colonnes qui ont un nombre de DM > seuil (Entier)
data <- data[, colSums([Link](data)) < seuil]

13/11/2024
d. Attribut non pertinent
Irrelevent attribute
Exemple d’attributs non pertinents
 Un attribut qui ne peut pas affecter le résultat (id,…)
 Un attribut qui a la même valeur pour toutes les instances
 Un attribut fortement corrélé à un attribut
Objectif : Ne laisser que les attributs pertinents pour réduire le volume
des données ( Dimensional reduction)
Cas simples
Sélectionner l’attribut non pertinent et supprimer : Affecter NULL
Cas difficiles
 L’analyse de la corrélation
 La méthode RFE (Recursive Feature Elimination) 13/11/2024
d. Attribut non pertinent
Irrelevent attribute
 Analyse de corrélation
Pour les données numériques, utilisez l’analyse de corrélation pour supprimer les
caractéristiques fortement corrélées.
data <- [Link]("[Link]")
# Package pour la fonction findCorrelation
[Link]("caret")
library(caret)
# calcul de la matrice de correlation
cor_matrix <- cor(data, use = "[Link]")
# Trouver les attributs très corrélés (> 0.8)
high_corr <- findCorrelation(cor_matrix, cutoff = 0.8)
high_corr
13/11/2024
data_selected <- data[, -high_corr]
d. Attribut non pertinent
Irrelevent attribute

 L’élimination récursive des caractéristiques ( Recursive Feature Elimination )

C’est une technique de sélection de caractéristiques utilisée dans l'apprentissage


automatique identifier les caractéristiques (attributs) les plus pertinentes pour un
modèle prédictif.
La RFE fonctionne en supprimant de manière récursive les caractéristiques les moins
importantes du modèle et en le réévaluant, laissant finalement un sous-ensemble
des caractéristiques les plus importantes qui contribuent le plus à la précision
prédictive.
En R, c’est la fonction RFE() 13/11/2024
III. Transformation des données
(Data transform)
Trois transformations de données courantes :
1. la mise à l'échelle
2. la décomposition de données
3. L’agrégation de données.

13/11/2024
1. Mise à l’échelle

Les données prétraitées peuvent contenir des attributs numériques avec un


mélange d'échelles pour diverses quantités telles que les prix, les
kilogrammes et le volume des ventes, les distances….
 Par exemple :
 2000 centimètres au lieu de 20 mètres
 4 500 € euros au lieu de 4, 500 K€.

13/11/2024
2. Décomposition

il peut y avoir des attributs qui représentent un concept complexe qui peut
être plus utile à une méthode d'apprentissage automatique lorsqu'elle est
divisée en parties.
Exemple : la date (jour et heure)
Où seule l'heure de la journée est pertinente pour le problème à résoudre.

13/11/2024
3. Agrégation
il peut y avoir des caractéristiques (attributs) qui peuvent être agrégées en une seule
caractéristique qui serait plus significative pour le problème.
Exemple : Clients qui ont été connectés à un système
Au lieu d’utiliser toutes les instances (observations) pour chaque fois qu'un client se
connecte à un système, il peut y avoir des instances de données qui pourrait être
agrégées en un nombre de connexion permettant de supprimer les instances
supplémentaires.

13/11/2024
3. Agrégation

idClient Nom Prenom Adresse idClient Nom Prenom Adresse NbreC


g654 Jabri Ali Meknes g654 Jabri Ali Meknes 1
lkj482 Alami Ahmed Rabat lkj482 Alami Ahmed Rabat 3
gi542 Seddiki Rachid Fès gi542 Seddiki Rachid Fès 1
tr871 Bali Fatima Meknes tr871 Bali Fatima Meknes 1
lkj482 Alami Ahmed Rabat lkj482 Alami Ahmed Rabat
Xc096 Ziane Leila Settat Xc096 Ziane Leila Settat 1
lkj482 Alami Ahmed Rabat lkj482 Alami Ahmed Rabat

13/11/2024

Vous aimerez peut-être aussi