Size: a a a

NLP_RU - Natural Language Processing & Text Mining

2020 August 14

В

Враг Дурова... in NLP_RU - Natural Language Processing & Text Mining
Доброго времени суток всем!

У меня очень-очень странные вещи происходят.
Использую sklearn. Задача: Классификация текстов. 7 классов 300-500 текстов на каждый.

Пускаю текст (не из тренировочных данных) на pipe.predict(...) и каждый раз получаю разные результаты. Это нормально?

Как я предполагаю библиотека не очень для классификации. Какой посоветуете?

python 3.8, sklearn
pipe = CountVectorizer(), TfidfTransformer(), RandomForestClassifier()
источник

DD

David Dale in NLP_RU - Natural Language Processing & Text Mining
Враг Дурова
Доброго времени суток всем!

У меня очень-очень странные вещи происходят.
Использую sklearn. Задача: Классификация текстов. 7 классов 300-500 текстов на каждый.

Пускаю текст (не из тренировочных данных) на pipe.predict(...) и каждый раз получаю разные результаты. Это нормально?

Как я предполагаю библиотека не очень для классификации. Какой посоветуете?

python 3.8, sklearn
pipe = CountVectorizer(), TfidfTransformer(), RandomForestClassifier()
Нет, ненормально.
А как ты запускаешь?
Будет круто, если дашь полный код для воспроизведения.
Кажется, что RandomForestClassifier на применении должен быть вполне детерминированным.
источник

D•

Dan • Captain in NLP_RU - Natural Language Processing & Text Mining
источник

В

Враг Дурова... in NLP_RU - Natural Language Processing & Text Mining
спасибо_)
источник

D•

Dan • Captain in NLP_RU - Natural Language Processing & Text Mining
Бот лютует :)
источник

В

Враг Дурова... in NLP_RU - Natural Language Processing & Text Mining
не могу и фотки кидать?
источник

В

Враг Дурова... in NLP_RU - Natural Language Processing & Text Mining
ужас)
источник

В

Враг Дурова... in NLP_RU - Natural Language Processing & Text Mining
источник

D•

Dan • Captain in NLP_RU - Natural Language Processing & Text Mining
Уже можно
источник

В

Враг Дурова... in NLP_RU - Natural Language Processing & Text Mining
David Dale
Нет, ненормально.
А как ты запускаешь?
Будет круто, если дашь полный код для воспроизведения.
Кажется, что RandomForestClassifier на применении должен быть вполне детерминированным.
такие разные результаты получаю
источник

D•

Dan • Captain in NLP_RU - Natural Language Processing & Text Mining
Бот гадит...
источник

DD

David Dale in NLP_RU - Natural Language Processing & Text Mining
Враг Дурова
такие разные результаты получаю
А у тебя в start.py и обучение включено? Если да, то понятно почему разные результаты - random forest при обучении случайным образом перемешивает выборку и удаляет некоторые признаки для некоторых деревьев.
Чтобы это рандом обуздать, надо при инициализации random_state задавать.
источник

В

Враг Дурова... in NLP_RU - Natural Language Processing & Text Mining
David Dale
А у тебя в start.py и обучение включено? Если да, то понятно почему разные результаты - random forest при обучении случайным образом перемешивает выборку и удаляет некоторые признаки для некоторых деревьев.
Чтобы это рандом обуздать, надо при инициализации random_state задавать.
да, .fit_train(...)
источник

В

Враг Дурова... in NLP_RU - Natural Language Processing & Text Mining
David Dale
А у тебя в start.py и обучение включено? Если да, то понятно почему разные результаты - random forest при обучении случайным образом перемешивает выборку и удаляет некоторые признаки для некоторых деревьев.
Чтобы это рандом обуздать, надо при инициализации random_state задавать.
Есть ли другие, кроме random forest?
источник

DD

David Dale in NLP_RU - Natural Language Processing & Text Mining
Враг Дурова
Есть ли другие, кроме random forest?
Другие алгоритмы есть, но почти во всех присутствует та или иная случайность. Например, в логистической регрессии (и всех нейросетях, которые от нее производные) случайно выбираются начальные значения коэффициентов, и обычно случайным образом выборка делится на батчи.
Так что привыкай к random_state. RandomForest хотя бы с ним воспроизводим, а многие другие алгоритмы на практике не воспроизводимы в принципе.
источник

DD

David Dale in NLP_RU - Natural Language Processing & Text Mining
Враг Дурова
Есть ли другие, кроме random forest?
Ну и RF в целом обычно довольно стабильные вероятности из раза в раз предсказывает. Ты сейчас ему на вход просто подал вырожденный пример (многоточие), в котором никакой особо информации нет.
источник

В

Враг Дурова... in NLP_RU - Natural Language Processing & Text Mining
David Dale
Ну и RF в целом обычно довольно стабильные вероятности из раза в раз предсказывает. Ты сейчас ему на вход просто подал вырожденный пример (многоточие), в котором никакой особо информации нет.
Там текст и довольно большой. Просто скрыл для удобства чтения
источник

DD

David Dale in NLP_RU - Natural Language Processing & Text Mining
Враг Дурова
Там текст и довольно большой. Просто скрыл для удобства чтения
Ну значит то ли у тебя либо обучающая выборка не очень хорошо разделима, либо сам текст слишком неоднозначный для такой модели. Потому что предсказанные вероятности для всех категорий примерно одинаковые, т.е. кажется что модель очень неуверена.
источник

DD

David Dale in NLP_RU - Natural Language Processing & Text Mining
Враг Дурова
Есть ли другие, кроме random forest?
А вообще попробуй LogisticRegression. Это для классификации текстов часто наилучшее решение.
А ещё часто достойное качество даёт fasttext, и он тоже легко заводится. Но fasttext - нейронка, так что там тоже могут быть трудности с воспроизводимостью.
источник

В

Враг Дурова... in NLP_RU - Natural Language Processing & Text Mining
David Dale
А вообще попробуй LogisticRegression. Это для классификации текстов часто наилучшее решение.
А ещё часто достойное качество даёт fasttext, и он тоже легко заводится. Но fasttext - нейронка, так что там тоже могут быть трудности с воспроизводимостью.
Будет ли решением сохранить модель на следующие использования? будет ли выдаваться одинаковые результаты?
источник