Как использовать текстовую классификацию с датафреймом в python

76
6

Я использую классификацию текста для классификации диалектов. Тем не менее, я заметил, что я должен использовать countVectorizer следующим образом:

from sklearn.feature_extraction.text import CountVectorizer  
vectorizer = CountVectorizer(max_features=200, min_df=2, max_df=0.7, stop_words=stopwords.words('arabic'))
X = vectorizer.fit_transform(X).toarray()

происходит то, что я создаю новый текстовый файл для каждой строки в моем CSV файле. Я собрал 1000 твитов из твиттера. и они помечены. и я их как CSV в одном файле.

У меня есть 2 вопроса:

Должен ли я сделать это? отделить каждую строку в одном текстовом файле? или я могу использовать его в качестве датафрейма Должен ли я использовать countVectorizer в классификации текста? есть ли другой способ?

спросил(а) 2019-05-08T21:43:00+03:00 1 год, 1 месяц назад
1
Решение
54

Нет, вам не нужно разделять каждую строку в новом текстовом файле. Если вы посмотрите на официальный пример документа sklearn https://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.CountVectorizer.html, вы увидите, как это сделать. Если вы хотите последовать этому примеру, вам придется преобразовать столбец твитов csv из фрейма данных в список и передать его функции так же, как в примере с документом.

Нет, вам не нужно использовать countvectorizer. Есть несколько других способов сделать это, таких как Tf-IDF, Word2Vec, мешок слов и т.д. Существует несколько методов преобразования текста в векторы для классификации. Я считаю, что в вашем случае TF-IDF или Word2Vec будут работать нормально.

ответил(а) 2019-05-08T21:56:00+03:00 1 год, 1 месяц назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема