Aprendizaje de maquinas -- R -- Sistemas de Recomendación.

Notas de clase sobre aprendizaje de maquinas usando R

Juan David Velásquez Henao
jdvelasq@unal.edu.co
Universidad Nacional de Colombia, Sede Medellín
Facultad de Minas
Medellín, Colombia

[Licencia]

[Readme]

Software utilizado.

Este es un documento interactivo escrito como un notebook de Jupyter, en el cual se presenta un tutorial sobre regresión logistica usando R en el contexto de aprendizaje de maquinas. Los notebooks de Jupyter permiten incoporar simultáneamente código, texto, gráficos y ecuaciones. El código presentado en este notebook puede ejecutarse en los sistemas operativos Linux y OS X.

Haga click aquí para obtener instrucciones detalladas sobre como instalar Jupyter en Windows y Mac OS X.

Haga clic [aquí] para ver la última versión de este documento en nbviewer.

Descargue la última versión de este documento a su disco duro; luego, carguelo y ejecutelo en línea en Try Jupyter!

Haga clic aquí para ver el tutorial de visualización y gráficas.

Contenido

Bibliografía.

Material complementario.

Webinar RStudio Getting your data into R


Introducción

Contenido

Las recomendaciones se han convertido en uno de los insumos básicos de servicios de comercio y servicios en línea. Recomendar libros, articulos, peliculas o canciones puede estimular el consumo y, por tanto, la venta de este. Este tipo de sistema automatizado puede proporcionar a cada usuario una lista personalizada de sugerencias (ya sea una lista de productos para la compra, características de uso, o nuevas conexiones). Los sistemas de recomendaciones aplican estadística y técnicas de descubrimiento de conocimiento para predecir recomendaciones basados en data ya recolectada.

Existen dos tipos de sistemas de recomendación: Basados en contenido y filtrado colaborativo.

El primero tipo de enofque se basa en la idea de que si se puede obtener la estructura de las preferencias de un usuario en cuanto a un producto, entonces podemos recomendar otros productos con los atributos similares a los más preferidos por el usuario.

El segundo tipo de sistema de recomendación está basado en los aportes de los consumidores a menudo recibe el nombre filtrado colaborativo, debido a que los usuarios colaboran a través del sistema para encontrar los mejores artículos para los demas consumidores. La idea es que dado los datos de calificaciones de los usuarios a los items se pueden encontrar usuarios similiares que le gusten cierto tipo de producto, o ciertos tipos de productos que le gusten a la misma persona.

Sistemas de Recomendación Basados en Usuarios

Contenido

Son algoritmos basados en memoria que intenta imitar el boca a boca mediante el análisis de los datos de calificación de muchos individuos. El supuesto es que los usuarios con preferencias similares se calificaría productos (items) de manera similar. Por lo tanto, las calificaciones faltantes para un usuario se puede predecir mediante la búsqueda de una vecindad primaria entre los usuarios y similares y por último se agregan las calificaciones de estos usuarios para formar una predicción.

Las vecindades se definen en términos de similaridad y algortimos de clustering como k-means, k-medians u otro tipo de modelo de agrupación. Es de recordar que la medidad de distancia es importante dentro del modelo ya que se pueden usar distancias euclidianas, correlaciones, coseno o manhattan.

Luego de realizar la segmentación, los ratings son agregados para calcular el valor de predicción por el algoritmo como la media del rating dentro del cluster para el item.

$$ \hat{r_{aj}} = \frac{1}{| N(a) |} \sum_{i \in N(a)} r_{ij} $$

Donde $ \hat{r_{aj}} $ es la predicción del cluster a al item j, $ N(a) $ es el conjunto de usuarios en el cluster a y $r_{ij}$ es la calificación del usuario i al item j

Usualmente normalizar los datos antes de aplicar los algortimos pueden mejorar el sesgo del modelo, ya que tienden a darle menos peso a aquellos usuarios que siempre están calificando alto o siempre califican bajo a los items. Para esto se puede utilizar las técnicas de normalización ya vistas en el Notebook de Clustering.

Sistemas de Recomendación Basados en Items

Contenido

Es un enfoque basado en los modelos que produce recomendaciones basadas en la relación entre los elementos parecidos e inferidas a partir de la matriz de calificación. La suposición detrás de este enfoque es que los usuarios preferirán artículos que son similares a otros artículos que les gusta.

Este algoritmo calcula la similaridad entre todos los items utilizando una medida de distancia, es decir, calcula clusters dentro de los items.

Para hacer recomendaciones, se calcula la suma ponderada de las calificaciones para los items similares.

$$ \hat{r_{ai}} = \frac{1}{\sum_{j \in S(i) \cap \{l;r_{ai}\neq?\}} s_{ij}} \sum_{j \in S(i) \cap \{l;r_{ai}\neq?\}} s_{ij} r_{aj}$$

Donde $ \hat{r_{aj}} $ es la predicción del cluster a al usuario i, $ S(i) $ es el conjunto de items en el cluster i, $r_{aj}$ es la calificación del cluster a al item j, $s_{ij}$ es la similaridad (suma ponderada) del usuario i al item j.

Aplicación 1

Contenido

En 2006, Netflix publicó una base de datos con un gran número de calificaciones de peliculas por parte de los clientes para realizar un desafío público. El objetivo era mejorar en su algoritmo interno para la predicción de calificaciones. Desafortunadamente, por razones legales, el conjunto de datos que se habilitó para desarrollar el Premio Netflix ya no está disponible. Sin embargo, se utilizará un conjunto de dato académicos con características similares. Estos datos provienen del grupo Lens (GroupLens), un laboratorio de investigación de la Universidad de Minnesota.


In [1]:
## Cargue las librerías necesarias
library(recommenderlab)
library(ggplot2)

## Cargue la data de MovieLense
data(MovieLense)

## Vista de los primeros registros de la data
head(as(MovieLense[1,], "list")[[1]])


Loading required package: Matrix
Loading required package: arules

Attaching package: 'arules'

The following objects are masked from 'package:base':

    abbreviate, write

Loading required package: proxy

Attaching package: 'proxy'

The following object is masked from 'package:Matrix':

    as.matrix

The following objects are masked from 'package:stats':

    as.dist, dist

The following object is masked from 'package:base':

    as.matrix

Loading required package: registry
Toy Story (1995)
5
GoldenEye (1995)
3
Four Rooms (1995)
4
Get Shorty (1995)
3
Copycat (1995)
3
Shanghai Triad (Yao a yao yao dao waipo qiao) (1995)
5

In [2]:
## Visualice parte de la matriz 
options(repr.plot.width=10, repr.plot.height=5)
image(MovieLense[1:100,1:100])


Puede observar que existe una lista del nombre de las peliculas con las calificaciones asignadas por cada usuario. Existen muchos usuarios que no califican los filmes, por eso en la imagen de la matriz puede observar tanto espacio blanco. A este tipo de matriz se le conoce como sparse.


In [3]:
# Estructura de la data
str(MovieLense)


Formal class 'realRatingMatrix' [package "recommenderlab"] with 2 slots
  ..@ data     :Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
  .. .. ..@ i       : int [1:99392] 0 1 4 5 9 12 14 15 16 17 ...
  .. .. ..@ p       : int [1:1665] 0 452 583 673 882 968 994 1386 1605 1904 ...
  .. .. ..@ Dim     : int [1:2] 943 1664
  .. .. ..@ Dimnames:List of 2
  .. .. .. ..$ : chr [1:943] "1" "2" "3" "4" ...
  .. .. .. ..$ : chr [1:1664] "Toy Story (1995)" "GoldenEye (1995)" "Four Rooms (1995)" "Get Shorty (1995)" ...
  .. .. ..@ x       : num [1:99392] 5 4 4 4 4 3 1 5 4 5 ...
  .. .. ..@ factors : list()
  ..@ normalize: NULL

Dentro de la estructura observe que en Dimnames están los nombres y en x se encuentran las calificaciones de las peliculas.


In [4]:
## Histograma del número de calificaciones por usuario
options(repr.plot.width=10, repr.plot.height=5)
hist(rowCounts(MovieLense))


La gráfica anterior muestra que la mayoría de los usuarios ha calificado entre 0-50 veces y esta tendencencia disminuye a medida que el número de calificaciones aumenta. Es decir, que un usuario no califica muchas películas.


In [5]:
## Histograma del número de calificaciones por película
options(repr.plot.width=10, repr.plot.height=5)
hist(colCounts(MovieLense))


Similarmente, observe que una pelicula es más probable de tener entre 0-50 calificaciones, donde se evidencia una tendencia más marcada a disminuir la cantidad de peliculas cuando aumenta la cantidad de calificaciones. Es decir, existen pocas películas con una gran cantidad de calificación.


In [6]:
## Resumen e histograma de las calificaciones
## Histograma
options(repr.plot.width=10, repr.plot.height=5)

qplot(getRatings(MovieLense),           # Data
      binwidth = 1,                     # Amplitud de la barra
      main = "Histogram of ratings",    # Titulo del grafico
      xlab = "Rating")                  # Título del eje x

## Resumen
summary(getRatings(MovieLense))


   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   1.00    3.00    4.00    3.53    4.00    5.00 

Observe del histograma que la calificación que más se repite es '4', donde la distribución está más sesgada hacia la derecha, es decir, hacia calificaciones positivas. Esto se observa en resumen donde la media corresponde a 3.53 y la mediana es 4.


In [7]:
## Calificación media (del promedio de calificación de cada usuario)
mean(rowMeans(MovieLense))


3.58756455155972

Este dato muestra que en promedio, la calificación promedio de un usuario entre todas las peliculas que ve, es de 3.58. Difiere del promedio de todas las calificaciones que se vió anteriormente (3.53)


