У меня большой фрейм данных с 1'650'000 строк (1,6 миллиона твитов и 50 тыс. Обзоров IMDB) с их настроением. Выглядит это так:
target text
0 -1 AT_USER URL - Awww, that's a bummer. You shoul...
1 -1 is upset that he can't update his Facebook by ...
2 -1 AT_USER I dived many times for the ball. Manag...
3 -1 my whole body feels itchy and like its on fire
4 -1 AT_USER no, it's not behaving at all. i'm mad....
Я хочу построить классификатор с использованием Naive Bayes MultinominalNB
Я использовал следующий код для предварительной обработки его для классификатора:
vectorizer = CountVectorizer(strip_accents="unicode", stop_words="english") # convert words into matrix format
x_train_vec = vectorizer.fit_transform(x_train)
pickle.dump(vectorizer, open("Models/MultinominalNB/vectorizer_imdb+twitter_0.8", "wb"))
tfidf = TfidfTransformer()
x_train_tfidf =tfidf.fit_transform(x_train_vec)
del x_train_vec
Я хотел использовать частичную подгонку, но она не помещалась в память (32 ГБ)
Затем я попробовал подгонку, и это сработало, но через 10 часов алгоритм все еще не был выполнен, и использование памяти снова возросло (при начало было 26 ГБ, 7 часов - 5 ГБ, но после 10 снова было 20 + ГБ)
Как я могу разделить рабочую нагрузку, чтобы обучить классификатор с данными? Я видел, как кто-то упоминал Даска, но не мог найти учебники, и мои попытки, похоже, не сработали.
Я также видел упоминание о конвейерах, но я полагаю, что они не разделяют задачу?