Département Mécanique
Filière : Génie Industriel et Logistique
Compte Rendu – Compréhension, Préparation et Segmentation des Données avec
SPSS Modeler
Réalisé par : Encadré par :
EL BIOUI Souhayla M. OUAJIH Ramzi
Année universitaire : 2025 - 2026
1. Introduction
Ce compte rendu présente la démarche complète menée dans le cadre du travail pratique de Data Mining
utilisant l’outil IBM SPSS Modeler. L’objectif principal est double :
• Comprendre et mettre en œuvre la méthodologie CRISP-DM (Cross Industry Standard Process for
Data Mining) ;
• Explorer, préparer et modéliser un jeu de données issues du secteur des télécommunications.
Plus spécifiquement, ce TP vise à appliquer un algorithme de clustering par K-means pour identifier des
groupes de clients homogènes et étudier leur lien avec la variable cible Churn (attrition clientèle).
2. Description du Dataset
Le jeu de données analysé comprend 3 333 observations provenant du secteur des télécommunications. Il
caractérise notamment :
➢ Le volume d’appels et la consommation selon les périodes de la journée (jour, soirée, nuit).
➢ Les interactions avec le service client (nombre d’appels au support).
➢ L’ancienneté des clients.
➢ Des variables catégorielles telles que l’option messagerie vocale (Mail), le forfait international
(Intnat) et la région géographique (Région US).
➢ La variable cible : Churn (indicateur de désabonnement).
3. Importation du Fichier
➢ Le fichier source 3333-churn_TP.txt a été importé à l’aide du nœud « Source délimité fichier
» dans SPSS Modeler.
➢ Une vérification attentive a été menée concernant le séparateur, le nombre de lignes et de colonnes,
ainsi que la détection de valeurs manquantes.
Réponses des questions :
1. Combien de lignes et de colonnes comporte le fichier importé ?
Dans l’aperçu SPSS Modeler, on observe que le fichier contient :
• 21 colonnes (Reg US, Dur Vie, Cod Dept, NumTel, Intnat, Mail, Nb Msg, Conso Jr Mn, App Jr,
CA Jour, Conso Sr Mn, App Sr, CA Soirée, Conso Nt Mn, App Nt, CA Nuit, Conso Int Mn, App
Int, CA Internat, Serv Cli, Churn?)
• 3333 lignes (c’est un jeu classique “3333-churn” utilisé en Data Mining).
2. Quels types de données sont présents (numériques, catégorielles, etc.) ?
D’après SPSS :
Données numériques (continues) :
Exemples :
• Dur Vie, Nb Msg, Conso Jr Mn, Conso Sr Mn, Conso Nt Mn, CA Jour, CA Soirée, CA Nuit, CA
Internat ; App Jr, App Sr, App Nt, App Int ; Serv Cli
Données catégorielles (nominales) :
• Reg US (état américain : KS, OH, NJ, etc.) ; Intnat (yes/no) ; Mail (yes/no) ; Churn? (True/False)
Ce sont des variables qualitatives utilisées comme attributs explicatifs.
Données textuelles / non typées :
• Cod Dept ; NumTel
Elles apparaissent "Sans type" dans SPSS Modeler car :
• Cod Dept est un code département (numérique mais utilisé comme identifiant)
• NumTel contient des tirets → SPSS le traite comme texte
2. Le jeu de données présente-t-il des valeurs manquantes, des erreurs ou des formats
incohérents ?
Oui, il présente plusieurs anomalies visibles dans le fichier.
On trouve des cases vides dans plusieurs colonnes continues.
3. Le séparateur du fichier a-t-il été correctement détecté ?
Oui, le séparateur a été correctement détecté lors de l’importation.
Lors de l’importation du fichier 3333-churn_TP.txt via le nœud « Source délimité fichier », le
séparateur a été automatiquement détecté par SPSS Modeler. Celui-ci a correctement identifié les 21
colonnes attendues, confirmant ainsi la bonne interprétation du format du fichier source. Aucun
ajustement manuel n’a été nécessaire, ce qui a permis une lecture fidèle et complète des données
4. Prétraitement des Données
4.1 Typage des Variables
Le nœud « Typer » a été utilisé pour corriger les types et rôles des variables.
Variables exclues du clustering : identifiants (ex : NumTel) car non pertinentes.
Réponses des questions :
1. Quels sont les différents types de variables présents dans le dataset et combien ?
Le dataset contient quatre grandes catégories de variables :
1) Variables continues (numériques) – la majorité (~15 variables)
Ce sont toutes les mesures quantitatives liées à l’usage téléphonique :
Dur Vie ; Nb Msg ; Conso Jr Mn ; CA Jour ; Conso Sr Mn ; CA Soirée ; Conso Nt Mn ; CA Nuit ; Conso
Int Mn ; CA Internat ; App Jr, App Sr, App Nt, App Int ; Serv Cli
Ces variables prennent des valeurs réelles, parfois décimales.
2) Variables nominales (catégorielles) – environ 3 variables
Elles décrivent des catégories sans ordre :
Reg US (État américain : KS, OH, NJ…) ; Intnat (yes/no); Mail (yes/no)
3) Variables indicateurs / Booléennes – 1 variable
Churn? (True./False.)
Même si les valeurs ressemblent à du texte, la variable représente un indicateur binaire.
4) Variables sans type (texte libre) – 2 variables
Apparaissent comme “Sans type” dans SPSS :
Cod Dept ; NumTel
Elles ne sont pas reconnues comme numériques ni comme catégories utilisables.
2. Existe-t-il des variables sans type ? Pourquoi ?
Oui : Cod Dept et NumTel.
NumTel contient des caractères non numériques (format 382-4657) → SPSS le considère comme texte.
Cod Dept est un code proche d’un identifiant, avec peu d’intérêt statistique et trop de modalités → SPSS
ne peut pas lui attribuer un type exploitable.
Ces colonnes ne peuvent pas être interprétées comme mesures ou catégories cohérentes pour un
algorithme.
3. Justifier le rôle attribué à chaque catégorie de variables
Le rôle défini par SPSS Modeler indique comment la variable sera utilisée dans le modèle.
➢ Variables continues → Rôle = Entrée
Ce sont les principales variables explicatives pour le clustering (mesures d’usage, coûts, durée…).
➢ Variables nominales → Rôle = Entrée
Elles enrichissent la segmentation :
➢ Reg US peut influencer la consommation
➢ Intnat / Mail décrivent des comportements clients
Elles ne sont pas cibles → donc utilisées comme attributs.
➢ Variable indicateur (Churn?) → Rôle = Cible
Elle identifie si le client a résilié ou non.
Pour un clustering (analyse NON supervisée) :
On ne doit pas intégrer la cible dans la création des clusters
→ donc elle est exclue des entrées.
➢ Variables sans type (Cod Dept, NumTel) → Rôle = Aucun
➢ NumTel = identifiant unique → n’apporte aucune information
➢ Cod Dept = variable arbitraire, non explicative et incohérente pour un cluster
→ Elles sont logiquement exclues.
4. Quelles variables ont été exclues du clustering ? Pourquoi ?
Les variables suivantes ne participent pas au clustering :
1) NumTel : Identifiant unique (texte) ; N’apporte aucune valeur analytique ; Risque de bruit important
2) Cod Dept : Trop de modalités, rôle identifiant ; Pas de pouvoir explicatif ; Inutile pour regrouper les
clients
3) Churn? : Variable cible (True./False.) ; Le clustering est non supervisé → on ne doit pas inclure la cible
dans les entrées
Sinon la segmentation serait biaisée
SPSS lui attribue le rôle Cible, donc automatiquement exclue des entrées.
4.2 Prétraitement des données
Le nœud Data Audit a permis d'identifier les valeurs manquantes et les distributions déséquilibrées.
Réponse des questions :
Quelles variables contenaient des valeurs manquantes ?
Y a-t-il des variables très déséquilibrées (Mail, Intat)
Pourquoi est-il important d’effectuer un Data Audit ?
Le Data Audit permet d’identifier les valeurs manquantes, les déséquilibres de distribution, les formats
incohérents et les erreurs éventuelles dans les données. Cette étape est indispensable pour garantir la
qualité du prétraitement et obtenir des clusters fiables et interprétables.
Réponses des questions :
Quelle méthode de remplacement a été utilisée pour chaque variable contenant des valeurs manquantes ?
➢ Remplacement par la moyenne avec l’expression : @MEAN(@FIELD)
Pourquoi cette méthode est-elle appropriée pour les variables continues ?
➢ Parce qu’elle conserve la distribution globale, évite les biais et permet au K-means de fonctionner
correctement
Que se passerait-il si on lançait un clustering avec des valeurs manquantes non traitées ?
➢ Le K-means ne peut pas calculer les distances → erreurs, suppression automatique de lignes ou
clusters incorrects.
Pourquoi la variable Dur Vie doit-elle être convertie en réel ?
➢ La fonction @MEAN() ne fonctionne que sur des variables continues. Donc Dur Vie doit être en
réel pour calculer la moyenne.
Pourquoi faut-il supprimer le champ « Dur Vie » original après conversion ?
➢ Pour éviter la duplication, garder seulement la version correcte (réelle) et ne pas fausser le
clustering.
Quel nœud est utilisé pour supprimer le champ original Dur Vie ?
➢ Le nœud Filtrer (Filter).
Questions :
Pourquoi les variables Mail et Intnat doivent-elles être recodées ?
➢ Parce qu’elles sont nominales (valeurs yes/no) et le K-means n’accepte que des données
numériques pour calculer les distances. Les recoder en 0 et 1 permet donc de les intégrer
correctement dans le modèle de clustering.
Réponses des questions :
Pourquoi la normalisation est-elle nécessaire avant un clustering K-means ?
La normalisation est nécessaire avant un clustering K-means pour éviter que les variables avec de grandes
échelles (comme le chiffre d'affaires) ne dominent l'algorithme et faussent les regroupements.
Comparer les valeurs avant et après normalisation
Après :
Avant :
5. Modélisation – Clustering K-means
• Application du nœud K-Means avec 3 clusters.
• Vérification de la convergence du modèle.
• Analyse des tailles de clusters et interprétation.
Réponses des questions :
Le modèle K-means a-t-il convergé ? En combien d’itérations ?
Le modèle K-means a convergé rapidement, en un nombre d’itérations limité, indiquant une structure de
données relativement stable.
Quel est le nombre final de clusters généré par le modèle ?
Le modèle a généré 3 clusters, conformément au paramètre choisi dans l’onglet Modèle (K = 3).
Quelle est la taille de chaque cluster ? (nombre d’individus + pourcentages)
➢ Cluster 1 : 2664 individus (79.9%)
➢ Cluster 2 : 323 individus (9.7%)
➢ Cluster 3 : 346 individus (10.4%)
Cela montre une forte dominance du cluster 1.
Quel cluster semble le plus rentable / le plus risqué en termes de churn ?
On utilise la matrice croisant :
Cluster X Churn?_transformed
Cluster 1 : 2664 churners → 100% de churn
➢ Cluster le plus risqué (fort taux d’attrition).
Cluster 2 : 186 churners (57.6%)
➢ Risque modéré.
Cluster 3 : 0 churners (0%)
➢ Cluster le plus rentable / le plus fidèle.
Interpréter les clusters obtenus par le modèle
Cluster 1 (80%) — Clients très à risque
➢ Churn = 100%
➢ Très grande majorité de la base
➢ Forte consommation ou comportement typique des clients proches de la résiliation
Cluster 2 (10%) — Clients intermédiaires
➢ Churn autour de 58%
➢ Profil mixte : une partie fidèle, une partie instable
➢ Consommation moyenne
Cluster 3 (10%) — Clients très fidèles
➢ Churn = 0%
➢ Aucun client n’a résilié
➢ Probablement consommation régulière, stable
Quels seraient les avantages et les limites du K-means ?
Avantages :
➢ Simple à comprendre et à implémenter
➢ Très rapide, même avec de grands volumes de données
➢ Produit des clusters bien séparés lorsque les données sont homogènes
➢ Utilise une métrique intuitive : la distance euclidienne
Limites :
➢ Nécessite de spécifier K à l’avance
➢ Sensible aux valeurs extrêmes et à la présence de bruit
➢ Suppose des clusters sphériques et de taille similaire (pas toujours vrai)
➢ Supporte mal les variables catégorielles non transformées
➢ Sensible à l’échelle des variables → nécessite une normalisation préalable
[Link]
Ce TP a permis de comprendre les étapes essentielles du processus CRISP-DM : exploration, préparation,
nettoyage et normalisation des données.
L’algorithme K-means a permis d’identifier des groupes homogènes et d’analyser leur comportement vis-
à-vis du churn. Ce travail renforce les compétences en préparation de données, en usage de SPSS Modeler
et en segmentation non supervisée.