Wczytywanie i parsowanie zbioru 5000 punktów
Klastrowanie to zadanie uczenia nienadzorowanego polegające na grupowaniu obiektów w klastry o wysokim stopniu podobieństwa. W odróżnieniu od zadań nadzorowanych, gdzie dane są etykietowane, klastrowanie pozwala wyciągać wnioski z danych bez etykiet. PySpark MLlib zawiera popularny algorytm k-średnich (K-means) do klastrowania. W tym trzyczęściowym ćwiczeniu sprawdzisz, ile klastrów można wyróżnić w zbiorze danych zawierającym 5000 wierszy i 2 kolumny. W tym celu najpierw wczytasz dane do RDD, sparsuje RDD na podstawie separatora, uruchomisz model KMeans, ocenisz go, a na końcu zwizualizujesz klastry.
W pierwszej części wczytasz dane do RDD, sparsuje RDD na podstawie separatora i przekonwertujesz dane z typu tekstowego na liczby całkowite.
Pamiętaj, że w swoim środowisku pracy masz dostępny SparkContext sc. Zmienna file_path (ścieżka do pliku 5000_points.txt) jest już dostępna w środowisku pracy.
To ćwiczenie jest częścią kursu
Podstawy Big Data z PySpark
Instrukcje do ćwiczenia
- Wczytaj zbiór danych
5000_pointsdo RDD o nazwieclusterRDD. - Przekształć
clusterRDD, dzieląc wiersze na podstawie tabulatora ("\t"). - Przekształć podzielone RDD, tworząc listę liczb całkowitych dla obu kolumn.
- Sprawdź, czy zbiór danych zawiera 5000 wierszy.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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(____.____()))