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, kursun bir parçasıdır
PySpark ile Machine Learning
Egzersiz 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ı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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)