Stopwords ve hashing
Sıradaki adımlar, stopwords (önemsiz sözcükleri) kaldırmak ve ardından hashing hilesini uygulayıp sonuçları TF-IDF’e dönüştürmek olacak.
Bu kavramlara kısa bir hatırlatma:
- Hashing hilesi, çok büyük (hatta sonsuz) bir öğe kümesini (bu durumda SMS mesajlarındaki tüm sözcükler) daha küçük, sonlu sayıdaki değerlere eşlemenin hızlı ve yerden tasarruf sağlayan bir yolunu sunar.
- TF-IDF matrisi, bir sözcüğün her belge için ne kadar önemli olduğunu yansıtır. Hem sözcüğün belgedeki tekrarını hem de koleksiyondaki tüm belgeler genelinde görülme sıklığını dikkate alır.
Token’lara ayrılmış SMS verileri sms içinde words adlı bir sütunda saklanıyor. Verideki boşlukları düzenleyerek token’lara ayrılmış metni daha temiz hâle getirdin.
Bu egzersiz
PySpark ile Machine Learning
kursunun bir parçasıdırEgzersiz talimatları
StopWordsRemover,HashingTFveIDFsınıflarını içe aktar.- Bir
StopWordsRemovernesnesi oluştur (girdi sütunuwords, çıktı sütunuterms).smsüzerine uygula. - Bir
HashingTFnesnesi oluştur (girdi önceki adımın sonucu, çıktı sütunuhash).wrangledüzerine uygula. - Bir
IDFnesnesi oluştur (girdi önceki adımın sonucu, çıktı sütunufeatures).wrangledüzerine uygula.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
from pyspark.ml.____ import ____, ____, ____
# Remove stopwords
wrangled = ____(inputCol=____, outputCol=____)\
.____(sms)
# Apply the hashing trick
wrangled = ____(____, ____, numFeatures=1024)\
.____(wrangled)
# Convert hashed symbols to TF-IDF
tf_idf = ____(____, ____)\
.____(wrangled).____(wrangled)
tf_idf.select('terms', 'features').show(4, truncate=False)