Daha uzun n-gram'lar kullanma
Şimdiye kadar, her bir metindeki tek tek kelimelere dayalı özellikler oluşturdun. Bu, bir Machine Learning modelinde kullanıldığında oldukça güçlü olabilir; ancak kelimelere tek tek bakarak bağlamın büyük kısmını gözden kaçırdığından endişe edebilirsin. Modelleri oluştururken bunu aşmak için, bir arada gruplanmış n kelimelik diziler olan n-gram'ları kullanabilirsin. Örneğin:
- bigramlar: Art arda gelen iki kelimelik diziler
- trigramlar: Art arda gelen üç kelimelik diziler
Bunlar, ngram_range argümanını (n1, n2) şeklinde bir demet olarak belirterek veri kümen içinde otomatik olarak oluşturulabilir; n1 ile n2 aralığındaki tüm n-gram'lar dahil edilir.
Bu egzersiz
Python ile Machine Learning için Özellik Mühendisliği
kursunun bir parçasıdırEgzersiz talimatları
sklearn.feature_extraction.textiçindenCountVectorizer'ı içe aktar.- Yalnızca trigramları dikkate alacak şekilde
CountVectorizer'ı oluştur. - Vektörleştiriciyi tek adımda
text_cleansütununa uydur ve uygula. - Vektörleştiricinin oluşturduğu özellik adlarını yazdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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.____)