In [8]:
## Normalice la data
Norm <- normalize(MovieLense)
head(as(Norm[1,], "list")[[1]])


Toy Story (1995)
1.39483394833948
GoldenEye (1995)
-0.605166051660516
Four Rooms (1995)
0.394833948339484
Get Shorty (1995)
-0.605166051660516
Copycat (1995)
-0.605166051660516
Shanghai Triad (Yao a yao yao dao waipo qiao) (1995)
1.39483394833948

Ya que los métodos de recomendación se basan en los métodos de clustering, como se vió en el Notebook de Clustering, es de suma importancia normalizar la data para poder tener medidas de distancias comparables y poder calcular cercanías. Por esto, normalice la data en distribución normal estándar (restando la media y diviendiendo sobre la desviación estándar).


In [9]:
## Imagen de la matriz sparse de las calificaciones sin normalizar
image(MovieLense, main = "Raw Ratings")



In [10]:
## Imagen de la matriz sparse de las calificaciones con normalización
image(Norm, main = "Normalized Ratings")


Las dos imagenes anteriores dejan claro, la forma de una matriz sparse ya que cada punto negro representa una calificación de un usuario a una pelicula (item). Note que la esquina superior derecha no presenta calificaciones, ya que pueden ser peliculas no tan populares dentro de los visitantes.


In [11]:
# Primeros seis filas de la matriz sparse normalizada.
head(getRatingMatrix(Norm))


   [[ suppressing 1664 column names 'Toy Story (1995)', 'GoldenEye (1995)', 'Four Rooms (1995)' ... ]]
6 x 1664 sparse Matrix of class "dgCMatrix"
                                                                          
1 1.3948339 -0.6051661 0.3948339 -0.6051661 -0.6051661 1.394834  0.3948339
2 0.2950820  .         .          .          .         .         .        
3 .          .         .          .          .         .         .        
4 .          .         .          .          .         .         .        
5 1.1257143  0.1257143 .          .          .         .         .        
6 0.3605769  .         .          .          .         .        -1.6394231
                                                                         
1 -2.6051661 1.3948339 -0.6051661 -1.6051661 1.3948339  1.394834 1.394834
2  .         .         -1.7049180  .         .          0.295082 0.295082
3  .         .          .          .         .          .        .       
4  .         .          .         -0.3043478 .          .        .       
5  .         .          .          .         .          .        .       
6  0.3605769 0.3605769  .          .         0.3605769 -1.639423 1.360577
                                                                          
1  1.3948339 1.394834 -0.6051661 0.3948339  1.3948339 0.3948339 -2.6051661
2  .         .         .         .         -0.7049180 .          .        
3  .         .         .         .          .         .          .        
4  .         .         .         .          .         .          .        
5  .         .         1.1257143 .          .         .          0.1257143
6 -0.6394231 .         .         .          0.3605769 .         -0.6394231
                                                                           
1  0.3948339 0.3948339 -0.6051661 0.3948339 -0.6051661 -1.605166  0.3948339
2  .         .          .         0.2950820  .          .         .        
3  .         .          .         .          .          .         .        
4  .         .          .         .          .          .         .        
5  .         .          1.1257143 0.1257143  .          .         .        
6 -0.6394231 0.3605769  .         .          .          .        -1.6394231
                                                                         
1 -2.605166 -0.6051661 -0.6051661 1.3948339 0.3948339 -1.605166 -2.605166
2  .         .          .         .         .          .         .       
3  .         .          .         .         .          .         .       
4  .         .          .         .         .          .         .       
5  1.125714  .          .         .         .          .         .       
6  .         .          .         0.3605769 .          .         .       
                                                                        
1 -1.605166 -1.605166 -0.6051661 0.3948339 -0.6051661 -1.605166 1.394834
2  .         .         .         .          .          .        .       
3  .         .         .         .          .          .        .       
4  .         .         .         .          .          .        .       
5  .         .         .         .          1.1257143  .        2.125714
6  .         .         .         .          .          .        .       
                                                                      
1 0.3948339 1.394834 1.394834 0.3948339  0.3948339 1.394834 -0.6051661
2 .         .        .        .          .         .         .        
3 .         .        .        .          .         .         .        
4 .         .        .        .          .         .         .        
5 .         .        .        .          .         .         .        
6 .         .        .        .         -0.6394231 .         .        
                                                                        
1 1.3948339 0.3948339 0.3948339 -0.6051661 -0.6051661 1.394834 0.3948339
2 1.2950820 .         .          .          .         .        .        
3 .         .         .          .          .         .        .        
4 0.6956522 .         .          .          .         .        .        
5 1.1257143 .         .          .          .         .        .        
6 0.3605769 .         .          .          .         .        0.3605769
                                                                               
1 1.394834 0.3948339 1.394834 1.394834 0.3948339 -0.6051661 -1.605166 1.3948339
2 .        .         .        .        .          .          .        .        
3 .        .         .        .        .          .          .        .        
4 .        .         .        .        .          .          .        .        
5 .        .         .        .        .          1.1257143 -1.874286 .        
6 .        .         1.360577 .        .          .          .        0.3605769
                                                                            
1 0.3948339  0.3948339 -0.6051661 0.3948339 -0.6051661 -0.6051661 -0.6051661
2 .          .          .         .          .          .          .        
3 .          .          .         .          .          .          .        
4 .          .          .         .          .          .          .        
5 .         -1.8742857  .         .         -1.8742857  1.1257143  .        
6 .          .          .         .         -0.6394231 -0.6394231  0.3605769
                                                                        
1 0.3948339 -0.6051661 -2.605166 0.3948339 0.3948339 0.3948339 -2.605166
2 .          .          .        .         .         .          .       
3 .          .          .        .         .         .          .       
4 .          .          .        .         .         .          .       
5 .          .          .        .         .         .          .       
6 .          .          .        .         .         .          .       
                                                                          
1  0.3948339  0.3948339 1.3948339 1.394834 -0.6051661 0.3948339 -0.6051661
2  .          .         .         .         .         .          .        
3  .          .         .         .         .         .          .        
4  .          .         .         .         .         .          .        
5  0.1257143 -0.8742857 .         .         .         .          .        
6 -0.6394231  .         0.3605769 .         .         .          .        
                                                                        
1  1.3948339 1.3948339 0.3948339 1.3948339 0.3948339 1.394834 -0.6051661
2  .         .         .         .         .         .         .        
3  .         .         .         .         .         .         .        
4  .         .         .         .         .         .         .        
5  .         .         .         2.1257143 0.1257143 .         .        
6 -0.6394231 0.3605769 .         0.3605769 .         .         .        
                                                                         
1 1.394834 -1.6051661  0.3948339 1.394834 -0.6051661 0.3948339 -0.6051661
2 .         .          .         .         .         .          .        
3 .         .          .         .         .         .          .        
4 .         .          .         .         .         .          .        
5 .         0.1257143  1.1257143 .         .         0.1257143  0.1257143
6 .         .         -1.6394231 .         .         1.3605769  .        
                                                                        
1 1.394834 -1.605166 -1.6051661 -2.605166 -2.605166 -1.6051661 0.3948339
2 1.295082  .         .          .         .         .         .        
3 .         .         .          .         .         .         .        
4 .         .         .          .         .         .         .        
5 2.125714  2.125714  0.1257143  .         .         0.1257143 .        
6 1.360577  .         .          .         .         .         .        
                                                                             
1 0.3948339 1.394834 1.394834 -2.605166  1.394834 -2.605166 1.394834 1.394834
2 .         .        .         .         0.295082  .        .        .       
3 .         .        .         .         .         .        .        .       
4 .         .        .         .         .         .        .        .       
5 .         .        2.125714 -1.874286  .         .        .        .       
6 .         .        .         .        -1.639423  .        .        .       
                                                                        
1 1.394834 -0.6051661 -0.6051661 -0.6051661 1.394834 -2.605166 0.3948339
2 .         .          .          .         .         .        .        
3 .         .          .          .         .         .        .        
4 .         .          .          .         .         .        .        
5 .         .          .          .         .         .        1.1257143
6 .         .         -1.6394231  .         .         .        .        
                                                                       
1 -0.6051661 0.3948339 1.394834 -0.6051661 -1.605166 1.394834 0.3948339
2  .         .         .         .          .        1.295082 .        
3  .         .         .         .          .        .        .        
4  .         .         .         .          .        .        .        
5  .         .         .         .          .        .        .        
6  .         .         1.360577 -0.6394231  .        1.360577 .        
                                                                       
1 1.394834 -0.6051661 -2.605166 0.3948339 0.3948339 0.3948339 0.3948339
2 .         .          .        .         .         .         .        
3 .         .          .        .         .         .         .        
4 .         .          .        .         .         .         .        
5 .         .          .        .         .         .         1.1257143
6 .         .          1.360577 1.3605769 0.3605769 1.3605769 1.3605769
                                                                         
1 -0.6051661 1.394834 -2.605166 -0.6051661 -2.605166 -0.6051661 -1.605166
2  .         .         .         .          .         .          .       
3  .         .         .         .          .         .          .       
4  .         .         .         .          .         .          .       
5  .         .         .         0.1257143  .         .          .       
6  1.3605769 1.360577  .         .          .         .          .       
                                                                         
1 -2.6051661 0.3948339 -1.605166 0.3948339 -0.6051661 -1.605166 -1.605166
2  .         .          .        .          .          .         .       
3  .         .          .        .          .          .         .       
4  .         .          .        .          .          .         .       
5  0.1257143 0.1257143 -1.874286 .          .          .         .       
6 -1.6394231 .          .        .          .          .         .       
                                                                         
