Modello di classificazione per la previsione della valutazione del film


11

Sono un po 'nuovo nel data mining e sto lavorando a un modello di classificazione per la previsione della valutazione dei film.

Ho raccolto set di dati da IMDB e sto pianificando di utilizzare un albero decisionale e gli approcci vicini più vicini per il mio modello. Vorrei sapere quale strumento di data mining disponibile gratuitamente può fornire la funzionalità di cui ho bisogno.

Risposte:


5

Hein,

ci sono molti strumenti e librerie con le funzionalità disponibili.

Quale scegliere dipende se si desidera utilizzare una GUI per il proprio lavoro o se si desidera incorporarla in qualche altro programma.

Strumenti di data mining autonomi (ci sono altri come WEKA con interfaccia Java):

  • Minatore rapido
  • arancia
  • Rattle gui per R
  • KNIME

Basato sul testo:

  • GNU R

libs:

  • Scikit per Python
  • Mahout su Hadoop

Se conosci abbastanza bene un linguaggio di programmazione, userei una lib per quel linguaggio o proverei R. Altrimenti puoi provare uno degli strumenti con la gui.

Un esempio di albero in 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)

Come suggerito, l'analisi con R richiede di codificarti, ma troverai un pacchetto per la maggior parte delle attività di classificazione che funzionerà immediatamente. Una panoramica è disponibile qui Visualizzazione attività di apprendimento automatico

Per iniziare con RapidMinder dovresti dare un'occhiata a Youtube. Ci sono alcuni screencast, anche per alberi decisionali.


1
Vorrei sottovalutare, ma tu sei nuovo, quindi: Elenchi semplicemente un set di strumenti (una risposta piuttosto generica) senza una dimostrazione del perché sia ​​adatto al compito specifico dell'OP. Ti suggerisco di fornire maggiori dettagli, altrimenti la tua risposta potrebbe essere sostituita da stats.stackexchange.com/questions/2007/… . Senza offesa, ti preghiamo di prenderlo come un consiglio amichevole :)
Steffen,

@steffen: rispettosamente, la ricevuta di audijenz di 4 voti positivi e 0 voti negativi dice il contrario. Credo che abbia risposto bene alla domanda. Ha chiesto "quale strumento di data mining disponibile gratuitamente potesse fornire le funzionalità di cui ho bisogno" e la risposta ha dato questo e altro. Molto più, in realtà, di qualsiasi delle risposte al thread che hai collegato.
rolando2,

1
@ rolando2 Ho aggiunto il commento PRIMA che audijenz lo abbia modificato e ho già votato la risposta modificata;).
steffen,

@steffen: mi correggo!
rolando2,

5

Weka è una suite di strumenti di apprendimento automatico gratuita e open source. Hanno una GUI e un'API da chiamare dal tuo codice Java se lo desideri.

Hanno molti algoritmi di classificazione, tra cui diversi algoritmi dell'albero delle decisioni. Questi sono disponibili nell'interfaccia utente. I vicini più vicini sono un po 'più complicati e sembra che tu debba usare direttamente l'API .

Penso che Rapid Miner probabilmente supporti questo tipo di cose, ma non l'ho mai usato prima.

Potresti anche considerare R , ma ciò potrebbe richiedere di rendere le tue mani un po 'più sporche.

Nota che Netflix ha svolto un sacco di lavoro nella classificazione delle classificazioni dei film. Diversi anni fa hanno offerto un premio di $ 1 milione al gruppo che potrebbe migliorare maggiormente la loro classificazione. Potresti essere interessato a leggere come i vari team hanno affrontato questo problema.


Grazie Michael, ho provato Weka per gli algoritmi dell'albero decisionale, ma ho scoperto che i valori numerici non sono supportati per la maggior parte degli algoritmi dell'albero decisionale. Nei miei set di dati, ho valori numerici come rating (l'etichetta della classe), budget, ID regista, ID attore, ecc. Quindi, come potrei gestire quei valori numerici? (Non sono sicuro di dover aprire una nuova discussione per la mia domanda). Hai qualche suggerimento su qualche altro algoritmo adatto?
K Hein,

2
@K Hein 1) Suggerisco di usare Random Forests (RF) invece di DT. Vedi ad esempio stats.stackexchange.com/questions/10001/… . 2) variabili numeriche: RF può gestire sia etichette numeriche che discrete, dovresti provare entrambi gli approcci; director_id, actor_id non è una caratteristica numerica, è un valore booleano (attore partecipato?) o nominale (attore principale); il budget può essere discretizzato o consentire a RF di gestirli. In questo caso l'algoritmo cerca il punto di divisione ottimale. Suggerisco di giocare e tornare più tardi con domande più specifiche;).
Steffen,

@steffen Grazie Steffen! Proverò con RF, ma ho ancora alcune domande sul tuo commento. Diciamo che se voglio prendere act_id come booleano, quindi per ogni attore_id unico, ho un attributo booleano come isActor1Particated (diciamo per act_id = 1)? Se desidero cambiare l'attore_id all'attributo nominale, come devo procedere? Le sarei molto grato se potessi fornire alcune descrizioni dato che sono veramente nuovo nell'area di data mining.
K Hein,

1
@KHein la mia idea alla base del suggerimento nominale era quella di limitare gli attori a quelli più importanti creando funzionalità come first_actor, second_actor ecc. Comunque: come trattare informazioni di lunghezza variabile (attori, registi, parole chiave ecc.) È un argomento per una domanda separata.
Steffen,

@KHein Quando fai la domanda "Come gestire le informazioni di lunghezza variabile", ti preghiamo di collegarti qui :-)
Darren Cook

1

Potrebbe essere ... WEKA? http://www.cs.waikato.ac.nz/ml/weka/


1
(-1): Sebbene Weka sia davvero uno strumento di data mining che in effetti contiene un'implementazione di NN e DT, la risposta è così generica che potrebbe essere la risposta a una tonnellata di domande. Se ritieni che Weka sia adatto al compito speciale di previsione della valutazione dato dati sparsi di dimensioni estremamente elevate, perché non mostri un esempio (o un link a un esempio). Senza offesa, ti preghiamo di prenderlo come suggerimento amichevole.
Steffen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.