Наивная байесовская полиномиальная модель - PullRequest
0 голосов
/ 17 сентября 2018

Для набора данных обзоров фильмов я создаю наивную байесовскую полиномиальную модель.Теперь в обучающем наборе данных есть обзоры по жанрам.Таким образом, вместо создания общей модели для набора данных обзоров фильмов, игнорируя жанровую особенность, как обучить модель, которая также учитывает жанровую особенность, в дополнение к tf-idf, связанному со словами, которые встречаются в обзоре.Нужно ли создавать одну модель для каждого жанра или я могу включить ее в одну модель?

Training Dataset Sample:
genre, review, classification
Romantic, The movie was really emotional and touched my heart!, Positive
Action, It was a thrilling movie, Positive
....

Test Data Set:
Genre, review
Action, The movie sucked bigtime. The action sequences didnt fit into the plot very well

Ответы [ 2 ]

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

Из документации , The multinomial distribution normally requires integer feature counts.Категориальные переменные, предоставляемые в качестве входных данных, особенно если они кодируются как целые числа, могут не оказывать положительного влияния на прогнозирующую способность моделей.Как указано выше, вы можете либо рассмотреть возможность использования нейронной сети, либо полностью удалить столбец жанра.Если после подгонки модель показывает достаточные возможности прогнозирования только для текстовых объектов, может даже не потребоваться добавлять в качестве входных данных категориальную переменную.

Я бы попытался выполнить эту задачу с помощью stacking фиктивные категориальные значения с текстовыми объектами и подачей сложенного массива в модель SGD вместе с метками назначения.Затем вы выполните GridSearch для оптимального выбора гиперпараметров.

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

Подумайте о том, чтобы трактовать genre как категориальную переменную, возможно, с фиктивным кодированием (см. pd.get_dummies(df['genre'])), и вводить это, а также оценки tf-idf в вашу модель.

Также рассмотрим другие типы моделей, кроме наивного байесовского - нейронная сеть предполагает большее взаимодействие между переменными и может помочь лучше улавливать различия между жанрами.Scikit-learn также имеет реализацию MLPClassifier, которую стоит посмотреть.

...