1 1.394834  0.3948339 1.394834 -0.6051661  1.3948339 -1.605166  0.3948339
2 .         .         .         .          .          .         .        
3 .         .         .         .          .          .         .        
4 .         .         .         .          .          .         .        
5 .         0.1257143 .         2.1257143  0.1257143  .         .        
6 .        -0.6394231 .         0.3605769 -0.6394231  .        -0.6394231
                                                                          
1 0.3948339 -0.6051661 -0.6051661 0.3948339 0.3948339  0.3948339 0.3948339
2 .          .          .         .         .          .         .        
3 .          .          .         .         .          .         .        
4 .          .          .         .         .          .         .        
5 .          .          .         .         .         -1.8742857 2.1257143
6 .          .          .         .         .          .         .        
                                                                        
1 -0.6051661 1.394834 1.3948339 -1.6051661 1.3948339 1.3948339 1.3948339
2  .         .        .          .         .         .         .        
3  .         .        .          .         .         .         .        
4  .         .        .          .         .         .         .        
5  .         .        .         -0.8742857 0.1257143 2.1257143 .        
6  .         1.360577 0.3605769  .         0.3605769 0.3605769 0.3605769
                                                                              
1 1.394834 1.394834 1.394834 1.3948339 1.3948339 1.3948339 1.3948339 1.3948339
2 .        .        .        .         .         .         .         .        
3 .        .        .        .         .         .         .         .        
4 .        .        .        .         .         .         .         .        
5 .        2.125714 1.125714 2.1257143 .         0.1257143 .         .        
6 .        .        1.360577 0.3605769 0.3605769 .         0.3605769 0.3605769
                                                                        
1 -0.6051661 -0.6051661 1.394834 0.3948339 1.3948339 0.3948339 0.3948339
2  .          .         .        .         .         .         .        
3  .          .         1.235294 .         .         .         .        
4  .          .         .        .         .         .         .        
5  .          .         2.125714 .         1.1257143 .         0.1257143
6  .          0.3605769 .        0.3605769 0.3605769 .         1.3605769
                                                                        
1 0.3948339 0.3948339 -0.6051661 -0.6051661 1.394834 1.3948339 0.3948339
2 .         .          .          .         .        .         .        
3 .         .          .          .         .        .         .        
4 .         .          .          .         .        .         .        
5 2.1257143 .          .          2.1257143 .        .         .        
6 0.3605769 0.3605769 -0.6394231 -0.6394231 .        0.3605769 0.3605769
                                                                     
1  0.3948339 0.3948339 1.3948339 1.394834 1.394834 1.394834 0.3948339
2  .         .         .         .        .        .        .        
3  .         .         .         .        .        .        .        
4  .         .         .         .        .        .        .        
5  .         1.1257143 .         .        .        .        .        
6 -0.6394231 0.3605769 0.3605769 .        1.360577 .        0.3605769
                                                                             
1 -0.6051661 -0.6051661  1.3948339  0.3948339  1.3948339 -0.6051661 0.3948339
2  .          .          .          .          .          .         .        
3  .          .          .          .          .          .         .        
4  .          .          .          .          .          .         .        
5 -0.8742857  .          .          .          1.1257143  .         .        
6 -0.6394231  .         -0.6394231 -0.6394231 -0.6394231 -0.6394231 .        
                                                                         
1 1.394834 1.3948339 0.3948339  0.3948339 -0.6051661 0.3948339 -1.6051661
2 .        .         .          .          .         .          .        
3 .        .         .          .          .         .          .        
4 .        .         .         -1.3043478  .         .          .        
5 .        1.1257143 2.1257143  0.1257143  1.1257143 .          .        
6 .        0.3605769 0.3605769  .          1.3605769 .          0.3605769
                                                                            
1 0.3948339 -0.6051661  1.394834 -0.6051661 -0.6051661 -2.6051661 -0.6051661
2 .          .          .         .          .          .          .        
3 .          .          .         .          .          .          .        
4 .          .          .         .          .          .          .        
5 0.1257143  .         -1.874286  .          .          0.1257143  .        
6 .          .          1.360577  .          .          .          .        
                                                                        
1 1.3948339 0.3948339 1.3948339 1.394834 -1.6051661 -0.6051661 0.3948339
2 .         .         .         .         .          .         .        
3 .         .         .         .         .          .         .        
4 .         .         .         .         .          .         .        
5 .         1.1257143 .         .        -0.8742857  0.1257143 1.1257143
6 0.3605769 .         0.3605769 .         .          .         .        
                                                                          
1 1.394834  0.3948339 0.3948339 -2.6051661 -0.6051661 -1.605166  0.3948339
2 .         .         .          .          .          .         .        
3 .         .         .          .          .          .         .        
4 .         .         .          .          .          .         .        
5 2.125714 -0.8742857 0.1257143 -0.8742857  .          1.125714 -0.8742857
6 .         .         .          .          .          .         .        
                                                                        
1 1.394834 0.3948339 -1.605166 0.3948339 0.3948339 -0.6051661  0.3948339
2 .        .          0.295082 .         .          .          .        
3 .        .          .        .         .          .          .        
4 .        .          .        .         .          .          .        
5 1.125714 .          .        .         1.1257143  .         -1.8742857
6 .        .         -1.639423 1.3605769 .          .          .        
                                                                         
1 1.3948339 -2.605166 -1.605166 -1.605166  1.3948339 -2.605166  0.3948339
2 1.2950820  .         .         .         .          .         .        
3 .          .         .        -1.764706  .          .         .        
4 .          .         .         .         .          .         .        
5 .         -1.874286  .         .         .          .         .        
6 0.3605769  .         .         .        -0.6394231  .        -0.6394231
                                                                      
1 0.3948339 0.3948339 0.3948339 -1.605166 1.394834 -2.605166 -1.605166
2 .         .         1.2950820  .        .         .         0.295082
3 .         .         .          .        .         .         .       
4 .         .         .          .        .         .         .       
5 .         0.1257143 .          .        .         .         .       
6 .         .         .          .        .         .         .       
                                                                            
1 0.3948339  0.3948339  1.3948339 -2.605166 -2.6051661 -2.6051661 -0.6051661
2 .          0.2950820 -0.7049180  .         .          .          .        
3 .          .         -0.7647059  .         1.2352941  .          .        
4 .          .          0.6956522  .        -0.3043478  .          .        
5 .          2.1257143  .         -1.874286  .          .          .        
6 .         -1.6394231 -1.6394231 -2.639423  .         -0.6394231  .        
                                                                       
1 -2.605166 -1.6051661 0.3948339 -2.605166 0.3948339 1.3948339 1.394834
2  .         .         .          .        .         0.2950820 .       
3  .        -0.7647059 .          .        .         .         .       
4  .        -1.3043478 .          .        .         .         .       
5  .         .         .          .        1.1257143 .         .       
6  .         .         .          .        .         0.3605769 .       
                                                                        
1 -1.6051661 -0.6051661 .         .         .          .        .       
2  .          1.2950820 0.295082 -0.7049180 1.2950820  0.295082 0.295082
3  0.2352941 -0.7647059 .         .         .          .        .       
4 -0.3043478  .         .         .         .          .        .       
5  .          .         .         .         .          .        .       
6  .          0.3605769 .         0.3605769 0.3605769 -1.639423 .       
                                                                               
1  .        .         .         .        .        .         .         .        
2 -0.704918 0.295082 -0.704918 -0.704918 0.295082 1.295082  0.295082  1.2950820
3  .        .         .         .        .        .         .         .        
4  .        .         .         .        .        .         .         .        
5  .        .         .         .        .        .         .         .        
6  .        .         .         .        .        .        -1.639423 -0.6394231
                                                                       
1  .         .         .          .         .         .        .       
2  0.295082 -0.704918 -0.7049180 -0.704918 -0.704918 -0.704918 0.295082
3  .         .        -0.7647059  .         .         .        .       
4  .         .        -0.3043478  .         .         .        .       
5  .         .         .          .         .         .        .       
6 -1.639423  .         .          .         .         .        .       
                                                                          
1  .          .         .         .         .          .         .        
2  0.2950820 -2.7049180 0.295082 -0.704918  0.2950820 -0.7049180 0.2950820
3  .         -0.7647059 .         .         .          .         0.2352941
4  .          0.6956522 .         .         .          .         .        
5  .          .         .         .         .          .         .        
6 -0.6394231 -1.6394231 .         .        -0.6394231 -0.6394231 .        
                                                                           
1  .          .          .         .          .        .          .        
2  0.2950820  0.2950820  1.2950820 0.2950820 -0.704918 0.2950820 -0.7049180
3 -0.7647059  .         -0.7647059 .          .        .          0.2352941
4  0.6956522  0.6956522  .         .          .        .          .        
5  .          .          .         .          .        .          .        
6  .         -1.6394231  0.3605769 0.3605769  .        0.3605769  .        
                                                                      
1  .          .         .        .         .        .         .       
2 -0.7049180 -2.704918  0.295082 1.295082 -0.704918 1.295082 -2.704918
3  .          .         .        .         .        .         .       
4  .          .         .        .         .        .         .       
5  .          .         .        .         .        .         .       
6 -0.6394231 -1.639423 -1.639423 .         .        .         .       
                                                                        
1  .        .         .         .          .         .         .        
2 -2.704918 1.295082  .         .          .         .         .        
3  .        .        -0.7647059 1.2352941 -0.7647059 2.235294  2.2352941
4  .        .         .         .          .         .         .        
5  .        .         .         .          .         .         .        
6  .        .        -0.6394231 0.3605769  .         .        -0.6394231
                                                                          
