Daha uzun n-gram'lar kullanma
Şimdiye kadar, metinlerin her birindeki tekil kelimelere dayalı özellikler oluşturdun. Bu, bir Machine Learning modelinde kullanıldığında oldukça güçlü olabilir; ancak kelimelere tek tek bakmanın bağlamın çoğunu göz ardı ettiği endişesini taşıyor olabilirsin. Bunu aşmak için, modelleri oluştururken bir araya getirilmiş n adet kelime dizilerinden oluşan n-gram'ları kullanabilirsin. Örneğin:
- bigramlar: Art arda gelen iki kelimeden oluşan diziler
- trigramlar: Art arda gelen üç kelimeden oluşan diziler
Bunlar, ngram_range argümanını (n1, n2) şeklinde bir demet olarak belirterek veri kümenizde otomatik olarak oluşturulabilir; burada n1 ile n2 aralığındaki tüm n-gram'lar dahil edilir.
Bu egzersiz, kursun bir parçasıdır
Python ile Machine Learning için Özellik Mühendisliği
Egzersiz talimatları
sklearn.feature_extraction.textiçindenCountVectorizer'ı içe aktar.- Yalnızca trigramları dikkate alarak
CountVectorizerörneğini oluştur. - Vektörleyiciyi tek adımda
text_cleansütununa uydur ve uygula. - Vektörleyicinin ürettiği özellik adlarını yazdır.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Import CountVectorizer
from sklearn.feature_extraction.text import ____
# Instantiate a trigram vectorizer
cv_trigram_vec = CountVectorizer(max_features=100,
stop_words='english',
____)
# Fit and apply trigram vectorizer
cv_trigram = ____(speech_df['text_clean'])
# Print the trigram features
print(cv_trigram_vec.____)