11 votos

Modelo de clasificación para la predicción de la calificación de las películas

Soy algo nuevo en la minería de datos, y estoy trabajando en un modelo de clasificación para la predicción de la calificación de películas.

He recopilado conjuntos de datos de IMDB, y estoy planeando utilizar un árbol de decisión y enfoques de vecino más cercano para mi modelo. Me gustaría saber qué herramienta de minería de datos disponible gratuitamente podría proporcionar la funcionalidad que necesito.

6voto

geni Puntos 91

Weka es un conjunto de herramientas de aprendizaje automático gratuito y de código abierto. Tienen una interfaz gráfica de usuario, así como una API para llamar desde su código Java si lo desea.

Disponen de muchos algoritmos de clasificación, incluidos varios algoritmos de árboles de decisión. Estos están disponibles en la interfaz de usuario. Los vecinos más cercanos son un poco más complicados y parece que hay que utilizar la API directamente .

Je pense Rapid Miner probablemente admita este tipo de cosas, pero no lo he utilizado antes para tales fines.

También puede considerar R pero eso podría requerir ensuciarse un poco más las manos.

Hay que tener en cuenta que Netflix ha trabajado mucho en la clasificación de las películas. Hace varios años ofrecieron una Premio de 1 millón de dólares al grupo que más podría mejorar su clasificación. Tal vez le interese leer cómo varios equipos abordaron ese problema.

0 votos

Gracias Michael, he probado Weka para los algoritmos de árboles de decisión, pero he encontrado que los valores numéricos no son compatibles con la mayoría de los algoritmos de árboles de decisión. En mis conjuntos de datos, tengo valores numéricos como la calificación (la etiqueta de clase), el presupuesto, la identificación del director, la identificación del actor, etc. ¿Cómo puedo tratar esos valores numéricos? (No estoy seguro de si debo abrir un nuevo hilo para mi pregunta). ¿Tiene alguna sugerencia sobre algún otro algoritmo adecuado?

2 votos

@K Hein 1) Sugiero utilizar bosques aleatorios (RF) en lugar de DT. Véase, por ejemplo stats.stackexchange.com/questions/10001/ . 2) variables numéricas: RF puede manejar tanto etiquetas numéricas como discretas, debería probar ambos enfoques; director_id,actor_id no es una característica numérica, es un booleano (actor participado ?) o un nominal (actor principal); el presupuesto puede ser discretizado o dejar que RF lo maneje. En este caso, el algoritmo busca el punto de división óptimo. Le sugiero que juegue y vuelva más tarde con preguntas más específicas ;).

0 votos

@steffen ¡Gracias Steffen! Lo intentaré con RF, pero aún tengo algunas dudas respecto a tu comentario. Digamos que si quiero tomar actor_id como booleano, entonces para cada actor_id único, tengo un atributo booleano como isActor1Particated (digamos para actor_id = 1)? Si quiero cambiar actor_id a atributo nominal, ¿cómo debo proceder? Estaría muy agradecido si pudiera proporcionar algunas descripciones ya que soy realmente nuevo en el área de la minería de datos.

5voto

K_P Puntos 924

Hein,

hay un montón de herramientas y librerías con la funcionalidad disponible.

La elección depende de si desea utilizar un gui para su trabajo o si desea incrustarlo en algún otro programa.

Herramientas autónomas de minería de datos (hay otras como WEKA con interfaz Java):

  • Rapid Miner
  • Naranja
  • Rattle gui para R
  • KNIME

Basado en el texto:

  • GNU R

Libres:

  • Scikit para Python
  • Mahout en Hadoop

Si conoces un lenguaje de programación lo suficientemente bien, yo usaría una librería para ese lenguaje o daría una oportunidad a R. Si no, puedes probar una de las herramientas con gui.

Un ejemplo de árbol en 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)

Como se ha sugerido, el análisis con R requiere que usted mismo codifique, pero encontrará un paquete para la mayoría de las tareas de clasificación que funcionará de forma inmediata. Se puede encontrar una visión general aquí Vista de tareas de aprendizaje automático

Para empezar a utilizar RapidMinder debería echar un vistazo a Youtube. Hay algunos screencasts, incluso para los árboles de decisión.

1 votos

Me gustaría downvote, pero eres nuevo, así que: Te limitas a enumerar un conjunto de herramientas (una respuesta bastante genérica) sin una demostración de por qué es adecuado para la tarea específica del OP. Sugiero proporcionar más detalles, de lo contrario su respuesta podría ser sustituido por stats.stackexchange.com/questions/2007/ . Sin ánimo de ofender, tómelo como un consejo amistoso :)

0 votos

@steffen: con todo respeto, el hecho de que audijenz haya recibido 4 upvotes y 0 downvotes dice lo contrario. Creo que ha respondido bien a la pregunta. Se preguntaba "qué herramienta de minería de datos de libre acceso podría proporcionar las funcionalidades que necesito", y la respuesta daba eso y más. Mucho más, de hecho, que cualquiera de las respuestas en el hilo que enlazaste.

1 votos

@rolando2 he añadido el comentario ANTES de que audijenz lo editara y ya he upvotado la respuesta editada ;).

1voto

kekoav Puntos 128

1 votos

(-1): Aunque Weka es efectivamente una herramienta de minería de datos que contiene una implementación de NN y DT, la respuesta es tan genérica que podría ser la respuesta a una tonelada de preguntas. Si crees que Weka es adecuado para la tarea especial de predicción de calificaciones dadas por datos dispersos de muy alta dimensión, por qué no muestras un ejemplo (o un enlace a un ejemplo). Sin ánimo de ofender, tómalo como una sugerencia amistosa.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X