LoslegenKostenlos loslegen

Daten labeln

Ein DataFrame df ist verfügbar mit den Spalten endword: String, features: Vektor und outvec: Vektor. Du sollst die Zeilen auswählen, in denen endword gleich "him" ist, und eine Spalte label mit dem ganzzahligen Wert 1 hinzufügen. Verwende dann die Operation union, um die gleiche Anzahl an Zeilen hinzuzufügen, bei denen endword nicht "him" ist, sodass diese zusätzlichen Zeilen label = 0 haben.

Zur Erinnerung: In SQL wird der Ungleich-Vergleich mit <> ausgedrückt.

Diese Übung ist Teil des Kurses

Einführung in Spark SQL mit Python

Kurs anzeigen

Anleitung zur Übung

  • Importiere die Funktion lit.
  • Wähle die Zeilen aus, in denen endword 'him' ist, und füge eine ganzzahlige Spalte label mit dem Wert 1 hinzu.
  • Wähle die Zeilen aus, in denen endword nicht 'him' ist, und füge eine ganzzahlige Spalte label mit dem Wert 0 hinzu.
  • Führe diese beiden Mengen zusammen (union) und verwende dabei so viele negative Beispiele wie positive Beispiele.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Import the lit function
from pyspark.____ import lit

# Select the rows where endword is 'him' and label 1
df_pos = df.where("____ = 'him'")\
           .withColumn('label', lit(____))

# Select the rows where endword is not 'him' and label 0
df_neg = df.where("endword <> '____'")\
           .withColumn('label', ____(0))

# Union pos and neg in equal number
df_examples = df_pos.____(df_neg.limit(df_pos.count()))
print("Number of examples: ", df_examples.count())
df_examples.where("endword <> 'him'").sample(False, .1, 42).show(5)
Code bearbeiten und ausführen