0% ont trouvé ce document utile (0 vote)
283 vues2 pages

Segmentation Client avec DBSCAN en Data Mining

Transféré par

Marwan Housni
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)
283 vues2 pages

Segmentation Client avec DBSCAN en Data Mining

Transféré par

Marwan Housni
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

Travaux pratiques N ◦ 9: Algorithme DBSCAN

Module:Data Mining
–Licence en Sciences des Données (S5)
College of Computing–Université Mohammed VI Polytechnique
Année universitaire 2024-2025
[email protected]
—————————————————————–
—————————————————————–
Objectif : Segmentation des Clients de Centre Commercial avec
l’Algorithme Density-Based Spatial Clustering of Applications with Noise

Objectif
L’objectif de ce travail pratique est de mettre en œuvre et d’analyser l’algorithme DBSCAN (Density-Based Spa-
tial Clustering of Applications with Noise) sur un jeu de données réel. L’algorithme DBSCAN est un algorithme
de clustering basé sur la densité, capable de former des groupes de données tout en détectant les anomalies
(bruit).

1. Exploration des données


1. Téléchargez le jeu de données depuis Kaggle à l’adresse suivante:
https://www.kaggle.com/datasets/vjchoudhary7/customer-segmentation.
2. Importez le fichier CSV dans votre environnement de travail Python et répondez aux questions suivantes.
3. Chargez les données à l’aide de pandas et affichez les cinq premières lignes du jeu de données.
4. Affichez des informations sur les colonnes (df.info()) et vérifiez s’il y a des valeurs manquantes.
5. Réalisez une analyse descriptive des variables numériques (df.describe()).
6. Standardiser les données numériques (Âge, Revenu annuel, Score de dépense) pour faciliter la convergence
de l’algorithme.

Partie 2 : Application de l’algorithme DBSCAN


2.1 Normalisation des données
Avant d’appliquer DBSCAN, il est souvent nécessaire de normaliser les données pour éviter que certaines variables
à grande échelle (comme le revenu annuel) n’impactent trop fortement le résultat du clustering. Utilisez la
normalisation Min-Max ou Standardisation pour cette étape.

from sklearn.preprocessing import StandardScaler

# Sélection des variables pertinentes


X = data[[’Annual Income (k$)’, ’Spending Score (1-100)’]]

# Normalisation des données


scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

1|2
2.2 Application de DBSCAN
Appliquez l’algorithme DBSCAN sur les données normalisées. Commencez par choisir des valeurs pour les
paramètres eps (la distance maximale entre deux points pour les considérer comme voisins) et min_samples (le
nombre minimum de points pour former un cluster).

from sklearn.cluster import DBSCAN

# Application de DBSCAN
dbscan = DBSCAN(eps=0.5, min_samples=5)
labels = dbscan.fit_predict(X_scaled)

# Affichage des labels attribués par DBSCAN


print(labels)

2.3 Visualisation des clusters


Une fois l’algorithme DBSCAN exécuté, visualisez les clusters obtenus. Utilisez un graphique de dispersion pour
afficher les clusters, en coloriant les points selon les labels attribués par DBSCAN. Les points marqués comme
bruit seront généralement assignés à un label -1.

import matplotlib.pyplot as plt

# Visualisation des clusters


plt.scatter(X[’Annual Income (k$)’], X[’Spending Score (1-100)’], c=labels, cmap=’viridis’)
plt.xlabel(’Income (k$)’)
plt.ylabel(’Spending Score (1-100)’)
plt.title(’Clustering des clients du centre commercial avec DBSCAN’)
plt.show()

Partie 3 : Analyse des résultats


3.1 Evaluation des clusters
Analysez les résultats obtenus. Combien de clusters ont été formés ? Quelle proportion des données a été classée
comme bruit (points ayant le label -1) ?
Discutez de l’impact des paramètres eps et min_samples sur le résultat du clustering. Que se passe-t-il si vous
modifiez ces paramètres ?

3.2 Comparaison avec d’autres algorithmes


Comparez l’algorithme DBSCAN avec d’autres méthodes de clustering, telles que KMeans. Quelle est la différence
dans les résultats obtenus par DBSCAN et KMeans, en particulier dans le cas des données bruyantes ?

Partie 4 : Conclusion
Dans cette partie, résumez les principales conclusions que vous avez tirées de l’application de DBSCAN sur ce
jeu de données. Discutez des avantages et des limitations de DBSCAN pour le clustering de données réelles.

2|2

Vous aimerez peut-être aussi