Skip to content
Problemi, algoritmi e coding

Problemi, algoritmi e coding

Le magie dell'informatica

  • Home
  • Capitoli
    • Uno
    • Due
    • Tre
    • Quattro
    • Cinque
  • Errata corrige
  • Oltre il libro
    • Uno
      • Il metodo algoritmico
      • Colora la mappa
      • Colorazione di una mappa: il codice
      • Ordinamento per selezione: il codice
      • Indovina il numero
      • L’algoritmo T3: il codice
      • Ordinamento per fusione: il codice
      • Ricerca esaustiva: il codice
    • Due
      • Le domande a Google
      • Shmoogle
    • Quattro
      • Il metodo dei fattori nascosti: visualizzazione
    • Cinque
      • La macchina di Turing
      • Il gioco dell’imitazione
      • L’algoritmo del percettrone: il codice
      • Lost in translation
      • A proposito di traduttori
    • Video
      • Domande e risposte
      • Errare coding est
  • Il metodo PAC
    • Il rompicapo di Guarini
    • Come funziona il time-lapse
    • Fellini e la crittografia
    • Il problema delle donazioni di reni
  • Lucidi
    • Due
    • Tre
    • Quattro
    • Cinque
  • Parlano di noi
  • Chi siamo
  • Toggle search form

Quattro

Che cosa voglio vedere stasera?

Di cosa si parla

La magia dei sistemi di raccomandazione per prevedere i nostri gusti e le nostre scelte tra le decine di migliaia di film di Netflix.

Incipit

La televisione via Internet è oramai nelle case di molti di noi. In questo ambito il fenomeno di maggiore rilevanza è il servizio fornito da Netflix, società operante nella distribuzione via internet di film, serie televisive e altri contenuti d’intrattenimento.


Prevedere se un particolare film potrà piacere a uno specifico abbonato, a partire dalle valutazioni che gli abbonati fanno dei film che hanno visto.

La similitudine di due abbonati è la somma dei prodotti delle loro valutazioni (+1 e -1), divisa per il numero di film che almeno uno dei due abbonati ha visto e valutato. La previsione della valutazione di un abbonato di un film che non ha visto è la somma pesata delle valutazioni del film date dagli altri abbonati (dove il peso è la similitudine con l’abbonato di cui vogliamo prevedere la valutazione).

function sim(V,S,na,nf)
 for i in (1:na)
  for j in (1:na)
   t = 0
   for k in (1:nf)
    if (V[i,k]!=0 || V[j,k]!=0)
     t = t+1
    end
    S[i,j] = S[i,j]+V[i,k]*V[j,k]
   end
   S[i,j] = S[i,j]/totale
  end
 end
end

function val(V,S,na,i,k)
 num=0
 den=0
 for j in (1:na)
  if (V[j,k]!=0)
   num=num+V[j,k]*S[i,j]
   den = den + abs(S[i,j])
  end
 end
 if den>0
  return num/den
 else
  return 0
 end
end
Esegui e sperimenta

Copyright © 2023 Problemi, algoritmi e coding.

Powered by PressBook WordPress theme