Označení dat
K dispozici máš datový rámec df se sloupci endword (řetězec), features (vektor) a outvec (vektor). Vyber řádky, kde se endword rovná "him", a přidej sloupec label s celočíselnou hodnotou 1. Poté pomocí operace union přidej stejný počet řádků, kde se endword nerovná "him", přičemž tyto řádky budou mít label = 0.
Připomínka: v SQL se nerovnost vyjadřuje pomocí <>.
Toto cvičení je součástí kurzu
Úvod do Spark SQL v Pythonu
Pokyny k cvičení
- Importuj funkci
lit. - Vyber řádky, kde je endword rovno 'him', a přidej celočíselný sloupec
labels hodnotou 1. - Vyber řádky, kde endword není rovno 'him', a přidej celočíselný sloupec
labels hodnotou 0. - Obě množiny spoj pomocí union, přičemž počet negativních příkladů musí odpovídat počtu pozitivních.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)