Es la estructura de red que AMAZON ocupa para hacer recomendaciones en base a tus compras actuales
M = as.matrix(
read.csv("https://raw.githubusercontent.com/PABalland/ON/master/amz.csv" ,
sep = ",",
header = T,
row.names = 1))
M
## Tie Book Surfboard Short Water
## Pierre 0 0 1 1 1
## Ron 1 1 0 0 1
## Andrea 1 1 0 0 1
## David 0 0 1 1 1
## Cesar 1 1 0 0 1
## Paula 1 1 1 1 1
dim(M)
## [1] 6 5
Ver sólo el vector de clientes que compran el producto “corbata” (producto de la columna 1)
M[1:6,1]
## Pierre Ron Andrea David Cesar Paula
## 0 1 1 0 1 1
Ver sólo un fragmento de la base original, en relación a los dos productos que me interesan
M[1:6,1:2]
## Tie Book
## Pierre 0 0
## Ron 1 1
## Andrea 1 1
## David 0 0
## Cesar 1 1
## Paula 1 1
Computar grado de centralidad
rowSums(M)
## Pierre Ron Andrea David Cesar Paula
## 3 3 3 3 3 5
función útil para enfocarnos en productos y no sólo en clientes
t(M)
## Pierre Ron Andrea David Cesar Paula
## Tie 0 1 1 0 1 1
## Book 0 1 1 0 1 1
## Surfboard 1 0 0 1 0 1
## Short 1 0 0 1 0 1
## Water 1 1 1 1 1 1
Suma de matrices
M+M
## Tie Book Surfboard Short Water
## Pierre 0 0 2 2 2
## Ron 2 2 0 0 2
## Andrea 2 2 0 0 2
## David 0 0 2 2 2
## Cesar 2 2 0 0 2
## Paula 2 2 2 2 2
Crear nuevo un objeto llamado x
X=M+M
M*M
## Tie Book Surfboard Short Water
## Pierre 0 0 1 1 1
## Ron 1 1 0 0 1
## Andrea 1 1 0 0 1
## David 0 0 1 1 1
## Cesar 1 1 0 0 1
## Paula 1 1 1 1 1
multiplicación de matrices checar tamaños
M%*%t(M)
## Pierre Ron Andrea David Cesar Paula
## Pierre 3 1 1 3 1 3
## Ron 1 3 3 1 3 3
## Andrea 1 3 3 1 3 3
## David 3 1 1 3 1 3
## Cesar 1 3 3 1 3 3
## Paula 3 3 3 3 3 5
checar tamaño de la matriz -dim-
t(M)%*%M
## Tie Book Surfboard Short Water
## Tie 4 4 1 1 4
## Book 4 4 1 1 4
## Surfboard 1 1 3 3 3
## Short 1 1 3 3 3
## Water 4 4 3 3 6
similaridad de productos (de gustos) matriz de co ocurrencia de productos
P=t(M)%*%M
diag(P)=0
similaridad de clientes - matriz de co ocurrencia de clienes
C=M%*%t(M)
no es una matriz identidad (como en la correlación)
C
## Pierre Ron Andrea David Cesar Paula
## Pierre 3 1 1 3 1 3
## Ron 1 3 3 1 3 3
## Andrea 1 3 3 1 3 3
## David 3 1 1 3 1 3
## Cesar 1 3 3 1 3 3
## Paula 3 3 3 3 3 5
diag(C)=0
C
## Pierre Ron Andrea David Cesar Paula
## Pierre 0 1 1 3 1 3
## Ron 1 0 3 1 3 3
## Andrea 1 3 0 1 3 3
## David 3 1 1 0 1 3
## Cesar 1 3 3 1 0 3
## Paula 3 3 3 3 3 0