Caricamento e parsing dei dati con 5000 punti
Il clustering è un'attività di apprendimento non supervisionato che consiste nel raggruppare oggetti in cluster ad alta somiglianza. A differenza dei compiti supervisionati, dove i dati sono etichettati, il clustering può essere usato per dare senso a dati non etichettati. PySpark MLlib include il popolare algoritmo K-means per il clustering. In questo esercizio in 3 parti, scoprirai quanti cluster ci sono in un insieme di dati con 5000 righe e 2 colonne. Per farlo, prima caricherai i dati in un RDD, eseguirai il parsing dell'RDD in base al delimitatore, lancerai il modello KMeans, valuterai il modello e infine visualizzerai i cluster.
Nella prima parte, caricherai i dati in un RDD, farai il parsing dell'RDD in base al delimitatore e convertirai il tipo stringa dei dati in interi.
Ricorda che hai uno SparkContext sc disponibile nel tuo workspace. Anche la variabile file_path (il percorso al file 5000_points.txt) è già disponibile nel tuo workspace.
Questo esercizio fa parte del corso
Fondamenti di Big Data con PySpark
Istruzioni dell'esercizio
- Carica il dataset
5000_pointsin un RDD chiamatoclusterRDD. - Trasforma
clusterRDDdividendo le righe in base al tab ("\t"). - Trasforma l'RDD risultante per creare una lista di interi per le due colonne.
- Verifica che nel dataset ci siano 5000 righe.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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(____.____()))