Уменьшить размер рассола TfidfVectorizer - PullRequest
0 голосов
/ 25 сентября 2018

Мне нужно стандартизировать некоторые параметры для построения векторов на основе текста.Вот почему я пытаюсь выделить TfidVectorizer из группы текстовых документов.На основе этих параметров мне нужно векторизовать новые текстовые документы, а их характеристики и критерии веса должны быть такими же, как и в предыдущих документах.

from sklearn.feature_extraction.text import TfidfVectorizer
tfidf = TfidfVectorizer(
        strip_accents = 'ascii', sublinear_tf=True, min_df=5, norm='l2',
        encoding='latin-1', ngram_range=(1, 2), stop_words=spanish_stopwords,
        token_pattern = r'\w+[a-z,ñ]')
features = tfidf.fit_transform(df.Consumer_complaint_narrative).toarray()

features.shape

(617, 22997)

*Размер 1007 *

vectorizer3.pickle составляет 76,2 МБ.Есть ли способ уменьшить это до 10 МБ?

1 Ответ

0 голосов
/ 26 сентября 2018

Попробуйте использовать gzip

import gzip
import pickle

# writing into file. This will take long time
fp=gzip.open('tfidf.data','wb')
pickle.dump(tfidf,fp)
fp.close()

# read the file
fp=gzip.open('primes.data','rb') #This assumes that tfidf.data is already packed with gzip
tfidf=pickle.load(fp)
fp.close()

Этот метод может не гарантировать уменьшение размера файла <10 МБ.Но определенно это уменьшит размер файла рассола </p>

...