1 .          .          .          .         .         .          .       
2 .          .          .          .         .         .          .       
3 0.2352941 -0.7647059 -0.7647059 -1.764706 -0.7647059 1.2352941  2.235294
4 .          .          0.6956522  .         .         0.6956522 -1.304348
5 .          .          .          .         .         .          .       
6 .          .          .          .         .         .          .       
                                                                        
1 .          .         .         .         .         .          .       
2 .          .         .         .         .         .          .       
3 1.2352941 -0.7647059 1.235294 -1.764706 -0.7647059 0.2352941 -1.764706
4 0.6956522  .         .         .         .         .          .       
5 .          .         .         .         .         .          .       
6 .          .         .         .         .         .          .       
                                                                       
1  .         .         .         .          .         .        .       
2  .         .         .         .          .         .        .       
3 -1.764706 -1.764706 -0.7647059 0.2352941  2.235294 -1.764706 1.235294
4  .         .         .         .          .         .        .       
5  .         .         .         .          .         .        .       
6  .         .         .         .         -1.639423  .        .       
                                                                              
1 .         .        .         .        .        .         .         .        
2 .         .        .         .        .        .         .         .        
3 0.2352941 1.235294 0.2352941 2.235294 2.235294 0.2352941 0.2352941 0.2352941
4 .         .        .         .        .        .         .         .        
5 .         .        .         .        .        .         .         .        
6 .         .        .         .        .        .         .         .        
                                                                         
1  .          .        .         .          .         .          .       
2  .          .        .         .          .         .          .       
3 -0.7647059 -1.764706 0.2352941 0.2352941  .         .          .       
4  .          .        0.6956522 .         -1.304348 -0.3043478 -2.304348
5  .          .        .         .          .         .          .       
6  .          .        .         .          .         0.3605769  .       
                                                                       
1 .         .         .         .         .          .         .       
2 .         .         .         .         .          .         .       
3 .         .         .         .         .          .         .       
4 0.6956522 0.6956522 0.6956522 0.6956522 .          .         .       
5 .         .         .         .         0.1257143 -1.874286 -1.874286
6 .         .         .         .         .          .         .       
                                                                        
1 .          .          .         .         .         .        .        
2 .          .          .         .         .         .        .        
3 .          .          .         .         .         .        .        
4 .          .          .         .         .         .        .        
5 0.1257143  0.1257143 -1.874286 -1.874286 -1.874286 -1.874286 0.1257143
6 .         -1.6394231  .         .         .         .        .        
                                                                        
1 .         .         .          .          .         .        .        
2 .         .         .          .          .         .        .        
3 .         .         .          .          .         .        .        
4 .         .         .          .          .         .        .        
5 0.1257143 0.1257143 0.1257143 -0.8742857 -1.874286 -1.874286 0.1257143
6 .         .         .          .          .         .        .        
                                                                      
1 .          .        .        .         .         .         .        
2 .          .        .        .         .         .         .        
3 .          .        .        .         .         .         .        
4 .          .        .        .         .         .         .        
5 0.1257143 -1.874286 2.125714 0.1257143 0.1257143 1.125714 -0.8742857
6 .          .        .        .         .         .         .        
                                                                        
1 .          .          .        .        .         .          .        
2 .          .          .        .        .         .          .        
3 .          .          .        .        .         .          .        
4 .          .          .        .        .         .          .        
5 0.1257143 -0.8742857 -1.874286 2.125714 1.125714 -0.8742857 -0.8742857
6 .          .          .        .        .         .          .        
                                                                          
1  .          .         .         .          .         .          .       
2  .          .         .         .          .         .          .       
3  .          .         .         .          .         .          .       
4  .          .         .         .          .         .          .       
5 -0.8742857 -0.8742857 2.125714 -0.8742857 -0.8742857 0.1257143 -1.874286
6  .          .         .         .          .         .          .       
                                                                        
1 .         .        .          .          .          .        .        
2 .         .        .          .          .          .        .        
3 .         .        .          .          .          .        .        
4 .         .        .          .          .          .        .        
5 2.125714 -1.874286 0.1257143 -0.8742857  0.1257143 -1.874286 0.1257143
6 .         .        .          .         -2.6394231  .        .        
                                                                         
1 .          .          .          .        .         .         .        
2 .          .          .          .        .         .         .        
3 .          .          .          .        .         .         .        
4 .          .          .          .        .         .         .        
5 2.1257143 -0.8742857 -1.8742857 -1.874286 0.1257143 0.1257143 0.1257143
6 0.3605769  .          0.3605769  .        .         .         .        
                                                                       
1  .         .        .         .         .         .          .       
2  .         .        .         .         .         .          .       
3  .         .        .         .         .         .          .       
4  .         .        .         .         .         .          .       
5 -1.874286 -1.874286 0.1257143 0.1257143 0.1257143 0.1257143 -1.874286
6  .         .        .         .         0.3605769 .          .       
                                                                       
1 .         .          .         .         .         .         .       
2 .         .          .         .         .         .         .       
3 .         .          .         .         .         .         .       
4 .         .          .         .         .         .         .       
5 1.125714  1.1257143 -1.874286 -0.8742857 0.1257143 0.1257143 2.125714
6 .        -0.6394231  .        -0.6394231 .         0.3605769 .       
                                                                             
1 .         .        .         .         .        .        .         .       
2 .         .        .         .         .        .        .         .       
3 .         .        .         .         .        .        .         .       
4 .         .        .         .         .        .        .         .       
5 0.1257143 2.125714 0.1257143 1.1257143 2.125714 2.125714 1.1257143 2.125714
6 .         .        .         0.3605769 .        .        0.3605769 .       
                                                                      
1  .         .         .         .         .         .        .       
2  .         .         .         .         .         .        .       
3  .         .         .         .         .         .        .       
4  .         .         .         .         .         .        .       
5 -1.874286 -1.874286 -1.874286 -1.874286 -1.874286 -1.874286 1.125714
6  .         .         .         .         .         .        .       
                                                                         
1  .         .         .        .          .          .          .       
2  .         .         .        .          .          .          .       
3  .         .         .        .          .          .          .       
4  .         .         .        .          .          .          .       
5 -0.8742857 0.1257143 1.125714 0.1257143 -0.8742857 -0.8742857 -1.874286
6  .         .         .        .          .          .          .       
                                                                      
1  .         .         .         .        .         .         .       
2  .         .         .         .        .         .         .       
3  .         .         .         .        .         .         .       
4  .         .         .         .        .         .         .       
5 -1.874286 -1.874286 -1.874286 -1.874286 1.125714 -1.874286 -1.874286
6  .         .         .         .        .         .         .       
                                                                      
1  .         .         .        .         .        .          .       
2  .         .         .        .         .        .          .       
3  .         .         .        .         .        .          .       
4  .         .         .        .         .        .          .       
5  .         .         .        .         .        .          .       
6 -2.639423 -1.639423 -1.639423 0.3605769 1.360577 0.3605769 -1.639423
                                                                        
1  .        .         .          .         .         .          .       
2  .        .         .          .         .         .          .       
3  .        .         .          .         .         .          .       
4  .        .         .          .         .         .          .       
5  .        .         .          .         .         .          .       
6 -2.639423 0.3605769 0.3605769 -0.6394231 1.360577 -0.6394231 -1.639423
                                                                              
1  .         .        .        .         .         .        .         .       
2  .         .        .        .         .         .        .         .       
3  .         .        .        .         .         .        .         .       
4  .         .        .        .         .         .        .         .       
5  .         .        .        .         .         .        .         .       
6 -2.639423 -1.639423 1.360577 1.360577 -2.639423 -2.639423 0.3605769 1.360577
                                                                            
1 .         .        .         .        .        .        .         .       
2 .         .        .         .        .        .        .         .       
3 .         .        .         .        .        .        .         .       
4 .         .        .         .        .        .        .         .       
5 .         .        .         .        .        .        .         .       
6 0.3605769 1.360577 0.3605769 1.360577 1.360577 1.360577 0.3605769 1.360577
                                                                            
1 .        .        .        .         .        .        .         .        
2 .        .        .        .         .        .        .         .        
3 .        .        .        .         .        .        .         .        
4 .        .        .        .         .        .        .         .        
5 .        .        .        .         .        .        .         .        
6 1.360577 1.360577 1.360577 0.3605769 1.360577 1.360577 0.3605769 0.3605769
                                                                       
1 .         .         .         .         .        .          .        
2 .         .         .         .         .        .          .        
3 .         .         .         .         .        .          .        
4 .         .         .         .         .        .          .        
5 .         .         .         .         .        .          .        
6 0.3605769 0.3605769 0.3605769 0.3605769 1.360577 0.3605769 -0.6394231
                                                                         
1  .         .         .         .          .         .         .        
2  .         .         .         .          .         .         .        
3  .         .         .         .          .         .         .        
4  .         .         .         .          .         .         .        
5  .         .         .         .          .         .         .        
6 -0.6394231 0.3605769 0.3605769 0.3605769 -0.6394231 0.3605769 0.3605769
                                                                     
1 .        .         .         .        .         .         .        
2 .        .         .         .        .         .         .        
3 .        .         .         .        .         .         .        
4 .        .         .         .        .         .         .        
5 .        .         .         .        .         .         .        
6 1.360577 0.3605769 0.3605769 1.360577 0.3605769 0.3605769 0.3605769
                                                                               
1  .         .        .         .         .        .         .         .       
2  .         .        .         .         .        .         .         .       
3  .         .        .         .         .        .         .         .       
4  .         .        .         .         .        .         .         .       
5  .         .        .         .         .        .         .         .       
6 -0.6394231 1.360577 0.3605769 0.3605769 1.360577 1.360577 -0.6394231 1.360577
                                                                         
