Lezione 4 del corso di analisi dati tenuto al Palazzolo Digital Hub (Palazzolo sull'Oglio, Brescia) nel 2014. In questa quarta lezione si introducono i sistemi di raccomandazione.
Introduzione ai Big Data e alla scienza dei dati - Exploratory Data AnalysisVincenzo Manzoni
油
Lezione 2 del corso di analisi dati tenuto al Palazzolo Digital Hub (Palazzolo sull'Oglio, Brescia) nel 2014. Seconda lezione dedicata all'Exploratory Data Analysis.
Introduzione ai Big Data e alla scienza dei dati - Big DataVincenzo Manzoni
油
Lezione 5 del corso di analisi dati tenuto al Palazzolo Digital Hub (Palazzolo sull'Oglio, Brescia) nel 2014. In questa quinta e ultima lezione si introducono le tecnologie dei Big Data.
Introduzione ai Big Data e alla scienza dei dati - Machine LearningVincenzo Manzoni
油
Lezione 3 del corso di analisi dati tenuto al Palazzolo Digital Hub (Palazzolo sull'Oglio, Brescia) nel 2014. In questa terza lezione si introducono alcuni algoritmi di machine learning.
Le opportunita dei Big Data - Palazzolo Digital Festival 2013 (PDF13)Vincenzo Manzoni
油
I social network e i canali tradizionali di acquisizione delle informazioni, costituiscono le principali fonti di accumulo dati. Luso appropriato del dato e lutilizzo nei processi aziendali incrementano il valore del business. Ma cosa si pu嘆 realizzare con i big data concretamente? Unesperienza sul campo.
際際滷 mostrate durante il Palazzolo Digital Festival 2013 (PDF13). Per maggiori informazioni sullevento: http://www.palazzolodigitalfestival.it/
Trasformazione del libro Lanno del giardiniere di Karel apek in un libro visivo. Il messaggio del libro (occorre avere pazienza e rispettare i ritmi della natura sia nella cura di un giardino, che nella vita) 竪 veicolato dalla presenza di uno spago che annoda i capitoli del libro; il lettore 竪 costretto a slegare i nodi per poter leggere il libro e rispetta quindi la struttura temporale del libro.
PARCO URBANO - IL VERDE A PONTE LAMBRO
Presentazione ed illustrazione dei risultati del questionario e del progetto preliminare sull'area adibita a parco in zona Ponte Lambro
3/12/2012, MILANO, CAM PAREA
1. Risultati questionario
2. Considerazioni distributivo-funzionali
3. Progetto preliminare
4. Verifiche tecniche
5. Passi futuri
La Pantera Rosa reinterpretata e rivisitata in un viaggio cromatico brioso e divertente. Progetto realizzato in collaborazione tra gli studenti del Politecnico di Milano e MGM.
Big Data processing: un sistema scalabile per la Sentiment AnalysisFrancesco Cardinale
油
Con un approccio basato sulla combinazione di un dizionario dei termini e di un classificatore automatico, si 竪 realizzato un sistema, intrinsecamente scalabile, affidabile e automatizzato, grazie allutilizzo degli strumenti messi a disposizione da Hadoop, per la determinazione del sentiment degli italiani, sulla base delle loro opinioni espresse su Twitter durante tutto larco temporale che ha visto protagonista, nel bene e nel male, la Nazionale Italiana nel Mondiale di calcio brasiliano del 2014.
I risultati finali, riportati graficamente tramite Pentaho, consentono di ottenere una visione degli umori e delle emozioni degli italiani sia sulla base di un intervallo temporale variabile, la cui unit minima di tempo 竪 definita su una singola ora, che sulla base di una mappa geografica dellItalia per ottenere un grafico geolocalizzato.
Gluten Free Experience, il social network per favorire l'aggregazione tra giovani celiaci.
Brief, casi studio e realizzazione del progetto.
Progetto di Laurea a cura di Michela Galbiati, Laura Trapani e Sara Scotti per il CdL in Communication Design (Politecnico di Milano).
Packaging Design and Communication Accessibility - Erik Ciravegna at HCDI se...Marco Ajovalasit
油
The document discusses packaging design and communication accessibility. It addresses how communication design relates to packaging, not just for aesthetic purposes but to enable users to understand how to operate and interact with the packaging. Effective communication design of packaging can help users identify products, understand their characteristics, and comprehend how to access, use and consume the product contents. However, there are also challenges to consider regarding accessibility, such as ambiguous packaging that could cause confusion, especially for visually impaired users. The document examines opportunities for improving communication through packaging design.
Le opportunita dei Big Data - Palazzolo Digital Festival 2013 (PDF13)Vincenzo Manzoni
油
I social network e i canali tradizionali di acquisizione delle informazioni, costituiscono le principali fonti di accumulo dati. Luso appropriato del dato e lutilizzo nei processi aziendali incrementano il valore del business. Ma cosa si pu嘆 realizzare con i big data concretamente? Unesperienza sul campo.
際際滷 mostrate durante il Palazzolo Digital Festival 2013 (PDF13). Per maggiori informazioni sullevento: http://www.palazzolodigitalfestival.it/
Trasformazione del libro Lanno del giardiniere di Karel apek in un libro visivo. Il messaggio del libro (occorre avere pazienza e rispettare i ritmi della natura sia nella cura di un giardino, che nella vita) 竪 veicolato dalla presenza di uno spago che annoda i capitoli del libro; il lettore 竪 costretto a slegare i nodi per poter leggere il libro e rispetta quindi la struttura temporale del libro.
PARCO URBANO - IL VERDE A PONTE LAMBRO
Presentazione ed illustrazione dei risultati del questionario e del progetto preliminare sull'area adibita a parco in zona Ponte Lambro
3/12/2012, MILANO, CAM PAREA
1. Risultati questionario
2. Considerazioni distributivo-funzionali
3. Progetto preliminare
4. Verifiche tecniche
5. Passi futuri
La Pantera Rosa reinterpretata e rivisitata in un viaggio cromatico brioso e divertente. Progetto realizzato in collaborazione tra gli studenti del Politecnico di Milano e MGM.
Big Data processing: un sistema scalabile per la Sentiment AnalysisFrancesco Cardinale
油
Con un approccio basato sulla combinazione di un dizionario dei termini e di un classificatore automatico, si 竪 realizzato un sistema, intrinsecamente scalabile, affidabile e automatizzato, grazie allutilizzo degli strumenti messi a disposizione da Hadoop, per la determinazione del sentiment degli italiani, sulla base delle loro opinioni espresse su Twitter durante tutto larco temporale che ha visto protagonista, nel bene e nel male, la Nazionale Italiana nel Mondiale di calcio brasiliano del 2014.
I risultati finali, riportati graficamente tramite Pentaho, consentono di ottenere una visione degli umori e delle emozioni degli italiani sia sulla base di un intervallo temporale variabile, la cui unit minima di tempo 竪 definita su una singola ora, che sulla base di una mappa geografica dellItalia per ottenere un grafico geolocalizzato.
Gluten Free Experience, il social network per favorire l'aggregazione tra giovani celiaci.
Brief, casi studio e realizzazione del progetto.
Progetto di Laurea a cura di Michela Galbiati, Laura Trapani e Sara Scotti per il CdL in Communication Design (Politecnico di Milano).
Packaging Design and Communication Accessibility - Erik Ciravegna at HCDI se...Marco Ajovalasit
油
The document discusses packaging design and communication accessibility. It addresses how communication design relates to packaging, not just for aesthetic purposes but to enable users to understand how to operate and interact with the packaging. Effective communication design of packaging can help users identify products, understand their characteristics, and comprehend how to access, use and consume the product contents. However, there are also challenges to consider regarding accessibility, such as ambiguous packaging that could cause confusion, especially for visually impaired users. The document examines opportunities for improving communication through packaging design.
La comunicazione come servizio pubblico. Tesi di Laurea Magistrale in Design ...Margherita Ider
油
Introduzione ai Big Data e alla scienza dei dati - Sistemi di raccomandazione
1. INTRODUZIONE AI BIG DATA
E ALLA SCIENZA DEI DATI
Vincenzo Manzoni!
vincenzomanzoni.com | me@vincenzomanzoni.com
Lezione 4
Sistemi di raccomandazione
2. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
SISTEMI DI
RACCOMANDAZIONE
Un sistema di raccomandazione tenta di predire il voto o la
preferenza che un utente darebbe ad un oggetto.!
Molto diffusi negli ultimi anni.!
Applicati da:!
Amazon: suggerimento di oggetti da acquistare!
Net鍖ix: 鍖lm / serieTV da vedere!
iTunes: musica da ascoltare!
Google: query di ricerca!
Twitter: persone da seguire
2
3. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
SISTEMI DI
RACCOMANDAZIONE
Si dividono in due categorie!
1. Filtraggio collaborativo (Collaborative Filtering)!
2. Filtraggio basato sul contenuto (Content-based
鍖ltering)
3
4. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
FILTRAGGIO COLLABORATIVO
Costruisce il sistema di raccomandazione sulla base
del comportamento passato dellutente (gli oggetti
che ha comprato, il voto che ha dato ai 鍖lm che ha
visto, la musica che ha ascoltato) in relazione agli altri
utenti.!
Usa il modello per predire gli oggetti che lutente
comprerebbe, il voto che darebbe ai 鍖lm, la musica
che ascolterebbe.
4
5. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
FILTRAGGIO BASATO SUL
CONTENUTO
Usa una serie di caratteristiche di un oggetto per
raccomandare altri oggetti con le caratteristiche
simili.!
I due approcci possono essere combinati (sistemi
di raccomandazione ibridi).
5
6. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
LE DIFFERENZE!
ESEMPIO
6
7. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
LE DIFFERENZE!
ESEMPIO
Last.fm
Osserva gli artisti / brani ascoltati
da un utente e lo confronta con il
comportamento di altri utenti.!
Riproduce brani che non sono
stati ascoltati dallutente, ma da
utenti che il sistema ritiene simili.!
Filtraggio collaborativo
7
Pandora
Usa le propriet di una canzone o
di un artista per alimentare una
stazione che riproduce musica con
propriet simili.!
Lutente pu嘆 dare un feedback che
viene usato per trovare quali
propriet pesano pi湛 o meno per
de鍖nire il gusto dellutente.!
Filtraggio basato sul contenuto
8. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
I PRO E I CONTRO
Filtraggio collaborativo
Vantaggi: Evolve nel tempo.!
Svantaggi: Richiede molte informazioni per fare raccomandazioni
accurate (partenza a freddo, o cold start)!
!
Filtraggio basato sul contenuto
Vantaggi: Richiede poche informazioni per partire.!
Svantaggi: E limitato, raccomanda oggetti simili al seme iniziale.
8
9. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
FILTRAGGIO COLLABORATIVO
Si basa su raccogliere e collezionare una grande
quantit di informazioni sul comportamento e le
preferenze degli utenti.!
!
Come stabilire se due utenti sono simili?!
User-based!
Item-based
9
Collezione di dati implicita
Collezione di dati esplicita
10. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ESEMPIO 1!
SISTEMA DI RACCOMANDAZIONE DI FILM
10
Utente Film Voto
Alice Forrest Gump 5
Alice Apollo 13 4
Alice Il Gladiatore 4
Bob Forrest Gump 4
Bob Apollo 13 2
Charlie Forrest Gump 2
Charlie Apollo 13 1
Charlie Il Gladiatore 5
David Forrest Gump 2
David Il Gladiatore 3
11. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ESEMPIO 1!
SISTEMA DI RACCOMANDAZIONE DI FILM
11
Film
Apollo 13 Forrest Gump Il Gladiatore
Utenti
Alice 4 5 4
Bob 2 4
Charlie 1 2 5
David 2 3
12. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ESEMPIO 1!
SISTEMA DI RACCOMANDAZIONE DI FILM
12
Film
Apollo 13 Forrest Gump Il Gladiatore
Utenti
Alice 4 5 4
Bob 2 4 ?
Charlie 1 2 5
David ? 2 3
Sulla base dei dati in nostro possesso, che voto avrebbero
dato Bob a Il Gladiatore e David a Apollo 13?
13. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
SISTEMA DI RACCOMANDAZIONE
USER-BASED
13
Utenti
Alice Bob Charlie David
Utenti
Alice
Bob
Charlie
David
Quanto sono simili gli utenti Alice e Bob?!
(sulla base dei dati in nostro possesso)
14. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
FUNZIONI DI SIMILARIT!
DISTANZA EUCLIDEA
14
ForrestGump
Apollo 13
Film
Apollo 13 Forrest Gump Il Gladiatore
Utenti
Alice 4 5 4
Bob 2 4
Charlie 1 2 5
David 2 3
Bob
Charlie
Alice
15. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
FUNZIONI DI SIMILARIT!
DISTANZA EUCLIDEA
15
ForrestGump
Apollo 13
Bob
Charlie
Alice
La similarit tra due utenti 竪
inversamente proporzionale alla
distanza che un utente dovrebbe
percorrere per raggiungere
laltro.!
!
Nellesempio,Alice 竪 pi湛 simile a
Bob rispetto che a Charlie.
16. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
DISTANZA EUCLIDEA!
COME SI CALCOLA?
La distanza tra due punti si calcola applicando il
Teorema di Pitagora
16
x1, y1
x2, y2
x2 - x1
y2 - y1
d
17. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
FUNZIONI DI SIMILARIT!
DISTANZA EUCLIDEA
17
ForrestGump
Apollo 13
Bob
Charlie
Alice
Film
Apollo 13 Forrest Gump Il Gladiatore
Utenti
Alice 4 5 4
Bob 2 4
Charlie 1 2 5
David 2 3
Alice > Bob = sqrt((4-2)2 + (5-4)2) = 2.23
Alice > Charlie = sqrt((4-1)2 + (5-2)2) = 4.24
Alice > Alice = sqrt((4-4)2 + (5-5)2) = 0
Massima similarit
Alice 竪 pi湛 simile a Bob che a Charlie
18. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
SISTEMA DI RACCOMANDAZIONE
USER-BASED
18
Utenti
Alice Bob Charlie David
Utenti
Alice 0.0 2.2 4.4 3.2
Bob 0.0 2.2 2.0
Charlie 0.0 2.0
David 0.0
19. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
SISTEMA DI RACCOMANDAZIONE
USER-BASED
19
Utenti
Alice Bob Charlie David
Utenti
Alice 0.0 2.2 4.4 3.2
Bob 2.2 0.0 2.2 2.0
Charlie 4.4 2.2 0.0 2.0
David 3.2 2.0 2.0 0.0
La relazione di similarit 竪 simmetrica (ovvero, il
valore di similarit tra Alice e Bob 竪 lo stesso
che c竪 tra Bob e Alice), quindi per semplicit
non si riempie la parte inferiore della diagonale.
20. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
DISTANZA EUCLIDEA!
MODIFICA
Idealmente, vorremmo una funzione di similarit che
valga!
0, quando due utenti non sono per nulla simili!
1, quando due utenti sono simili al 100%
20
21. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
SISTEMA DI RACCOMANDAZIONE
USER-BASED
21
Utenti
Alice Bob Charlie David
Utenti
Alice 1.0 0.3 0.2 0.2
Bob 1.0 0.3 0.3
Charlie 1.0 0.3
David 1.0
22. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
SUGGERIMENTI
22
Film
Apollo 13 Forrest Gump Il Gladiatore
Utenti
Alice 4 5 4
Bob 2 4
Charlie 1 2 5
David 2 3
Finora abbiamo visto quanto due utenti sono simili. Come facciamo
a convertire questo dato in suggerimenti?
Utenti
Alice Bob Charlie David
Utenti
Alice 1.0 0.3 0.2 0.2
Bob 1.0 0.3 0.3
Charlie 1.0 0.3
David 1.0
ovvero, data la tabella di similarit e la tabella dei voti dei singoli utenti, che voto
darebbe David a Apollo 13 e Bob a Il Gladiatore?
23. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
BOB E IL GLADIATORE
23
Film
Apollo 13 Forrest Gump Il gladiatore
Utenti
Alice 4 5 4
Bob 2 4
Charlie 1 2 5
David 2 3
Utenti
Alice Bob Charlie David
Utenti
Alice 1.0 0.3 0.2 0.2
Bob 1.0 0.3 0.3
Charlie 1.0 0.3
David 1.0
voto(Bob, Il Gladiatore) =
(!
sim(Bob,Alice) ! x voto(Alice) !! + !
sim(Bob, Charlie)!x voto(Charlie) ! +
sim(Bob, David) ! x voto(David)!
) !
/ !
(!
sim(Bob,Alice) ! +
sim(Bob, Charlie) !+
sim(Bob, David)!
)
24. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
BOB E IL GLADIATORE
24
Film
Apollo 13 Forrest Gump Il Gladiatore
Utenti
Alice 4 5 4
Bob 2 4 4
Charlie 1 2 5
David 2 3
Utenti
Alice Bob Charlie David
Utenti
Alice 1.0 0.3 0.2 0.2
Bob 1.0 0.3 0.3
Charlie 1.0 0.3
David 1.0
voto(Bob, Il Gladiatore) =
(!
0.3!x 4 + !
0.3!x 5 +
0.3!x 3!
) !
/ !
(!
0.3 +!
0.3 + !
0.3!
) = 3,6 / 0.9 = 4
25. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ESEMPIO 1!
SISTEMA DI RACCOMANDAZIONE DI FILM
25
Film
Apollo 13 Forrest Gump Il Gladiatore
Utenti
Alice 4 5 4
Bob 2 4 4
Charlie 1 2 5
David 2 2 3
A questo punto, potremmo suggerire Il Gladiatore a Bob e non
suggerire Apollo 13 a David.
26. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ESERCIZIO 4.1
Partendo dalla tabella delle
preferenze qui a destra, ripetere
in Excel lesercizio visto nelle
slide.
26
Utente Film Voto
Alice Forrest Gump 5
Alice Apollo 13 4
Alice Il Gladiatore 4
Bob Forrest Gump 4
Bob Apollo 13 2
Charlie Forrest Gump 2
Charlie Apollo 13 1
Charlie Il Gladiatore 5
David Forrest Gump 2
David Il Gladiatore 3
27. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
RACCOMANDAZIONE IN R!
1/2
#"Installazione"e"caricamento"dei"pacchetti."
install.packages(recommenderlab,6dependencies=TRUE)6
library(recommenderlab)6
library(reshape)6
!
#"Lettura"del"file"che"contiene"le"preferenze"
mymovies6=6read.csv('movies_sample.txt',6header=TRUE,6sep=t')6
#"Pivot"della"tabella;"Righe"=>"Utente,"Colonne"=>"Film,"Incrocio"=>"Voto."
mymovies_pivot6<E6cast(mymovies,6Utente6~6Film,6value6=6Voto')6
!
#"Trasformazione"della"tabella"in"una"matrice."Copiare"cos狸"come"竪."
mymovies_matrix6<E6data.matrix(mymovies_pivot)6
rownames(mymovies_matrix)6<E6mymovies_pivot[,6'Utente']6
mymovies_matrix6<E6mymovies_matrix[,6E1]
27
28. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
#"Trasformazione"delle"matrice"generica"in"una"matrice"di"preferenze."
r6<E6as(mymovies_matrix,6"realRatingMatrix")6
!
#"Creazione"del"sistema"di"raccomandazione."Il"secondo"parametro"indica"il"metodo:
#"""="UBCF:"User"Based"Content"Filtering
#"""="IBCF:"Item"Based"Content"Filtering"
r16<E6Recommender(r,6method=UBCF")6
!
#"Calcolo"le"raccomandazioni"per"la"matrice"r,"sulla"base"del"sistema"di"
#"raccomandazione"r1"竪"le"mostro."
predictions6<E6predict(r1,6r,61)6
as(predictions,6'list')
28
RACCOMANDAZIONE IN R!
2/2
29. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ESERCIZIO 4.2
Ripetere lesercizio visto nelle slide precedenti in R.
29
30. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ESERCIZIO 4.3
MovieLens 竪 un database di giudizi di 鍖lm usato per
quanti鍖care le performance dei sistemi di
raccomandazione. !
Usando R, trovare le prime 5 raccomandazioni del
primo utente.
30
31. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
RACCOMANDAZIONE DI
LIKE E ACQUISTI
Il sistema risponde alla domanda su come
raccomandare oggetti di cui non ci sia un voto, ma di
la cui preferenza 竪 stata espressa con un acquisto, un
like, ecc.!
Il sistema 竪 molto simile; cambia la funzione di
similarit.
31
32. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
INDICE DI JACCARD
32
Numero di elementi
dellinsieme intersezione
Numero di elementi
dellinsieme unione
33. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ESEMPIO 2!
SISTEMA DI RACCOMANDAZIONE DI ACQUISTI
33
Utente Acquisti Pezzi
Alice Tv 1
Alice Soundbar 1
Alice Lettore DVD 1
Bob Tv 1
Bob Soundbar 1
Charlie Lettore DVD 1
Charlie DVD Gravity 1
David DVD Gravity 1
David DVD Rush 1
34. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ESEMPIO 2!
SISTEMA DI RACCOMANDAZIONE DI ACQUISTI
34
Acquisti
DVD Gravity DVD Rush Lettore DVD Soundbar TV
Utenti
Alice 1 1 1
Bob 1 1
Charlie 1 1
David 1 1
35. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ESEMPIO 2!
SISTEMA DI RACCOMANDAZIONE DI ACQUISTI
35
Utenti
Alice Bob Charlie David
Utenti
Alice 1.0 0.67 0.25 0.0
Bob 1.0 0.0 0.0
Charlie 1.0 0.25
David 1.0
oggetti in comune / tutti gli oggett!i! = !
2 / 3!! ! ! ! ! ! ! = 0.67
36. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
BOB E IL LETTORE DVD
36
Film
DVD Gravity DVD Rush Lettore DVD Soundbar TV
Utenti
Alice 1 1 1
Bob 1 1
Charlie 1 1
David 1 1
Utenti
Alice Bob Charlie David
Utenti
Alice 1 0.67 0.25 0
Bob 1 0 0
Charlie 1 0.25
David 1
voto(Bob, Lettore DVD) =
(!
sim(Bob,Alice)! + !
sim(Bob, Charlie)!
) !
/ !
# utenti acquistato lettore DVD
37. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
BOB E IL LETTORE DVD
37
Film
DVD Gravity DVD Rush Lettore DVD Soundbar TV
Utenti
Alice 1 1 1
Bob 1 1
Charlie 1 1
David 1 1
Utenti
Alice Bob Charlie David
Utenti
Alice 1 0.67 0.25 0
Bob 1 0 0
Charlie 1 0.25
David 1
voto(Bob, Lettore DVD) =
(!
0.67! + !
0!
) !
/ !
2 = 0.33
38. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ESEMPIO 2!
SISTEMA DI RACCOMANDAZIONE DI ACQUISTI
38
Acquisti
DVD Gravity DVD Rush Lettore DVD Soundbar TV
Utenti
Alice 0.13 0 1 1 1
Bob 0 0 0.33 1 1
Charlie 1 0.25 1 0.13 0.13
David 1 1 0.13 0 0
39. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
SISTEMA DI RACCOMANDAZIONE
ITEM-BASED
39
Film
Apollo 13 Forrest Gump Il Gladiatore
Film
Apollo 13
Forrest Gump
Il Gladiatore
Quanto sono simili i 鍖lm Apollo 13 e Forrest Gump?!
(sulla base dei dati in nostro possesso)
40. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
SISTEMA DI RACCOMANDAZIONE
ITEM-BASED
40
Film
Apollo 13 Forrest Gump Il Gladiatore
Film
Apollo 13 1 0.29 0.06
Forrest Gump 1 0.08
Il Gladiatore 1
Analogamente a quanto visto per la similarit tra utenti, si pu嘆
calcolare la distanza tra due item.
41. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
BOB E IL GLADIATORE!
VERSIONE ITEM-BASED
41
Film
Apollo 13 Forrest Gump Il gladiatore
Utenti
Alice 4 5 4
Bob 2 4
Charlie 1 2 5
David 2 3
Film
Apollo 13 Forrest Gump Il Gladiatore
Film
Apollo 13 1.0 0.29 0.06
Forrest Gump 1.0 0.08
Il Gladiatore 1.0
voto(Bob, Il Gladiatore) =
(!
sim(Apollo 13, Il Gladiatore) x voto(Apollo 13) + !
sim(Forrest Gump, Il Gladiatore)! x voto(Forrest Gump)!
) !
/ !
(!
sim(Apollo 13, Il Gladiatore) +
sim(Forrest Gump, Forrest Gump)!
)
42. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
BOB E IL GLADIATORE!
VERSIONE ITEM-BASED
42
Film
Apollo 13 Forrest Gump Il gladiatore
Utenti
Alice 4 5 4
Bob 2 4
Charlie 1 2 5
David 2 3
Film
Apollo 13 Forrest Gump Il Gladiatore
Film
Apollo 13 1.0 0.29 0.06
Forrest Gump 1.0 0.08
Il Gladiatore 1.0
voto(Bob, Il Gladiatore) =
(!
sim(Apollo 13, Il Gladiatore) x voto(Apollo 13) + !
sim(Forrest Gump, Il Gladiatore)! x voto(Forrest Gump)!
) !
/ !
(!
sim(Apollo 13, Il Gladiatore) +
sim(Forrest Gump, Forrest Gump)!
) !
= (0.06 x 2 + 0.08 x 4) / (0.06 + 0.08) = 3.1
43. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ITEM-BASED CF!
SISTEMA DI RACCOMANDAZIONE DI FILM
43
Film
Apollo 13 Forrest Gump Il Gladiatore
Utenti
Alice 4 5 4
Bob 2 4 3.1
Charlie 1 2 5
David 2.2 2 3
44. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
CONFRONTOTRA UBCF E
IBCF
44
Film
Apollo 13 Forrest Gump Il Gladiatore
Utenti
Alice 4 5 4
Bob 2 4 3.1
Charlie 1 2 5
David 2.2 2 3
Film
Apollo 13 Forrest Gump Il Gladiatore
Utenti
Alice 4 5 4
Bob 2 4 4
Charlie 1 2 5
David 2 2 3
Item-based
User-based
45. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
IBCF IN R
install.packages(recommenderlab,6dependencies=TRUE)6
library(recommenderlab)6
library(reshape)6
!
mymovies6=6read.csv('movies_sample.txt',6header=TRUE,6sep='t')6
mymovies_pivot6<E6cast(mymovies,6Utente6~6Film,6value6=6'Voto')6
!
mymovies_matrix6<E6data.matrix(mymovies_pivot)6
rownames(mymovies_matrix)6<E6mymovies_pivot[,6'Utente']6
mymovies_matrix6<E6mymovies_matrix[,6E1]6
!
r6<E6as(mymovies_matrix,6"realRatingMatrix")6
r16<E6Recommender(r,6method="IBCF")6
predictions6<E6predict(r1,6r,61)6
as(predictions,6'list')
45
Unica modi鍖ca necessaria!
46. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
ESERCIZIO 4.4
Questionario: http://goo.gl/cXld6T!
Costruiamo un sistema di raccomandazione che ci
suggerisca un 鍖lm a seconda delle preferenze dei
nostri compagni di corso.
46
L minuscola!
47. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
LIBRO DI RIFERIMENTO
47
48. Introduzione ai Big Data e alla scienza dei dati, Palazzolo Digital Hub, 2014. Copyright: Vincenzo Manzoni
LA PROSSIMA LEZIONE!
AGENDA
1. Gli strumenti dei Big Data!
1. MapReduce!
2. Hive!
3. Pig
48