BaşlayınÜcretsiz Başlayın

Özellik karması ve LabelPoint

E-postaları kelimelere böldükten sonra, ham veri kümelerimiz 'spam' ve 'spam olmayan' şu anda tek satırlık iletilerden oluşuyor. Bu iletileri sınıflandırmak için metni özelliklere dönüştürmemiz gerekiyor.

Egzersizin ikinci kısmında, metni 200 özellikten oluşan vektörlere eşlemek için önce bir HashingTF() örneği oluşturacaksın. Ardından 'spam' ve 'spam olmayan' dosyalarındaki her iletiyi kelimelere bölecek ve her kelimeyi bir özelliğe eşleyeceksin. Bunlar, bir iletinin 'spam' mi yoksa 'spam olmayan' mı olduğuna karar vermek için kullanılacak özellikler olacak. Sonrasında, özellikler için etiketler oluşturacaksın. Geçerli (spam olmayan) bir ileti için etiket 0 olacak (yani ileti spam değil), 'spam' bir ileti için etiket 1 olacak (yani ileti spam). Son olarak, her iki etiketli veri kümesini birleştireceksin.

Çalışma alanında bir SparkContext sc bulunduğunu unutma. Ayrıca spam_words ve non_spam_words değişkenleri de çalışma alanında hazır.

Bu egzersiz

PySpark ile Big Data Temelleri

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • E-posta metnini 200 özellikli vektörlere eşlemek için bir HashingTF() örneği oluştur.
  • 'spam' ve 'spam olmayan' veri kümelerindeki her iletiyi kelimelere böl ve her kelimeyi bir özelliğe eşle.
  • Özellikleri etiketle: spam için 1, spam olmayan için 0.
  • Hem spam hem de spam olmayan örnekleri tek bir veri kümesinde birleştir.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Create a HashingTF instance with 200 features
tf = ____(numFeatures=200)

# Map each word to one feature
spam_features = tf.____(spam_words)
non_spam_features = tf.____(____)

# Label the features: 1 for spam, 0 for non-spam
spam_samples = spam_features.map(lambda features:LabeledPoint(____, features))
non_spam_samples = non_spam_features.map(lambda features:_____(____, features))

# Combine the two datasets
samples = spam_samples.____(non_spam_samples)
Kodu Düzenle ve Çalıştır