1  .         .         .         .         .         .          .        
2  .         .         .         .         .         .          .        
3  .         .         .         .         .         .          .        
4  .         .         .         .         .         .          .        
5  .         .         .         .         .         .          .        
6 -0.6394231 0.3605769 0.3605769 0.3605769 0.3605769 0.3605769 -0.6394231
                                                                               
1 .         .          .        .         .          .         .        . . . .
2 .         .          .        .         .          .         .        . . . .
3 .         .          .        .         .          .         .        . . . .
4 .         .          .        .         .          .         .        . . . .
5 .         .          .        .         .          .         .        . . . .
6 0.3605769 0.3605769 -1.639423 0.3605769 0.3605769 -1.639423 -1.639423 . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                   
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Note como dentro de los 6 primeros registros de la matriz sparse existen muchos valores en 0 (.)


In [12]:
## Datos de entrenamiento. (900 usuarios)
train <- MovieLense[1:900]

## Visualizamos la matriz de entrenamiento
head(getRatingMatrix(train))


   [[ suppressing 1664 column names 'Toy Story (1995)', 'GoldenEye (1995)', 'Four Rooms (1995)' ... ]]
6 x 1664 sparse Matrix of class "dgCMatrix"
                                                                               
1 5 3 4 3 3 5 4 1 5 3 2 5 5 5 5 5 3 4 5 4 1 4 4 3 4 3 2 4 1 3 3 5 4 2 1 2 2 3 4
2 4 . . . . . . . . 2 . . 4 4 . . . . 3 . . . . . 4 . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 4 3 . . . . . . . . . . . . . . 4 . . . 3 . . 4 3 . . . 4 . . . . . . . . . .
6 4 . . . . . 2 4 4 . . 4 2 5 3 . . . 4 . 3 3 4 . . . . 2 . . . 4 . . . . . . .
                                                                               
1 3 2 5 4 5 5 4 4 5 3 5 4 4 3 3 5 4 5 4 5 5 4 3 2 5 4 4 3 4 3 3 3 4 3 1 4 4 4 1
2 . . . . . . . . . . 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 4 . 5 . . . . . . . 4 . . . . . . . . . . . 4 1 . . 1 . . 1 4 . . . . . . . .
6 . . . . . . . 3 . . 4 . . . . . 4 . . 5 . . . . 4 . . . . 3 3 4 . . . . . . .
                                                                               
1 4 4 5 5 3 4 3 5 5 4 5 4 5 3 5 2 4 5 3 4 3 5 2 2 1 1 2 4 4 5 5 1 5 1 5 5 5 3 3
2 . . . . . . . . . . . . . . . . . . . . . 5 . . . . . . . . . . 4 . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 3 2 . . . . . . . . 5 3 . . . 3 4 . . 3 3 5 5 3 . . 3 . . . 5 1 . . . . . . .
6 3 . 4 . . . . 3 4 . 4 . . . . . 2 . . 5 . 5 . . . . . . . . . . 2 . . . . . 2
                                                                               
1 3 5 1 4 3 4 5 3 2 5 4 5 3 1 4 4 4 4 3 5 1 3 1 3 2 1 4 2 4 3 2 2 5 4 5 3 5 2 4
2 . . . . . . . . . 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . 4 . . . . . . . . . . . . . 4 . . . 3 . . . 3 3 1 . . . . . 3 . 5 3 . .
6 . . . . . . 5 3 . 5 . . . 5 5 4 5 5 5 5 . . . . . 2 . . . . . . . 3 . 4 3 . 3
                                                                               
1 4 3 3 4 4 4 4 3 5 5 2 5 5 5 5 5 5 5 5 5 5 5 3 3 5 4 5 4 4 4 4 3 3 5 5 4 4 4 5
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . 4 . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . 1 5 . . . 2 3 5 . . 5 4 5 . 3 . . . . 5 . 4 . 3 5 . . 5 . . . . 4 .
6 . . . . . . . . 5 4 . 4 4 4 . . 5 4 4 . 4 4 . 4 . 4 4 . 5 4 4 3 3 . 4 4 3 4 4
                                                                               
1 5 5 5 4 3 3 5 4 5 3 4 5 5 4 4 3 4 2 4 3 5 3 3 1 3 5 4 5 5 2 3 4 5 4 4 1 3 2 4
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . 3 . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . 2 . . . 4 . . . 4 5 3 4 . . 3 . 1 . . 3 . . 4 . . 2 3 4 5 2 3 2 . 4 2
6 . 5 . 4 3 . 3 3 3 3 . . 4 4 . 5 . 4 . . 5 . . . . 4 . 4 . . . . . . . . . . .
                                                                               
1 5 4 2 4 4 3 4 5 1 2 2 5 1 4 4 4 4 2 5 1 2 4 4 5 1 1 1 3 1 2 4 1 4 5 5 2 3 . .
2 . . 4 . . . . 5 . . . . . . . . 5 . . . 4 . 4 3 . . . . . . . . . 4 . . 5 4 3
3 . . . . . . . . . . 1 . . . . . . . . . . . . 2 . 4 . . . 2 . . . . . 3 2 . .
4 . . . . . . . . . . . . . . . . . . . . . . . 5 . 4 . . . 3 . . . . . 4 . . .
5 4 . . . 4 . 1 . 1 . . . . . . 3 . . . . . . 5 . 1 . . . . . . . 4 . . . . . .
6 . . 2 5 . . . 4 . . . 3 . 3 . . . . . . . . 2 2 1 . 3 . . . . . . 4 . . 4 . 4
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 5 4 4 3 4 3 3 4 5 4 5 4 3 3 3 3 3 4 4 1 4 3 4 3 4 4 4 5 4 3 4 3 3 1 4 5 3 5 1
3 . . . . . . . . . . . . . 2 . . . . . 2 . . . . 3 2 . 2 . . . 3 . . . . . . .
4 . . . . . . . . . . . . . 4 . . . . . 5 . . . . . 5 5 . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 4 2 . . . . . . . 2 3 2 . . . . . . 3 2 . . 3 3 . . 2 4 4 . 4 . 3 2 2 . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 1 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . 2 4 2 5 5 3 2 2 1 2 4 5 4 2 4 1 2 3 1 1 1 2 3 5 1 4 3 4 3 5 5 3 3 3 2 1 3
4 . . . . . . . . . 5 . . 5 3 5 . . . . . . . . . . . . . . . . . . . . . . . 5
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . 3 4 . . 3 . . . . . . . . . . . . . . . . . . 2 . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . 3 4 2 5 5 5 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . 3 1 1 3 3 1 1 1 1 3 3 3 3 2 1 1 3 3 1 5 3 3 4 2 3 2 1 5 4 2 2
6 . . 4 . . . . . . . . . 2 . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 2 2 5 2 2 3 1 5 1 3 2 3 1 3 5 2 1 1 3 3 3 1 1 3 3 3 3 1 4 4 1 2 3 3 5 3 5 3 4
6 . . . . . . . . . . . 1 . . 4 . 4 . . . . . . . . 4 . . . 3 . 3 . 4 . . . . 4
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 5 5 4 5 1 1 1 1 1 1 4 2 3 4 3 2 2 1 1 1 1 1 4 1 1 . . . . . . . . . . . . . .
6 . . 4 . . . . . . . . . . . . . . . . . . . . . . 1 2 2 4 5 4 2 1 4 4 3 5 3 2
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 1 2 5 5 1 1 4 5 4 5 4 5 5 5 4 5 5 5 5 4 5 5 4 4 4 4 4 4 5 4 3 3 4 4 4 3 4 4 5
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 4 4 5 4 4 4 3 5 4 4 5 5 3 5 3 4 4 4 4 4 3 4 4 2 4 4 2 2 . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                                               
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                                     
1 . . . . . . . . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . . . . . . . . .
4 . . . . . . . . . . . . . . . . . . . . . . . . . .
5 . . . . . . . . . . . . . . . . . . . . . . . . . .
6 . . . . . . . . . . . . . . . . . . . . . . . . . .

Dentro del ejemplo, utilice la matriz sin normalizar para realizar el recomendador. Puede utilizar la matriz normalizada para mirar como cambian los resultados.


In [13]:
### Recomendador basado en filtrado colaborativo basado en usuarios
rec <- Recommender(train,            # Datos de entrenamiento
                   method = "UBCF")  # Metodo: Basado en Usuarios

rec                                  # Objeto recomendador


Recommender of type 'UBCF' for 'realRatingMatrix' 
learned using 900 users.

In [14]:
### Recomendador basado en filtrado colaborativo basado en items
rec1<-Recommender(train,   # Datos de entrenamiento
                  "IBCF")  # Metodo: Basado en Usuarios

rec1                       # Objeto recomendador


Recommender of type 'IBCF' for 'realRatingMatrix' 
learned using 900 users.

Se entrenan los dos modelos, basados en usuarios e items.


In [15]:
### Realice las N recomendaciones para los otros usuarios con el metodo de usuarios
pre <- predict(rec,                   # Recomendador
               MovieLense[901:943],   # Datos de evaluación
               n = 5)                 # Número de recomendaciones por usuario

pre                                   # Objeto de recomendaciones

## Visualizamos las 5 recomendaciones para cada usuario
as(pre,                               # Recomendaciones
   "list")                            # como lista


Recommendations as 'topNList' with n = 5 for 43 users. 
$`901`
  1. 'Fugitive, The (1993)'
  2. 'Shawshank Redemption, The (1994)'
  3. 'It\'s a Wonderful Life (1946)'
  4. 'Princess Bride, The (1987)'
  5. 'Schindler\'s List (1993)'
