Модель классификации для прогнозирования рейтинга фильмов


11

Я немного новичок в области интеллектуального анализа данных и работаю над моделью классификации для прогнозирования рейтинга фильмов.

Я собрал наборы данных из IMDB, и я планирую использовать деревья решений и подходы ближайшего соседа для моей модели. Я хотел бы знать, какой свободно доступный инструмент интеллектуального анализа данных может предоставить мне необходимую функциональность.

Ответы:


5

Hein,

Есть много инструментов и библиотек с доступной функциональностью.

Какой из них выбрать, зависит от того, хотите ли вы использовать графический интерфейс для своей работы или хотите встроить его в какую-либо другую программу.

Автономные инструменты интеллектуального анализа данных (есть и другие, как WEKA с интерфейсом Java):

  • Rapid Miner
  • апельсин
  • Погремушка GUI для R
  • KNIME

На основе текста:

  • GNU R

Libs:

  • Scikit для Python
  • Mahout на Hadoop

Если вы достаточно хорошо знаете язык программирования, я бы использовал lib для этого языка или попробовал бы R. Если нет, вы можете попробовать один из инструментов с графическим интерфейсом.

Пример дерева в R:

# we are using the iris dataset
data(iris)

# for our tree based model we use the rpart package
# to download it type install.packages("rpart")
library(rpart)

# Building the tree
fit <- rpart(Species ~ Petal.Length + Petal.Width, method="class", data=iris)

# Plot the tree
plot(fit)
text(fit)

Как и предполагалось, анализ с использованием R требует от вас написания кода самостоятельно, но вы найдете пакет для большинства задач классификации, который будет работать «из коробки». Обзор можно найти здесь Machine Learning Task View

Чтобы начать работать с RapidMinder, вам нужно взглянуть на Youtube. Есть несколько скринкастов, даже для деревьев решений.


1
Я хотел бы понизить голос, но вы новичок, поэтому: вы просто перечисляете набор инструментов (довольно общий ответ) без демонстрации того, почему он подходит для конкретной задачи ОП. Я предлагаю предоставить более подробную информацию, в противном случае ваш ответ может быть заменен stats.stackexchange.com/questions/2007/… . Без обид, пожалуйста, примите это как дружеский совет :)
steffen

@steffen: с уважением, получение Audijenz 4 голосов и 0 голосов говорит об обратном. Я считаю, что он / она хорошо ответил на вопрос. Она спросила, «какой свободно доступный инструмент интеллектуального анализа данных может предоставить необходимые мне функции», и ответ дал это и многое другое. На самом деле, гораздо больше, чем любой из ответов в теме, которую вы связали.
rolando2

1
@ rolando2 Я добавил комментарий ДО того, как audijenz отредактировал его, и я уже проголосовал за отредактированный ответ;).
Штеффен

@steffen: я исправлюсь!
rolando2

5

Weka - это бесплатный набор инструментов для машинного обучения с открытым исходным кодом. Они имеют графический интерфейс, а также API для вызова из вашего кода Java, если хотите.

У них есть много алгоритмов классификации, включая несколько алгоритмов дерева решений. Они доступны в пользовательском интерфейсе. Ближайшие соседи немного сложнее, и кажется, что вы должны использовать API напрямую .

Я думаю, что Rapid Miner, вероятно, поддерживает такие вещи, но я раньше не использовал их для таких целей.

Вы также можете рассмотреть R , но это может потребовать немного более грязных рук.

Обратите внимание, что Netflix проделал большую работу в классификации рейтинга фильмов. Несколько лет назад они предложили приз в 1 миллион долларов группе, которая могла бы улучшить их классификацию. Возможно, вам будет интересно узнать, как различные команды подошли к этой проблеме.


Спасибо, Майкл, я попробовал Weka для алгоритмов дерева решений, но обнаружил, что числовые значения не поддерживаются для большинства алгоритмов дерева решений. В моих наборах данных у меня есть числовые значения, такие как рейтинг (метка класса), бюджет, идентификатор директора, идентификатор актера и т. Д. Итак, как я могу обработать эти числовые значения? (Я не уверен, что мне следует открыть новую ветку для моего вопроса). Есть ли у вас какие-либо предложения по любому другому подходящему алгоритму?
К Хейн

2
@K Hein 1) Я предлагаю использовать случайные леса (RF) вместо DT. См. Например, stats.stackexchange.com/questions/10001/… . 2) числовые переменные: RF может обрабатывать как числовые, так и дискретные метки, вы должны попробовать оба подхода; Director_id, actor_id не числовая функция, это либо логическое (актер участвовал?) или номинальное (основной актер); Бюджет может быть дискретизирован или позволить РФ справиться с ними. В этом случае алгоритм ищет оптимальную точку разделения. Я предлагаю поиграть и вернуться позже с более конкретными вопросами;).
Штеффен

@steffen Спасибо, Штеффен! Я попробую с РФ, но у меня еще есть несколько вопросов относительно вашего комментария. Допустим, если я хочу принять actor_id как логическое значение, то для каждого уникального actor_id у меня есть логический атрибут, например isActor1Particated (скажем, для actor_id = 1)? Если я хочу изменить actor_id на номинальный атрибут, как мне это сделать? Я был бы очень признателен, если бы вы могли дать некоторые описания, так как я действительно новичок в области интеллектуального анализа данных.
К Хейн

1
@KHein моя идея, стоящая за номинальным предложением, заключалась в том, чтобы ограничить актеров наиболее важными, создав такие функции, как first_actor, second_actor и т. Д. В любом случае: как обращаться с информацией переменной длины (актеры, режиссеры, ключевые слова и т. Д.) - тема для отдельный вопрос.
Штеффен

@KHein Когда вы задаете вопрос «Как обращаться с информацией переменной длины», пожалуйста, связывайтесь с ним здесь :-)
Даррен Кук

1

Может быть ... ВЕКА? http://www.cs.waikato.ac.nz/ml/weka/


1
(-1): Несмотря на то, что Weka действительно является инструментом интеллектуального анализа данных, который действительно содержит реализацию NN и DT, ответ настолько универсален, что может дать ответ на массу вопросов. Если вы считаете, что Weka подходит для особой задачи прогнозирования рейтинга с учетом крайне многомерных разреженных данных, почему бы вам не показать пример (или ссылку на пример). Без обид, пожалуйста, примите это как дружеское предложение.
Штеффен
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.