เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ติดป้ายกำกับข้อมูล

มี DataFrame df ที่มีคอลัมน์ endword (ชนิด string), features (ชนิด vector) และ outvec (ชนิด vector) ให้เลือกแถวที่ endword มีค่าเท่ากับ "him" แล้วเพิ่มคอลัมน์ label ที่มีค่าเป็นจำนวนเต็ม 1 จากนั้นใช้การดำเนินการ union เพื่อเพิ่มแถวจำนวนเท่ากันที่ endword ไม่เท่ากับ him โดยแถวเหล่านี้จะมี label = 0

เป็นการเตือนความจำ ใน SQL การเปรียบเทียบ "ไม่เท่ากับ" ใช้ <>

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Introduction to Spark SQL in Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • Import ฟังก์ชัน lit
  • เลือกแถวที่ endword เป็น 'him' และเพิ่มคอลัมน์ label ชนิดจำนวนเต็มที่มีค่าเป็น 1
  • เลือกแถวที่ endword ไม่ใช่ 'him' และเพิ่มคอลัมน์ label ชนิดจำนวนเต็มที่มีค่าเป็น 0
  • นำสองชุดนี้มา union กัน โดยใช้จำนวนตัวอย่างเชิงลบเท่ากับจำนวนตัวอย่างเชิงบวก

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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)
แก้ไขและรันโค้ด