$`902`
  1. 'Raiders of the Lost Ark (1981)'
  2. 'Terminator 2: Judgment Day (1991)'
  3. 'Forrest Gump (1994)'
  4. 'Silence of the Lambs, The (1991)'
  5. 'Blade Runner (1982)'
$`903`
  1. 'Empire Strikes Back, The (1980)'
  2. '2001: A Space Odyssey (1968)'
  3. 'Dr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb (1963)'
  4. 'Rear Window (1954)'
  5. 'Monty Python and the Holy Grail (1974)'
$`904`
  1. 'Star Wars (1977)'
  2. 'Titanic (1997)'
  3. 'Toy Story (1995)'
  4. 'Time to Kill, A (1996)'
  5. 'Independence Day (ID4) (1996)'
$`905`
  1. 'Good Will Hunting (1997)'
  2. 'Full Monty, The (1997)'
  3. 'Scream (1996)'
  4. 'Apt Pupil (1998)'
  5. 'Star Wars (1977)'
$`906`
  1. 'Contact (1997)'
  2. 'Titanic (1997)'
  3. 'L.A. Confidential (1997)'
  4. 'Antonia\'s Line (1995)'
  5. 'Big Night (1996)'
$`907`
  1. 'Shawshank Redemption, The (1994)'
  2. 'Usual Suspects, The (1995)'
  3. 'Braveheart (1995)'
  4. 'Top Gun (1986)'
  5. 'In the Line of Fire (1993)'
$`908`
  1. 'Shawshank Redemption, The (1994)'
  2. 'Dances with Wolves (1990)'
  3. 'North by Northwest (1959)'
  4. 'Citizen Kane (1941)'
  5. 'Wizard of Oz, The (1939)'
$`909`
  1. 'Star Wars (1977)'
  2. 'L.A. Confidential (1997)'
  3. 'Titanic (1997)'
  4. 'Kolya (1996)'
  5. 'Return of the Jedi (1983)'
$`910`
  1. 'Boot, Das (1981)'
  2. 'L.A. Confidential (1997)'
  3. 'Schindler\'s List (1993)'
  4. 'Contact (1997)'
  5. 'Shawshank Redemption, The (1994)'
$`911`
  1. 'Fargo (1996)'
  2. 'Star Wars (1977)'
  3. 'Contact (1997)'
  4. 'Godfather, The (1972)'
  5. 'Schindler\'s List (1993)'
$`912`
  1. 'Terminator 2: Judgment Day (1991)'
  2. 'Silence of the Lambs, The (1991)'
  3. 'Usual Suspects, The (1995)'
  4. 'Sleepless in Seattle (1993)'
  5. 'Amadeus (1984)'
$`913`
  1. 'Lawrence of Arabia (1962)'
  2. 'Godfather: Part II, The (1974)'
  3. 'GoodFellas (1990)'
  4. 'Glory (1989)'
  5. 'Good Will Hunting (1997)'
$`914`
  1. 'Star Wars (1977)'
  2. 'Sting, The (1973)'
  3. 'Fugitive, The (1993)'
  4. 'Shawshank Redemption, The (1994)'
  5. 'Fargo (1996)'
$`915`
  1. 'Good Will Hunting (1997)'
  2. 'Full Monty, The (1997)'
  3. 'As Good As It Gets (1997)'
  4. 'Welcome To Sarajevo (1997)'
  5. 'Postman, The (1997)'
$`916`
  1. 'Godfather, The (1972)'
  2. 'One Flew Over the Cuckoo\'s Nest (1975)'
  3. 'Amadeus (1984)'
  4. 'Chinatown (1974)'
  5. 'Glory (1989)'
$`917`
  1. 'English Patient, The (1996)'
  2. 'Contact (1997)'
  3. 'Return of the Jedi (1983)'
  4. 'Postino, Il (1994)'
  5. 'Titanic (1997)'
$`918`
  1. 'Fargo (1996)'
  2. 'English Patient, The (1996)'
  3. 'Schindler\'s List (1993)'
  4. 'Sting, The (1973)'
  5. 'Casablanca (1942)'
$`919`
  1. 'Full Monty, The (1997)'
  2. 'Godfather, The (1972)'
  3. 'Close Shave, A (1995)'
  4. 'Hoop Dreams (1994)'
  5. 'Pulp Fiction (1994)'
$`920`
  1. 'Apt Pupil (1998)'
  2. 'Full Monty, The (1997)'
  3. 'As Good As It Gets (1997)'
  4. 'Sweet Hereafter, The (1997)'
  5. 'Amistad (1997)'
$`921`
  1. 'Shawshank Redemption, The (1994)'
  2. 'Contact (1997)'
  3. 'Back to the Future (1985)'
  4. 'Silence of the Lambs, The (1991)'
  5. 'It\'s a Wonderful Life (1946)'
$`922`
  1. 'Schindler\'s List (1993)'
  2. 'Titanic (1997)'
  3. 'Fugitive, The (1993)'
  4. 'It\'s a Wonderful Life (1946)'
  5. 'Shawshank Redemption, The (1994)'
$`923`
  1. 'Godfather, The (1972)'
  2. 'L.A. Confidential (1997)'
  3. 'Back to the Future (1985)'
  4. 'Contact (1997)'
  5. 'Pulp Fiction (1994)'
$`924`
  1. 'Silence of the Lambs, The (1991)'
  2. 'Casablanca (1942)'
  3. 'Braveheart (1995)'
  4. 'Godfather: Part II, The (1974)'
  5. 'Full Monty, The (1997)'
$`925`
  1. 'Titanic (1997)'
  2. 'Boogie Nights (1997)'
  3. 'L.A. Confidential (1997)'
  4. 'Mother (1996)'
  5. 'Love Jones (1997)'
$`926`
  1. 'Ice Storm, The (1997)'
  2. 'Star Wars (1977)'
  3. 'In & Out (1997)'
  4. 'Leaving Las Vegas (1995)'
  5. 'Jackie Brown (1997)'
$`927`
  1. 'Star Wars (1977)'
  2. 'Return of the Jedi (1983)'
  3. 'Rock, The (1996)'
  4. 'Fargo (1996)'
  5. 'Empire Strikes Back, The (1980)'
$`928`
  1. 'Titanic (1997)'
  2. 'Good Will Hunting (1997)'
  3. 'L.A. Confidential (1997)'
  4. 'Picture Perfect (1997)'
  5. 'Kiss the Girls (1997)'
$`929`
  1. 'Shawshank Redemption, The (1994)'
  2. 'Alien (1979)'
  3. 'Aliens (1986)'
  4. 'Lawrence of Arabia (1962)'
  5. 'Killing Fields, The (1984)'
$`930`
  1. 'Contact (1997)'
  2. 'Titanic (1997)'
  3. 'Ransom (1996)'
  4. 'Star Trek: First Contact (1996)'
  5. 'Trainspotting (1996)'
$`931`
  1. 'Boogie Nights (1997)'
  2. 'Dead Man Walking (1995)'
  3. 'Jackie Brown (1997)'
  4. 'Leaving Las Vegas (1995)'
  5. 'U Turn (1997)'
$`932`
  1. 'Star Wars (1977)'
  2. 'Godfather, The (1972)'
  3. 'Taxi Driver (1976)'
  4. 'Wizard of Oz, The (1939)'
  5. 'Usual Suspects, The (1995)'
$`933`
  1. 'Sling Blade (1996)'
  2. 'Full Metal Jacket (1987)'
  3. 'Stand by Me (1986)'
  4. 'Contact (1997)'
  5. 'Psycho (1960)'
$`934`
  1. 'Schindler\'s List (1993)'
  2. 'Shawshank Redemption, The (1994)'
  3. 'Usual Suspects, The (1995)'
  4. 'Silence of the Lambs, The (1991)'
  5. 'Godfather, The (1972)'
$`935`
  1. 'Star Wars (1977)'
  2. 'L.A. Confidential (1997)'
  3. 'Contact (1997)'
  4. 'Boot, Das (1981)'
  5. 'Marvin\'s Room (1996)'
$`936`
  1. 'Close Shave, A (1995)'
  2. 'L.A. Confidential (1997)'
  3. 'Eve\'s Bayou (1997)'
  4. 'Boot, Das (1981)'
  5. 'Kolya (1996)'
$`937`
  1. 'Godfather, The (1972)'
  2. 'Full Monty, The (1997)'
  3. 'Titanic (1997)'
  4. 'Return of the Jedi (1983)'
  5. 'L.A. Confidential (1997)'
$`938`
  1. 'L.A. Confidential (1997)'
  2. 'Full Monty, The (1997)'
  3. 'Time to Kill, A (1996)'
  4. 'Boot, Das (1981)'
  5. 'Good Will Hunting (1997)'
$`939`
  1. 'Star Wars (1977)'
  2. 'Titanic (1997)'
  3. 'Rock, The (1996)'
  4. 'Air Force One (1997)'
  5. 'Empire Strikes Back, The (1980)'
$`940`
  1. 'Kiss the Girls (1997)'
  2. 'Seven Years in Tibet (1997)'
  3. 'Amistad (1997)'
  4. 'Rosewood (1997)'
  5. 'Braveheart (1995)'
$`941`
  1. 'Titanic (1997)'
  2. 'English Patient, The (1996)'
  3. 'Game, The (1997)'
  4. 'Star Wars (1977)'
  5. 'Good Will Hunting (1997)'
$`942`
  1. 'L.A. Confidential (1997)'
  2. 'Wizard of Oz, The (1939)'
  3. 'Silence of the Lambs, The (1991)'
  4. 'Godfather: Part II, The (1974)'
  5. 'Casablanca (1942)'
