Chargement et analyse des données de 5 000 points
Le clustering est une tâche d'apprentissage non supervisée qui consiste à regrouper des objets en clusters présentant une grande similitude. Contrairement aux tâches supervisées, où les données sont étiquetées, le clustering peut être utilisé pour donner un sens aux données non étiquetées. PySpark MLlib inclut l'algorithme populaire K-means pour le clustering. Dans cet exercice en trois parties, vous découvrirez combien de clusters il y a dans un ensemble de données contenant 5 000 lignes et 2 colonnes. Pour ce faire, vous commencerez par charger les données en un RDD, vous analyserez le RDD en fonction du délimiteur, vous exécuterez le modèle K-means, vous évaluerez le modèle et enfin, vous visualiserez les clusters.
Dans la première partie, vous chargerez les données dans le RDD, analyserez le RDD en fonction du délimiteur et convertirez le type de chaîne des (string) en un nombre entier (integer).
Rappelez-vous qu’un SparkContext sc
est déjà disponible dans votre espace de travail. La variable file_path
(qui est le chemin d'accès au fichier 5000_points.txt
) est également déjà disponible dans votre espace de travail.
Cet exercice fait partie du cours
Principes fondamentaux des mégadonnées avec PySpark
Instructions
- Chargez le jeu de données
5000_points
dans un RDD nomméclusterRDD
. - Transformez le
clusterRDD
en divisant les lignes en fonction de la tabulation (« \t »). - Transformez le RDD divisé pour créer une liste d'entiers pour les deux colonnes.
- Confirmez que l'ensemble de données comporte 5 000 lignes.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Load the dataset into an RDD
clusterRDD = sc.____(file_path)
# Split the RDD based on tab
rdd_split = clusterRDD.____(lambda x: ____.split(____))
# Transform the split RDD by creating a list of integers
rdd_split_int = rdd_split.____(lambda x: [int(____), int(x[1])])
# Count the number of rows in RDD
print("There are {} rows in the rdd_split_int dataset".format(____.____()))