Modèle de classification pour la prévision de la cote des films

11

Je suis un peu nouveau dans l'exploration de données et je travaille sur un modèle de classification pour la prévision de la cote des films.

J'ai collecté des ensembles de données de l'IMDB et je prévois d'utiliser des arbres de décision et des approches de voisin le plus proche pour mon modèle. Je voudrais savoir quel outil d'exploration de données disponible gratuitement pourrait fournir les fonctionnalités dont j'ai besoin.

K Hein
la source

Réponses:

5

Hein,

il existe de nombreux outils et bibliothèques avec les fonctionnalités disponibles.

Le choix dépend de si vous souhaitez utiliser une interface graphique pour votre travail ou si vous souhaitez l'intégrer dans un autre programme.

Outils d'exploration de données autonomes (il existe des outils comme WEKA avec interface Java):

  • Mineur rapide
  • Orange
  • Hochet gui pour R
  • KNIME

Basé sur le texte:

  • GNU R

Libs:

  • Scikit pour Python
  • Mahout sur Hadoop

Si vous connaissez assez bien un langage de programmation, j'utiliserais une bibliothèque pour ce langage ou j'essaierais R. Sinon, vous pouvez essayer l'un des outils avec gui.

Un exemple d'arbre dans 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)

Comme suggéré, l'analyse avec R vous oblige à vous coder, mais vous trouverez un package pour la plupart des tâches de classification qui fonctionnera hors de la boîte. Un aperçu peut être trouvé ici Vue des tâches d'apprentissage automatique

Pour commencer avec RapidMinder, vous devriez jeter un œil à Youtube. Il existe des captures d'écran, même pour les arbres de décision.

Audijenz
la source
1
Je voudrais voter contre, mais vous êtes nouveau, alors: vous listez simplement un ensemble d'outils (une réponse plutôt générique) sans démonstration pourquoi il convient à la tâche spécifique du PO. Je suggère de fournir plus de détails, sinon votre réponse pourrait être remplacée par stats.stackexchange.com/questions/2007/… . Aucune infraction, veuillez le prendre comme un conseil amical :)
steffen
@steffen: respectueusement, la réception par audijenz de 4 votes positifs et de 0 votes négatifs indique le contraire. Je pense qu'il / elle a bien répondu à la question. Il a demandé "quel outil d'exploration de données disponible gratuitement pourrait fournir les fonctionnalités dont j'ai besoin", et la réponse a donné cela et plus encore. Beaucoup plus, en fait, que toutes les réponses au sujet que vous avez lié.
rolando2
1
@ rolando2 J'ai ajouté le commentaire AVANT qu'audijenz l'ait édité et j'ai déjà voté pour la réponse éditée;).
steffen
@steffen: Je me tiens corrigé!
rolando2
5

Weka est une suite d'outils d'apprentissage automatique gratuite et open-source. Ils ont une interface graphique ainsi qu'une API pour appeler à partir de votre code Java si vous le souhaitez.

Ils ont de nombreux algorithmes de classification, dont plusieurs algorithmes d'arbre de décision. Ils sont disponibles dans l'interface utilisateur. Les voisins les plus proches sont un peu plus compliqués et il semble que vous devez utiliser l'API directement .

Je pense que Rapid Miner prend probablement en charge ce type de chose, mais je ne l'ai jamais utilisé à de telles fins auparavant.

Vous pourriez également envisager R , mais cela pourrait nécessiter de vous salir les mains un peu plus.

Notez que Netflix a fait une tonne de travail dans la classification des films. Il y a plusieurs années, ils ont offert un prix d'un million de dollars au groupe qui pourrait le plus améliorer leur classement. Vous pourriez être intéressé à lire comment différentes équipes ont abordé ce problème.

Michael McGowan
la source
Merci Michael, j'ai essayé Weka pour les algorithmes d'arbre de décision, mais j'ai trouvé que les valeurs numériques ne sont pas prises en charge pour la plupart des algorithmes d'arbre de décision. Dans mes ensembles de données, j'ai des valeurs numériques telles que la notation (le libellé de la classe), le budget, l'ID du directeur, l'ID de l'acteur, etc. Alors, comment pourrais-je gérer ces valeurs numériques? (Je ne sais pas si je dois ouvrir un nouveau fil pour ma question). Avez-vous des suggestions sur un autre algorithme approprié?
K Hein
2
@K Hein 1) Je suggère d'utiliser des forêts aléatoires (RF) au lieu de DT. Voir par exemple stats.stackexchange.com/questions/10001/… . 2) variables numériques: RF peut gérer à la fois les étiquettes numériques et discrètes, vous devriez essayer les deux approches; director_id, acteur_id n'est pas une fonction numérique, c'est soit un booléen (acteur a participé?) soit un nominal (acteur principal); le budget peut être discrétisé ou laisser RF s'en occuper. Dans ce cas, l'algorithme recherche le point de partage optimal. Je suggère de jouer et de revenir plus tard avec des questions plus spécifiques;).
steffen
@steffen Merci Steffen! Je vais essayer avec RF, mais j'ai encore quelques questions concernant votre commentaire. Disons que si je veux prendre acteur_id comme booléen, alors pour chaque acteur_id unique, j'ai un attribut booléen comme isActor1Particated (disons pour acteur_id = 1)? Si je souhaite changer l'acteur_id en attribut nominal, comment dois-je procéder? Je serais très reconnaissant si vous pouviez fournir quelques descriptions car je suis vraiment nouveau dans le domaine de l'exploration de données.
K Hein
1
@KHein mon idée derrière la suggestion nominale était de restreindre les acteurs aux plus importants en créant des fonctionnalités comme first_actor, second_actor etc. Quoi qu'il en soit: comment traiter les informations de longueur variable (acteurs, réalisateurs, mots-clés, etc.) est un sujet pour une question distincte.
steffen
@KHein Lorsque vous posez la question "Comment traiter les informations de longueur variable", veuillez vous y connecter ici :-)
Darren Cook
1

Peut-être ... WEKA? http://www.cs.waikato.ac.nz/ml/weka/

Orsino
la source
1
(-1): Bien que Weka soit en effet un outil d'exploration de données qui contient en effet une implémentation de NN et DT, la réponse est si générique qu'elle pourrait répondre à une tonne de questions. Si vous pensez que Weka convient à la tâche spéciale consistant à évaluer les prévisions compte tenu de données clairsemées extrêmement élevées, pourquoi ne montrez-vous pas un exemple (ou un lien vers un exemple). Aucune infraction, veuillez le considérer comme une suggestion amicale.
steffen