$`943`
  1. 'Reservoir Dogs (1992)'
  2. 'Die Hard (1988)'
  3. 'Aliens (1986)'
  4. 'Blade Runner (1982)'
  5. 'Raising Arizona (1987)'

In [16]:
### Realice las N recomendaciones para los otros usuarios con el metodo de items
pre1 <- predict(rec1,                  # Recomendador
               MovieLense[901:943],    # Datos de evaluación
               n = 5)                  # Número de recomendaciones por usuario

pre1                                   # Objeto de recomendaciones

## Visualizamos las 5 recomendaciones para cada usuario
as(pre1,                               # Recomendaciones
   "list")                             # como lista


Recommendations as 'topNList' with n = 5 for 43 users. 
$`901`
  1. 'Shanghai Triad (Yao a yao yao dao waipo qiao) (1995)'
  2. 'French Twist (Gazon maudit) (1995)'
  3. 'From Dusk Till Dawn (1996)'
  4. 'Birdcage, The (1996)'
  5. 'Belle de jour (1967)'
$`902`
  1. 'Four Rooms (1995)'
  2. 'Crimson Tide (1995)'
  3. 'Outbreak (1995)'
  4. 'Professional, The (1994)'
  5. 'Stargate (1994)'
$`903`
  1. 'To Wong Foo, Thanks for Everything! Julie Newmar (1995)'
  2. 'Outbreak (1995)'
  3. 'Free Willy (1993)'
  4. 'True Romance (1993)'
  5. 'Wizard of Oz, The (1939)'
$`904`
  1. 'GoldenEye (1995)'
  2. 'Birdcage, The (1996)'
  3. 'Outbreak (1995)'
  4. 'Moll Flanders (1996)'
  5. 'Bedknobs and Broomsticks (1971)'
$`905`
  1. 'Kolya (1996)'
  2. 'Bean (1997)'
  3. 'Apt Pupil (1998)'
  4. 'Good Will Hunting (1997)'
  5. 'Jackie Brown (1997)'
$`906`
  1. 'Kolya (1996)'
  2. 'In & Out (1997)'
  3. 'Ice Storm, The (1997)'
  4. 'Everyone Says I Love You (1996)'
  5. 'Wings of Desire (1987)'
$`907`
  1. 'French Twist (Gazon maudit) (1995)'
  2. 'From Dusk Till Dawn (1996)'
  3. 'Bad Boys (1995)'
  4. 'Crumb (1994)'
  5. 'To Wong Foo, Thanks for Everything! Julie Newmar (1995)'
$`908`
  1. 'To Wong Foo, Thanks for Everything! Julie Newmar (1995)'
  2. 'Hot Shots! Part Deux (1993)'
  3. 'Remains of the Day, The (1993)'
  4. 'Bedknobs and Broomsticks (1971)'
  5. 'Stand by Me (1986)'
$`909`
  1. 'Mighty Aphrodite (1995)'
  2. 'Mr. Holland\'s Opus (1995)'
  3. 'Antonia\'s Line (1995)'
  4. 'Free Willy 2: The Adventure Home (1995)'
  5. 'Eat Drink Man Woman (1994)'
$`910`
  1. 'Much Ado About Nothing (1993)'
  2. 'Sting, The (1973)'
  3. 'Young Frankenstein (1974)'
  4. 'Bridges of Madison County, The (1995)'
  5. 'Aladdin and the King of Thieves (1996)'
$`911`
  1. 'Richard III (1995)'
  2. 'Mighty Aphrodite (1995)'
  3. 'Bad Boys (1995)'
  4. 'Strange Days (1995)'
  5. 'Santa Clause, The (1994)'
$`912`
  1. 'GoldenEye (1995)'
  2. 'Outbreak (1995)'
  3. 'Hot Shots! Part Deux (1993)'
  4. 'Basic Instinct (1992)'
  5. 'Star Trek: First Contact (1996)'
$`913`
  1. 'Angels and Insects (1995)'
  2. 'Mask, The (1994)'
  3. 'Nightmare Before Christmas, The (1993)'
  4. 'Maya Lin: A Strong Clear Vision (1994)'
  5. 'Breaking the Waves (1996)'
$`914`
  1. 'True Romance (1993)'
  2. 'D3: The Mighty Ducks (1996)'
  3. 'Swingers (1996)'
  4. 'On Golden Pond (1981)'
  5. 'Abyss, The (1989)'
$`915`
  1. 'Afterglow (1997)'
  2. 'Family Thing, A (1996)'
  3. 'Mighty Aphrodite (1995)'
  4. 'Postino, Il (1994)'
  5. 'Mr. Holland\'s Opus (1995)'
$`916`
  1. 'Horseman on the Roof, The (Hussard sur le toit, Le) (1995)'
  2. 'Ridicule (1996)'
  3. 'Kolya (1996)'
  4. 'Apple Dumpling Gang, The (1975)'
  5. 'Apartment, The (1960)'
$`917`
  1. 'Angels and Insects (1995)'
  2. 'Hoop Dreams (1994)'
  3. 'Professional, The (1994)'
  4. 'Robert A. Heinlein\'s The Puppet Masters (1994)'
  5. 'Spitfire Grill, The (1996)'
$`918`
  1. 'Shanghai Triad (Yao a yao yao dao waipo qiao) (1995)'
  2. 'Belle de jour (1967)'
  3. 'I.Q. (1994)'
  4. 'Horseman on the Roof, The (Hussard sur le toit, Le) (1995)'
  5. 'Breaking the Waves (1996)'
$`919`
  1. 'Natural Born Killers (1994)'
  2. 'Hot Shots! Part Deux (1993)'
  3. 'Striptease (1996)'
  4. 'Mr. Smith Goes to Washington (1939)'
  5. 'Glengarry Glen Ross (1992)'
$`920`
  1. 'Mr. Holland\'s Opus (1995)'
  2. 'Return of the Jedi (1983)'
  3. 'Jungle2Jungle (1997)'
  4. 'Playing God (1997)'
  5. 'McHale\'s Navy (1997)'
$`921`
  1. 'Professional, The (1994)'
  2. 'Three Colors: Blue (1993)'
  3. 'Remains of the Day, The (1993)'
  4. 'Nightmare Before Christmas, The (1993)'
  5. 'Young Frankenstein (1974)'
$`922`
  1. 'Devil\'s Own, The (1997)'
  2. 'Murder at 1600 (1997)'
  3. 'Apple Dumpling Gang, The (1975)'
  4. 'Aladdin and the King of Thieves (1996)'
  5. 'Jaws 2 (1978)'
$`923`
  1. 'Babe (1995)'
  2. 'Usual Suspects, The (1995)'
  3. 'Muppet Treasure Island (1996)'
  4. 'Braveheart (1995)'
  5. 'Bad Boys (1995)'
$`924`
  1. 'D3: The Mighty Ducks (1996)'
  2. 'Love Bug, The (1969)'
  3. 'Bedknobs and Broomsticks (1971)'
  4. 'Jean de Florette (1986)'
  5. 'Jaws (1975)'
$`925`
  1. 'Spitfire Grill, The (1996)'
  2. 'Mirage (1995)'
  3. 'Further Gesture, A (1996)'
  4. 'Toy Story (1995)'
  5. 'GoldenEye (1995)'
$`926`
  1. 'Event Horizon (1997)'
  2. 'Blues Brothers 2000 (1998)'
  3. 'Leave It to Beaver (1997)'
  4. 'Afterglow (1997)'
  5. 'Brassed Off (1996)'
$`927`
  1. 'Quiz Show (1994)'
  2. 'Ref, The (1994)'
  3. 'Lone Star (1996)'
  4. 'Spitfire Grill, The (1996)'
  5. 'Breakfast at Tiffany\'s (1961)'
$`928`
  1. 'GoldenEye (1995)'
  2. 'Four Rooms (1995)'
  3. 'Postino, Il (1994)'
  4. 'Muppet Treasure Island (1996)'
  5. 'Apollo 13 (1995)'
$`929`
  1. 'Postino, Il (1994)'
  2. 'To Wong Foo, Thanks for Everything! Julie Newmar (1995)'
  3. 'Hot Shots! Part Deux (1993)'
  4. 'Sleepless in Seattle (1993)'
  5. 'Welcome to the Dollhouse (1995)'
$`930`
  1. 'Shanghai Triad (Yao a yao yao dao waipo qiao) (1995)'
  2. 'Mighty Aphrodite (1995)'
  3. 'White Balloon, The (1995)'
  4. 'Antonia\'s Line (1995)'
  5. 'Bad Boys (1995)'
$`931`
  1. 'GoldenEye (1995)'
  2. 'Taxi Driver (1976)'
  3. 'Nadja (1994)'
  4. 'Diabolique (1996)'
  5. 'Supercop (1992)'
$`932`
  1. 'Doom Generation, The (1995)'
  2. 'Faster Pussycat! Kill! Kill! (1965)'
  3. 'Hot Shots! Part Deux (1993)'
  4. 'Theodore Rex (1995)'
  5. 'Flipper (1996)'
$`933`
  1. 'Three Colors: Blue (1993)'
  2. 'My Favorite Year (1982)'
  3. 'Leave It to Beaver (1997)'
  4. 'Mimic (1997)'
  5. 'Secrets & Lies (1996)'
$`934`
  1. 'Desperado (1995)'
  2. 'Akira (1988)'
  3. 'Devil\'s Own, The (1997)'
  4. 'Deconstructing Harry (1997)'
  5. 'Powder (1995)'
