Kelime Sayımı Temsili

Python ile Machine Learning için Özellik Mühendisliği

Robert O'Callaghan

Director of Data Science, Ordergroove

Metni sütunlara dönüştürme

Python ile Machine Learning için Özellik Mühendisliği

Vektörleştiriciyi başlatma

from sklearn.feature_extraction.text import CountVectorizer
cv = CountVectorizer()
print(cv)
CountVectorizer(analyzer=u'word', binary=False, 
        decode_error=u'strict', 
        dtype=<type 'numpy.int64'>, 
        encoding=u'utf-8', input=u'content',
        lowercase=True, max_df=1.0, max_features=None, 
        min_df=1,ngram_range=(1, 1), preprocessor=None, 
        stop_words=None, strip_accents=None, 
        token_pattern=u'(?u)\\b\\w\\w+\\b',
        tokenizer=None, vocabulary=None
Python ile Machine Learning için Özellik Mühendisliği

Vektörleştiriciyi belirtme

from sklearn.feature_extraction.text import CountVectorizer

cv = CountVectorizer(min_df=0.1, max_df=0.9)

min_df: kelimenin geçmesi gereken minimum belge oranı max_df: kelimenin geçebileceği maksimum belge oranı

Python ile Machine Learning için Özellik Mühendisliği

Vektörleştiriciyi uydurma

cv.fit(speech_df['text_clean'])
Python ile Machine Learning için Özellik Mühendisliği

Metninizi dönüştürme

cv_transformed = cv.transform(speech_df['text_clean'])
print(cv_transformed)
<58x8839 sparse matrix of type '<type 'numpy.int64'>'
Python ile Machine Learning için Özellik Mühendisliği

Metninizi dönüştürme

cv_transformed.toarray()
Python ile Machine Learning için Özellik Mühendisliği

Özellikleri alma

feature_names = cv.get_feature_names()
print(feature_names)
[u'abandon', u'abandoned', u'abandonment', u'abate', 
u'abdicated', u'abeyance', u'abhorring', u'abide',
u'abiding', u'abilities', u'ability', u'abject'...
Python ile Machine Learning için Özellik Mühendisliği

Uydurma ve dönüştürme

cv_transformed = cv.fit_transform(speech_df['text_clean'])
print(cv_transformed)
<58x8839 sparse matrix of type '<type 'numpy.int64'>'
Python ile Machine Learning için Özellik Mühendisliği

Hepsini bir araya getirme

cv_df = pd.DataFrame(cv_transformed.toarray(), 
                     columns=cv.get_feature_names())\
                               .add_prefix('Counts_')
print(cv_df.head())
     Counts_aback    Counts_abandoned    Counts_a...
0               1                   0        ...
1               0                   0        ...
2               0                   1        ...
3               0                   1        ...
4               0                   0        ...
1 ```out Counts_aback Counts_abandon Counts_abandonment 0 1 0 0 1 0 0 1 2 0 1 0 3 0 1 0 4 0 0 0 ```
Python ile Machine Learning için Özellik Mühendisliği

DataFrame'inizi güncelleme

speech_df = pd.concat([speech_df, cv_df], 
                      axis=1, sort=False)
print(speech_df.shape)
(58, 8845)
Python ile Machine Learning için Özellik Mühendisliği

Haydi pratik yapalım!

Python ile Machine Learning için Özellik Mühendisliği

Preparing Video For Download...