Veriyi etiketle
endword: string, features: vector ve outvec: vector sütunlarına sahip bir df veri çerçevesi mevcut. endword değeri "him" olan satırları seçip, tamsayı değeri 1 olan bir label sütunu eklemen gerekiyor. Sonra, endword değeri him olmayan, aynı sayıda satırı union işlemiyle ekle; bu ek satırların label = 0 olmalı.
Hatırlatma: SQL'de eşit değil karşılaştırması <> ile yapılır.
Bu egzersiz
Python ile Spark SQL'e Giriş
kursunun bir parçasıdırEgzersiz talimatları
litfonksiyonunu içe aktar.- endword 'him' olan satırları seç ve değeri 1 olan tamsayı
labelsütunu ekle. - endword 'him' olmayan satırları seç ve değeri 0 olan tamsayı
labelsütunu ekle. - Bu iki kümesini birleştir; negatif örneklerin sayısı, pozitif örneklerin sayısına eşit olmalı.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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)