Laden und Parsen von 5000 Datenpunkten
Clustering ist eine Aufgabe beim unüberwachten Lernen, bei der es darum geht, Objekte in Clustern mit hoher Ähnlichkeit zu gruppieren. Im Gegensatz zu überwachten Aufgaben, bei denen die Daten beschriftet sind, kann Clustering verwendet werden, um Daten ohne Labels in eine sinnvolle Ordnung zu bringen. PySpark MLlib enthält den beliebten k-Means-Algorithmus für Clustering. In dieser dreiteiligen Übung findest du heraus, wie viele Cluster es in einem Datensatz mit 5000 Zeilen und 2 Spalten gibt. Dazu lädst du zunächst die Daten in einen RDD, liest den RDD dann anhand eines Trennzeichens aus, führst danach das k-Means-Modell aus, bewertest das Modell und visualisierst schließlich die Cluster.
Im ersten Übungsteil lädst du die Daten in einen RDD, erledigst das Parsen des RDD anhand des Trennzeichens und konvertierst den String-Datentyp in einen Integer-Datentyp.
Zur Erinnerung: Der SparkContext sc
ist schon im Arbeitsbereich verfügbar. Auch die Variable file_path
(mit dem Pfad zur Datei 5000_points.txt
) ist bereits im Arbeitsbereich vorhanden.
Diese Übung ist Teil des Kurses
Grundlagen von Big Data mit PySpark
Anleitung zur Übung
- Lade den Datensatz
5000_points
in einen RDD namensclusterRDD
. - Transformiere
clusterRDD
, indem du die Zeilen anhand des Tabulators („\t“) aufteilst. - Transformiere den zerlegten RDD, um eine Liste von Ganzzahlen für die beiden Spalten zu erstellen.
- Bestätige, dass sich 5000 Zeilen im Datensatz befinden.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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(____.____()))