Призначте мітки даним
Доступний датафрейм df з колонками endword: string, features: vector і outvec: vector. Вам потрібно вибрати рядки, де endword дорівнює "him", і додати колонку label з цілим значенням 1. Потім використайте операцію union, щоб додати таку саму кількість рядків, де endword не дорівнює him, причому в цих додаткових рядках label = 0.
Нагадування: у SQL оператор перевірки на нерівність — це <>.
Ця вправа є частиною курсу
Вступ до Spark SQL у Python
Інструкції до вправи
- Імпортуйте функцію
lit. - Виберіть рядки, де endword — 'him', і додайте цілу колонку
labelзі значенням 1. - Виберіть рядки, де endword — не 'him', і додайте цілу колонку
labelзі значенням 0. - Об'єднайте ці дві вибірки, використавши кількість негативних прикладів, рівну кількості позитивних прикладів.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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)