$`935`
  1. 'Birdcage, The (1996)'
  2. 'Legends of the Fall (1994)'
  3. 'Sleepless in Seattle (1993)'
  4. 'Spitfire Grill, The (1996)'
  5. 'Bedknobs and Broomsticks (1971)'
$`936`
  1. 'Taxi Driver (1976)'
  2. 'Doom Generation, The (1995)'
  3. 'Professional, The (1994)'
  4. 'Three Colors: White (1994)'
  5. 'Firm, The (1993)'
$`937`
  1. 'Toy Story (1995)'
  2. 'Braveheart (1995)'
  3. 'Apollo 13 (1995)'
  4. 'Shawshank Redemption, The (1994)'
  5. 'Fugitive, The (1993)'
$`938`
  1. 'Four Rooms (1995)'
  2. 'Babe (1995)'
  3. 'Richard III (1995)'
  4. 'Usual Suspects, The (1995)'
  5. 'Braveheart (1995)'
$`939`
  1. 'Richard III (1995)'
  2. 'Usual Suspects, The (1995)'
  3. 'Mighty Aphrodite (1995)'
  4. 'Angels and Insects (1995)'
  5. 'Taxi Driver (1976)'
$`940`
  1. 'True Romance (1993)'
  2. 'Diabolique (1996)'
  3. 'Sound of Music, The (1965)'
  4. 'Fly Away Home (1996)'
  5. 'Desperate Measures (1998)'
$`941`
  1. 'Four Rooms (1995)'
  2. 'Seven (Se7en) (1995)'
  3. 'Antonia\'s Line (1995)'
  4. 'Muppet Treasure Island (1996)'
  5. 'Braveheart (1995)'
$`942`
  1. 'Birdcage, The (1996)'
  2. 'Hoop Dreams (1994)'
  3. 'Madness of King George, The (1994)'
  4. 'Outbreak (1995)'
  5. 'Quiz Show (1994)'
$`943`
  1. 'Desperado (1995)'
  2. 'Supercop (1992)'
  3. 'Evita (1996)'
  4. 'Fly Away Home (1996)'
  5. 'Devil\'s Advocate, The (1997)'

Se calculan las predicciones como las 5 recomendaciones para cada usuario. Recuerde que este algoritmo coloca a cada usuario en un cluster y realiza una recomendaciones basado en la media de los ratings de cada cluster.


In [17]:
## Observe las posibilidades que se tienen para estimar los recomendadores
recommenderRegistry$get_entries(dataType = "realRatingMatrix")


$ALS_realRatingMatrix
Recommender method: ALS for realRatingMatrix
Description: Recommender for explicit ratings based on latent factors, calculated by alternating least squares algorithm.
Reference: Yunhong Zhou, Dennis Wilkinson, Robert Schreiber, Rong Pan (2008). Large-Scale Parallel Collaborative Filtering for the Netflix Prize, 4th Int'l Conf. Algorithmic Aspects in Information and Management, LNCS 5034.
Parameters:
  normalize lambda n_factors n_iterations min_item_nr seed
1      NULL    0.1        10           10           1 NULL

$ALS_implicit_realRatingMatrix
Recommender method: ALS_implicit for realRatingMatrix
Description: Recommender for implicit data based on latent factors, calculated by alternating least squares algorithm.
Reference: Yifan Hu, Yehuda Koren, Chris Volinsky (2008). Collaborative Filtering for Implicit Feedback Datasets, ICDM '08 Proceedings of the 2008 Eighth IEEE International Conference on Data Mining, pages 263-272.
Parameters:
  lambda alpha n_factors n_iterations min_item_nr seed
1    0.1    10        10           10           1 NULL

$IBCF_realRatingMatrix
Recommender method: IBCF for realRatingMatrix
Description: Recommender based on item-based collaborative filtering.
Reference: NA
Parameters:
   k   method normalize normalize_sim_matrix alpha na_as_zero
1 30 "Cosine"  "center"                FALSE   0.5      FALSE

$POPULAR_realRatingMatrix
Recommender method: POPULAR for realRatingMatrix
Description: Recommender based on item popularity.
Reference: NA
Parameters:
  normalize    aggregationRatings aggregationPopularity
1  "center" new("standardGeneric" new("standardGeneric"

$RANDOM_realRatingMatrix
Recommender method: RANDOM for realRatingMatrix
Description: Produce random recommendations (real ratings).
Reference: NA
Parameters: None

$RERECOMMEND_realRatingMatrix
Recommender method: RERECOMMEND for realRatingMatrix
Description: Re-recommends highly rated items (real ratings).
Reference: NA
Parameters:
  randomize minRating
1         1        NA

$SVD_realRatingMatrix
Recommender method: SVD for realRatingMatrix
Description: Recommender based on SVD approximation with column-mean imputation.
Reference: NA
Parameters:
   k maxiter normalize
1 10     100  "center"

$SVDF_realRatingMatrix
Recommender method: SVDF for realRatingMatrix
Description: Recommender based on Funk SVD with gradient descend.
Reference: NA
Parameters:
   k gamma lambda min_epochs max_epochs min_improvement normalize verbose
1 10 0.015  0.001         50        200           1e-06  "center"   FALSE

$UBCF_realRatingMatrix
Recommender method: UBCF for realRatingMatrix
Description: Recommender based on user-based collaborative filtering.
Reference: NA
Parameters:
    method nn sample normalize
1 "cosine" 25  FALSE  "center"

Observe que existen varios métodos para estimar los recomendadores. Entre estos están los más populares basados en usuarios e items. No obstante se encuentran los ALS, SVD, aleatorio, popular o el re-recomendar.


In [18]:
## Crear un esquema para evaluar los diferentes algoritmos
scheme <- evaluationScheme(MovieLense,        # Datos
                           method = "split",  # Dividir la data
                           train = .9,        # 90% de entrenamiento y 10 de validación
                           k = 1,             # Numero de veces para correr la evaluación
                           given = 10,        # Número de items para cada observación
                           goodRating = 4)    # Límite inferiro donde se considera un buen rating

scheme


Evaluation scheme with 10 items given
Method: 'split' with 1 run(s).
Training set proportion: 0.900
Good ratings: >=4.000000
Data set: 943 x 1664 rating matrix of class 'realRatingMatrix' with 99392 ratings.

In [19]:
## Algoritmos a evaluar con sus parámetros
algorithms <- list(
    "random items" = list(name="RANDOM",                                   # Algoritmo Random
                        param=list(normalize = "Z-score")),                # Normalización Z-score
  
    "popular items" = list(name="POPULAR",                                 # Algoritmo Popular
                         param=list(normalize = "Z-score")),               # Normalización Z-score
  
    "user-based CF" = list(name="UBCF",                                    # Algoritmo Usuario
                         param=list(normalize = "Z-score",                 # Normalizacion Z-score  
                                    method="Cosine",                       # Distancias metodo coseno
                                    nn=50)),                               # Numero de clusters
    
    "item-based CF" = list(name="IBCF",                                    # Algortimo Items
                         param=list(normalize = "Z-score"))                # Normalización Z-score
  )

Para mirar el performance de los diferentes algoritmos, utilizamos un esquema de evaluación para entrenar y medir los algortimos de User, Item, Popular y Aleatorio


In [20]:
# Correr los algoritmos con n recomendaciones de peliculas
results <- evaluate(scheme,                     # Esquema de evaluación
                    algorithms,                 # Algoritmos
                    n=c(1, 3, 5, 10, 15, 20))   # n recomendaciones

# Visualice resultados
head(results)


RANDOM run fold/sample [model time/prediction time]
	 1  [0sec/0.35sec] 
POPULAR run fold/sample [model time/prediction time]
	 1  [0.06sec/0.52sec] 
UBCF run fold/sample [model time/prediction time]
	 1  [0.07sec/1.72sec] 
IBCF run fold/sample [model time/prediction time]
	 1  [74.36sec/0.22sec] 
Warning message in names(l) <- names(x)[i]:
"class 'evaluationResultList' has no 'names' slot; assigning a names attribute will create an invalid object"
List of evaluation results for 4 recommenders:
Evaluation results for 1 folds/samples using method 'RANDOM'.
Evaluation results for 1 folds/samples using method 'POPULAR'.
Evaluation results for 1 folds/samples using method 'UBCF'.
Evaluation results for 1 folds/samples using method 'IBCF'.

In [21]:
# Grafique la curva ROC 
options(repr.plot.width=10, repr.plot.height=5)

plot(results,           # Resultados del esquema
     annotate = 1:4,    # Poner recomendaciones en las lineas
     legend="topleft")  # Leyenda



In [22]:
## Observe la relación entre precision y recall
options(repr.plot.width=10, repr.plot.height=5)
plot(results,       # Resultados del esquema de evaluación 
     "prec/rec",    # Precisión - Recall
     annotate=1:4)  # Poner recomendaciones en las lineas


Puede observar que dentro de las metricas que se evaluaron el algortimo que mayor tuvo desemepeño es el User-based, ya que es aquel que tiene mejor relación entre TPR y FPR. Además, es aquel que tiene mejor relación entre precision-recall.

Es interesante que note cómo el algortimo de Popular supera al algoritmo basado en items. Esto puede deberse a que cierto tipos de algoritmos funcionan mejor abarcando un tipo de problema especifico que otros.

Recuerde que las metricas ROC se definen de la siguiente manera.


Ejercicio.-- Utilice los del restaurante Entree de Chicago. En esta data un cliente puede usar un restaurante de cualquier ciudad y siempre recibirán recomendaciones de los restaurantes. El cliente puede calificar el restaurante. Su objetivo es utilizar este dataset para contruir el mejor recomendador que permita recomendarle a un cliente cualquiera el (los) restaurante(s) que debe ir.

Datos


In [ ]: