Läsa in och tolka datasetet med 5 000 punkter
Klustring är en oövervakad inlärningsuppgift som går ut på att gruppera objekt i kluster med hög inbördes likhet. Till skillnad från övervakade uppgifter, där data är märkt, kan klustring användas för att hitta mönster i omärkt data. PySpark MLlib innehåller den populära K-means-algoritmen för klustring. I den här övningen med tre delar ska du ta reda på hur många kluster som finns i ett dataset med 5 000 rader och 2 kolumner. Du börjar med att läsa in data i ett RDD, tolka RDD:t utifrån avgränsaren, köra KMeans-modellen, utvärdera modellen och slutligen visualisera klustren.
I den första delen läser du in data i ett RDD, tolkar RDD:t utifrån avgränsaren och konverterar datatypen från sträng till heltal.
Kom ihåg att du har ett SparkContext sc tillgängligt i din arbetsyta. Variabeln file_path – som är sökvägen till filen 5000_points.txt – finns också redan i din arbetsyta.
Den här övningen är en del av kursen
Grunderna i Big Data med PySpark
Övningsinstruktioner
- Läs in datasetet
5000_pointsi ett RDD med namnetclusterRDD. - Transformera
clusterRDDgenom att dela upp raderna med tabulator ("\t") som avgränsare. - Transformera det uppdelade RDD:t för att skapa en lista med heltal för de två kolumnerna.
- Bekräfta att datasetet innehåller 5 000 rader.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(____.____()))