Mejorando los Resultados del Modelo con Métodos...
Transcript of Mejorando los Resultados del Modelo con Métodos...
Mejorando los Resultados del Modelo con Métodos Conjuntos
2Copyright (c) 2018. Data Science Dojo
Agenda
• Visión general y justificación• ¿Por qué Métodos Conjuntos?
• Distribución Binomial• Modelos de combinación
• Bagging• Ramdom Forests• Boosting• AdaBoost
3Copyright (c) 2018. Data Science Dojo
Métodos Conjuntos
• Mejorar los resultados del modelo combinando múltiples modelos
• Los conjuntos pueden ser de cualquier algoritmo de aprendizaje, incluyendo tanto los de clasificación como los de regresión
4Copyright (c) 2018. Data Science Dojo
Conjunto de Modelos de Árboles de Decisión
Subconjunto 1
Conjuntode modelos
DatosOriginales
Subconjunto 2
Subconjunto 3
5Copyright (c) 2018. Data Science Dojo
Conjunto de Modelos de Árbol de Decisión
Nuevos datos
Prediccióndel Conjunto
Valorar
Predicción 1 Predicción 2 Predicción 3
• Combina conjuntamente un grupo de modelos independientes
• Puede ser cualquier tipo de algoritmos
• Valorar clasificadores• Media de la regresión
• Nuevo punto de datos (datos futuros)• Como un nuevo pasajero del Titanic
6Copyright (c) 2018. Data Science Dojo
DISTRIBUCIÓN BINOMIAL
7Copyright (c) 2018. Data Science Dojo
Distribución Binomial
Inicio
CC
CCr
CrCCr
CrC
CCr
CrCCr
Cara Cruz
3 0
2 1
2 1
1 2
2 1
1 2
1 2
0 3
Considera… Lanzar una moneda 3 veces seguidas Cada moneda es considerada
independiente Una moneda equilibrada tiene un 50%
de posibilidades de cara y de cruz
Propiedades de la distribución binomial: Propiedad estadística bien definida No puedes ver como cada serie de
lanzamientos de moneda se va a comportar o sus resultados individuales (Como CCC CCrC)
No obstante, puedes ver y predecir el comportamiento de la suma de muchos lanzamientos de monedas.
8Copyright (c) 2018. Data Science Dojo
Distribución Binomial
knk ppkn
kXPpnkf −−
=== )1()(),;(
9Copyright (c) 2018. Data Science Dojo
¿Has acertado correctamente las 5 preguntas?
• P = 1/5• N = 10• Probabilidad de responder las 10 preguntas
correctamente: 10!/10! * (1/5)^10 * (1-1/5)^(10-10) = 0.0000001024
10Copyright (c) 2018. Data Science Dojo
Aplicaciones
• Número de personas con un seguro de vida que van a notificar un siniestro en un periodo determinado
• Numero de deudores que van a quebrar en un determinado periodo
• Número de salidas nulas de un automóvil en n intentos• Número de ejemplares defectuosos en n muestras de una
cadena de producción• Y Métodos Conjuntos
11Copyright (c) 2018. Data Science Dojo
¿Por qué funciona?
∑=
− =−
25
13
25 06.0)1(25
i
ii
iεε
• Supongamos que hay 25 clasificadores (modelos construidos en un subconjunto de datos)
• Cada clasificador tiene un ratio de error, ε = 0.35 (nuestra p)
• Asumamos que cada clasificador es independiente• Probabilidad de que los clasificadores de conjunto den
una predicción errónea:
12Copyright (c) 2018. Data Science Dojo
Ejemplos de Métodos Conjuntos
Bagging• Todos los clasificadores se crean iguales
Boosting• No todos los clasificadores se crean iguales
13Copyright (c) 2018. Data Science Dojo
BAGGING
14Copyright (c) 2018. Data Science Dojo
Bagging
• Muestreo con reemplazamiento• Cada cesta presenta variaciones
del conjunto inicial de datos• Debido a esto surgirán distintos
árboles
Datos originales
Cesta 1 Cesta 2 Cesta 3
15Copyright (c) 2018. Data Science Dojo
Bagging
Datos originales
Cesta 1 Cesta 2 Cesta 3
* Cada bola es una observación en el conjunto de datos
16Copyright (c) 2018. Data Science Dojo
Árbol de decisión de bagging
Cesta 1 Cesta 2 Cesta 3
Conjunto de modelos combinados
DatosOriginales
• Crea proyección de conjunto de datos con muestreo con reemplazamiento
• Cada cesta es diferente de forma aleatoria, produciendo distintos árboles
• Construye un árbol de cada cesta
Bag 1
17Copyright (c) 2018. Data Science Dojo
Bagging
Original Data 1 2 3 4 5 6 7 8 9 10Bagging (Round 1) 7 8 10 8 2 5 10 10 5 9Bagging (Round 2) 1 4 9 1 2 3 2 7 3 2Bagging (Round 3) 1 8 5 10 5 5 9 6 3 7
• Muestreo con reemplazamiento
Cesta 1 (Modelo 1):{7, 8, 10, 2, 5, 9} OOB (De la cesta):{1, 3, 4, 6}Cesta 2 (Modelo 2): {1, 4, 9, 2, 3, 7} OOB: {5, 6, 8, 10}Cesta 3 (Modelo 3): {1, 8, 5, 10, 9, 6, 3, 7} OOB: {2, 4}
18Copyright (c) 2018. Data Science Dojo
Bagging
• Reduce la varianza estimada• Previene el sobreajuste• Robusto frente a valores atípicos
19Copyright (c) 2018. Data Science Dojo
RAMDOM FOREST
20Copyright (c) 2018. Data Science Dojo
¿Qué es un Ramdom Forest?
• Método de clasificación que se basa en muchos modelos de árbol de decisión
• Puede ser usado para clasificación o regresión
• Incorpora precisión e información de la importancia de la variable
21Copyright (c) 2018. Data Science Dojo
¿Cómo funcionan los Random Forests?
• Un subconjunto diferente de los datos de entrenamiento son seleccionados(~2/3), con reemplazamiento, para entrenar a cada árbol
• Los datos de entrenamiento restantes (también conocidos como datos out-of-bag o simplemente OOB) son usados para estimar el error y la importancia de las variables
• La clasificación se realiza por el número de votos de todos los árboles. Para la regresión se usa la media de los resultados.
22Copyright (c) 2018. Data Science Dojo
{Perímetro, Concavidad, Textura, Consistencia}
Perímetro Concavidad Textura Consistencia
Gini 1 Gini 2 Gini 3 Gini 4
Compara las figuras de Gini de cada reparto y elige las características que consiguen la mayor reducción en Gini. La característica que produzca la mayor
reducción en Gini es usada como punto de partida
23Copyright (c) 2018. Data Science Dojo
{Perímetro, Concavidad, Textura, Consistencia}
Perímetro
(Gini 1)
{Concavidad, Textura}
<114.6 ≥114.6
{Consistencia, área} Concavidad
BenignoMaligno
Textura {radio, suavidad}
{y así sucesivamente...}
(Gini 2) (Gini 3)
En cada nodo, tan solo se usa un subconjunto aleatorio de
características para comparar y
seleccionar cual de ellas emplear como
punto de partida
24Copyright (c) 2018. Data Science Dojo
BOOSTING
25Copyright (c) 2018. Data Science Dojo
Boosting
Conjuntos deentrenamiento
Clasificado correctamente
El caso de entrenamientotiene un peso importanteen esta ronda
Este árbol de decisión tiene unvoto importante
Rondas de boosting
26Copyright (c) 2018. Data Science Dojo
Boosting
• Un proceso iterativo para cambiar la distribución de los datos de entrenamiento de forma adaptativa centrándose más en los registros erróneamente clasificados con anterioridad
• Inicialmente, se asigna la misma ponderación a todos N registros
• A diferencia de en el bagging, las ponderaciones pueden cambiar al final de la ronda de boosting
27Copyright (c) 2018. Data Science Dojo
Boosting
Original Data 1 2 3 4 5 6 7 8 9 10Boosting (Round 1) 7 3 2 8 7 9 4 10 6 3Boosting (Round 2) 5 4 9 4 2 5 1 7 4 2Boosting (Round 3) 4 4 8 10 4 5 4 6 3 4
• Los registros que han sido clasificados erróneamente verán incrementadas sus ponderaciones
• Los registros que han sido clasificados correctamente verán disminuidas sus ponderaciones
• El ejemplo 4 es difícil de clasificar• Su ponderación se ve incrementada, y por consiguiente, es más probable que sea elegida de nuevo en las rondas subsiguientes
28Copyright (c) 2018. Data Science Dojo
Conclusiones del Boosting
• Adaptativamente ponderamos cada grupo de datos.• Los grupos de datos que están mal clasificados
obtienen mayores ponderaciones (el algoritmo se va a centrar en ellos).
• Cada ronda de boosting aprende un nuevo (simple) clasificador en el conjunto de datos ponderado.
• Estos clasificadores son ponderados para combinarlos en un único y poderoso clasificador.
• Los clasificadores que obtienen un bajo ratio de error de entrenamiento tiene una alta ponderación.
• Paramos monitoreando un conjunto de retención.
29Copyright (c) 2018. Data Science Dojo
ADABOOST
30Copyright (c) 2018. Data Science Dojo
AdaBoost (Boosting Adaptativo)
• Clasificadores de base: C1, C2, …, CT
• Ratio de error [Función de weighted loss]:
• Importancia de un clasificador:
( )∑=
≠=N
jjjiji yxCw
N 1)(1 δε
−=
i
ii ε
εα 1ln21
31Copyright (c) 2018. Data Science Dojo
AdaBoost
n factorrmalizatio is the no where Z
yxCyxC
Zww
j
iij
iij
j
jij
i j
j
)( ifexp)( ifexp)(
)1(
≠=
=−
+α
α• Actualizaciónde la ponderación:
• Si cualquier ronda intermedia produce un ratio de error superior al 50% las ponderaciones son devueltas a 1/n y el muestreo se repite
• Clasificación: ( )∑=
==T
jjj
yyxCxC
1)(maxarg)(* δα
32Copyright (c) 2018. Data Science Dojo
Errores frecuentes
Un bosque aleatorio y un árbol de decisión mejorado no son lo mismo
33Copyright (c) 2018. Data Science Dojo
¿Alguna pregunta?
33Copyright (c) 2018. Data Science Dojo
34Copyright (c) 2018. Data Science Dojo
Fundamentos del Análisis de Textos
35Copyright (c) 2018. Data Science Dojo
Datos estructurados vs datos desestructurados
• Estructurados – Datos tabulares• Semi-estructurados – Datos no tabulares con
algunos metadatos• Ej.: JSON, XML
• Desestructurados – Datos no tabulares sin metadatos
Copyright (c) 2018. Data Science Dojo
36Copyright (c) 2018. Data Science Dojo
Estructurados – datos tabulares
Copyright (c) 2018. Data Science Dojo
37Copyright (c) 2018. Data Science Dojo
Datos semiestructurados
Copyright (c) 2018. Data Science Dojo
38Copyright (c) 2018. Data Science Dojo
Datos desestructurados
Copyright (c) 2018. Data Science Dojo
39Copyright (c) 2018. Data Science Dojo
Análisis de Textos en los Negocios
39
▪ Búsqueda de información (IR) ▪ Encontrar los datos que coinciden con la consulta
▪ Análisis de sentimiento▪ Determina el “sentimiento general" de un documento
basándose en ciertas palabras/términos que aparecen en él▪ Motores de recomendación (Semejanza)
▪ Recomienda entidades basadas en determinados atributos▪ Modelado de temas
▪ Reduce el documento a temas concretos
Copyright (c) 2018. Data Science Dojo
40Copyright (c) 2018. Data Science Dojo
Búsqueda de información
40Copyright (c) 2018. Data Science Dojo
41Copyright (c) 2018. Data Science Dojo
Análisis de Sentimiento
41Copyright (c) 2018. Data Science Dojo
42Copyright (c) 2018. Data Science Dojo
Análisis de Sentimiento
42Copyright (c) 2018. Data Science Dojo
44Copyright (c) 2018. Data Science Dojo
Motores de Recomendación
“Asociado” aparece en todas las publicaciones y comparte palabras que pueden estar relacionadas con (“capital privado,” “inversión,” “valoraciones,” “MBA,” “Capital,” etc.)
Copyright (c) 2018. Data Science Dojo
45Copyright (c) 2018. Data Science Dojo
Modelado de temas
Copyright (c) 2018. Data Science Dojo
46Copyright (c) 2018. Data Science Dojo
Fundamentos del análisis de texto
• Token: Una palabra específica en un texto• Término: La versión de un conjunto de palabras que
está en el diccionario• Corpus: Todos los documentos
Copyright (c) 2018. Data Science Dojo
47Copyright (c) 2018. Data Science Dojo
Fundamentos del análisis de textos
• ¿Cómo convertir datos desestructurados en datos estructurados?
• Crear columnas basadas en el contenido del documento
• Cada término en el documento crea una columna• Tipos de columnas: binarias, de cuenta de palabras, TF-IDF
• ¿Quieres contar cada palabra?• Palabras vacías• Tematización y lematización
Copyright (c) 2018. Data Science Dojo
48Copyright (c) 2018. Data Science Dojo
Término – Ejemplos de diccionario
Crear diccionario
Eliminar palabras vacías, puntuación, etc
Preprocesamiento
Minúsculas
Datos de texto desestructurados
tematización
término
robo-adviser
ventaja
golpear
mercado
crear
bono
emoción
cliente
token
robo-adviser
ventaja
golpeando
mercado
creando
bono
emocional
clientes
DiccionarioDocumento
Copyright (c) 2018. Data Science Dojo
49Copyright (c) 2018. Data Science Dojo
Tematización & Lematización
• Tematización: convierte tokens en términos eliminando letras mediante heurística• Tanto simple (Levins) como compleja (Porter)
• Lematización: clasifica tokens como términos usando análisis lingüístico• Lema: la forma base de una palabra (dictionary) • Puede ser realizado empleando la búsqueda en el
diccionario, machine learning en un corpus anotado
Copyright (c) 2018. Data Science Dojo
50Copyright (c) 2018. Data Science Dojo
Tematización / Ejemplo de lematización
Token Término tematizado Término lematizado
La tematización es más divertida que la lematización dicen los científicos de datos a los que les gusta Barcelona
Tema es más divertido que lemas dicen los científicos de datos a los que les gusta Barcelona
Tema ser divertido que lematización dice el científico de dato gusta Barcelona
Copyright (c) 2018. Data Science Dojo
51Copyright (c) 2018. Data Science Dojo
Vectorización de documentos
equipo
entrenador
jugar
pelota
marcar
juego
ganar
derrota
descanso
temporada
d1 3 0 5 0 2 6 0 2 0 2
d2 0 7 0 2 1 0 0 3 0 0
d3 0 1 0 0 1 2 2 0 3 0
Documentosdel 1 al 3
Términos en los documentos términoequipo
entrenador
jugar
pelota
marcar
juego
ganar
derrota
descanso
temporada
diccionario
Copyright (c) 2018. Data Science Dojo
52Copyright (c) 2018. Data Science Dojo
equipo entrenador jugar pelota marcar juego ganar derrota descanso temporada
d1 3 0 5 0 2 6 0 2 0 2
d2 0 7 0 2 1 0 0 3 0 0
d3 0 1 0 0 1 2 2 0 3 0
Vectorización de documentos
• Cada documento se convierte en un vector• Permite el uso del análisis numérico
Copyright (c) 2018. Data Science Dojo
53Copyright (c) 2018. Data Science Dojo
0
7
0
2
4
5
7
9
0 1 2 3 4
coac
h
team
La distancia entre documentos se calcula como:
Medición de la semejanza de documentos
Copyright (c) 2018. Data Science Dojo
54Copyright (c) 2018. Data Science Dojo
Vectorización de documentos binarios
54
▪ Cada documento tiene un 1 si la palabra aparece en él y 0 si no
equipo entrenador
jugar pelota marcar juego ganar derrota descanso
temporada
d1 1 0 1 0 1 1 0 1 0 1
d2 0 1 0 1 1 0 0 1 0 0
d3 0 1 0 0 1 1 1 0 1 0
Copyright (c) 2018. Data Science Dojo
55Copyright (c) 2018. Data Science Dojo
Inconvenientes de la vectorización
55
▪Cada palabra no tiene la misma importancia
▪Los documentos más largos tienen mayor probabilidad de tener palabras aleatorias poco importantes
Copyright (c) 2018. Data Science Dojo
56Copyright (c) 2018. Data Science Dojo
Frecuencia de los términos – Frecuencia inversa de documento FT- FID
56
• Calcula la importancia de un término basado en las veces que aparece en un documento dado
• Pero equilibrado por su prevalencia en otros sitios del conjunto de documentos
• Cuanto más frecuentemente aparece en un documento en concreto, más importante es
• Apariciones frecuentes en otros documentos reduce su importancia
Copyright (c) 2018. Data Science Dojo
57Copyright (c) 2018. Data Science Dojo
Frecuencia del término (FT)
57
▪Mide con que frecuencia aparece un término (densidad en un documento) en un documento dado• Asume que los términos importantes aparecen
más a menudo• Normalizado para tener en cuenta la extensión del
documento
Copyright (c) 2018. Data Science Dojo
58Copyright (c) 2018. Data Science Dojo
Frecuencia del término (FT)
58Copyright (c) 2018. Data Science Dojo
59Copyright (c) 2018. Data Science Dojo
Frecuencia del término (FT)
59Copyright (c) 2018. Data Science Dojo
60Copyright (c) 2018. Data Science Dojo
Frecuencia inversa del término (FIT)
60
▪Busca reducir el peso de términos que aparecen en muchos otros documentos
▪Asume que los temas que aparecen en muchos documentos son menos distintivos
Copyright (c) 2018. Data Science Dojo
61Copyright (c) 2018. Data Science Dojo
Frecuencia inversa del término (FIT)
61Copyright (c) 2018. Data Science Dojo
62Copyright (c) 2018. Data Science Dojo
Ejemplo de FIT
62
• Para 1.000 documentos dados (tales como tweets, artículos, etc.)
• El término “café” aparece en 10 de cada 1000 documentos
• El término “taza” aparece en los 1000 documentos
FIT (café) = log 1000/10 = log 100 = 2
FIT (taza) = log 1000/1000 = log 1 = 0
Copyright (c) 2018. Data Science Dojo
63Copyright (c) 2018. Data Science Dojo
Calculo del FT- FIT
63
▪Calcula la importancia global de las palabras clave• Dada una palabra clave t en un documento d
TF-IDF (t,d) = TF(t,d) * IDF(t)
Copyright (c) 2018. Data Science Dojo
64Copyright (c) 2018. Data Science Dojo
Ejercicio de FT- FIT
Diccionario:• {reumatoide, artritis, factor, izquierda, derecha, codo, mano, cadera, muñeca}
Consulta:• Artritis mano izquierda
D1 Artritis reumatoide con factor reumatoide del codo izquierdoD2 Artritis reumatoide con factor reumatoide de la mano izquierdaD3 Artritis reumatoide con factor reumatoide de la cadera izquierdaD4 Artritis reumatoide con factor reumatoide de la muñeca izquierdaD5 Artritis reumatoide con factor reumatoide de la mano derecha
Documentos:
Copyright (c) 2018. Data Science Dojo
65Copyright (c) 2018. Data Science Dojo
Creando la Matriz de FT: Paso 1
Reumatoide Artritis Factor Izquierda Derecha Codo Mano Cadera Muñeca
D1 2 1 1 1 0 1 0 0 0
D2 2 1 1 1 0 0 1 0 0
D3 2 1 1 1 0 0 0 1 0
D4 2 1 1 1 0 0 0 0 1
D5 2 1 1 0 1 0 1 0 0
Paso 1: cuenta la frecuencia de palabras por documento.
Copyright (c) 2018. Data Science Dojo 65
66Copyright (c) 2018. Data Science Dojo
Creando la Matriz de FT: Paso 2
Reumatoide Artritis Factor Izquierda Derecha Codo Mano Cadera Muñeca
D1 2 / 2 1 / 2 1 / 2 1 / 2 0 / 2 1 / 2 0 / 2 0 / 2 0 / 2
D2 2 / 2 1 / 2 1 / 2 1 / 2 0 / 2 0 / 2 1 / 2 0 / 2 0 / 2
D3 2 / 2 1 / 2 1 / 2 1 / 2 0 / 2 0 / 2 0 / 2 1 / 2 0 / 2
D4 2 / 2 1 / 2 1 / 2 1 / 2 0 / 2 0 / 2 0 / 2 0 / 2 1 / 2
D5 2 / 2 1 / 2 1 / 2 0 / 2 1 / 2 0 / 2 1 / 2 0 / 2 0 / 2
Copyright (c) 2018. Data Science Dojo
67Copyright (c) 2018. Data Science Dojo
Creando el Vector de FID
Matriz FT Vector de FID
Reumatoide Artritis Factor Izquierda Derecha Codo Mano Cadera Muñeca
D1 1 0.5 0.5 0.5 0 0.5 0 0 0
D2 1 0.5 0.5 0.5 0 0 0.5 0 0
D3 1 0.5 0.5 0.5 0 0 0 0.5 0
D4 1 0.5 0.5 0.5 0 0 0 0 0.5
D5 1 0.5 0.5 0 0.5 0 0.5 0 0
Palabra FID
Reumatoide = log (5/5)
Artritis = log (5/5)
Factor = log (5/5)
Izquierda = log (5/4)
Derecha = log (5/1)
Codo = log (5/1)
Mano = log (5/2)
Cadera = log (5/1)
Muñeca = log (5/1)
Copyright (c) 2018. Data Science Dojo
68Copyright (c) 2018. Data Science Dojo
FT- Matriz de FID
Realizamos los cálculo de FT-FID multiplicando FT por FID
Reumatoide Artritis Factor Izquierda Derecha Codo Mano Cadera Muñeca
D1 1 * log(5/5) 0.5 * log(5/5) 0.5 * log(5/4) 0.5 * log(5/4) 0 * log(5/1) 0.5 * log(5/1) 0 * log(5/2) 0 * log(5/1) 0 * log(5/1)
D2 1 * log(5/5) 0.5 * log(5/5) 0.5 * log(5/4) 0.5 * log(5/4) 0 * log(5/1) 0 * log(5/1) 0.5 * log(5/2) 0 * log(5/1) 0 * log(5/1)
D3 1 * log(5/5) 0.5 * log(5/5) 0.5 * log(5/4) 0.5 * log(5/4) 0 * log(5/1) 0 * log(5/1) 0 * log(5/2) 0.5 * log(5/1) 0 * log(5/1)
D4 1 * log(5/5) 0.5 * log(5/5) 0.5 * log(5/4) 0.5 * log(5/4) 0 * log(5/1) 0 * log(5/1) 0 * log(5/2) 0 * log(5/1) 0.5 * log(5/1)
D5 1 * log(5/5) 0.5 * log(5/5) 0.5 * log(5/4) 0.0 * log(5/4) 0.5 * log(5/1) 0 * log(5/1) 0.5 *
log(5/2) 0 * log(5/1) 0 * log(5/1)
Copyright (c) 2018. Data Science Dojo
69Copyright (c) 2018. Data Science Dojo
FT-FID Ejemplo de Búsqueda
• El usuario busca en su conjunto de documentos• Consulta: “Artritis mano izquierda"• Calcular FT-FID de la consulta
Reumatoide Artritis Factor Izquierda Derecha Codo Mano Cadera Muñeca
Q 0 1/1 * log(5/5) 0 1/1 *
log(5/4) 0 0 1/1 * log(5/2) 0 0
Palabra FID
Reumatoide = log (5/5)Artritis = log (5/5)Factor = log (5/4)
Izquierda = log (5/4)Derecha = log (5/1)
Codo = log (5/1)Mano = log (5/2)
Cadera = log (5/1)Muñeca = log (5/1)
Reumatoide Artritis Factor Izquierda Derecha Codo Mano Cadera Muñeca
Q 0.00 0.00 0.00 0.10 0.00 0.00 0.40 0.00 0.00
Copyright (c) 2018. Data Science Dojo
70Copyright (c) 2018. Data Science Dojo
FT-FID Ejemplo de Búsqueda
Documento Reumatoide Artritis Factor Izquierda Derecha Codo Mano Cadera Muñeca
D1 0.00 0.00 0.05 0.05 0.00 0.35 0.00 0.00 0.00
Documento Reumatoide Artritis Factor Izquierda Derecha Codo Mano Cadera Muñeca
Q 0.00 0.00 0.00 0.10 0.00 0.00 0.40 0.00 0.00
0*0 + 0*0 + 0.05*0 + 0.05*0.1 + 0*0 + 0.35*0 + 0*0.4 + 0*0 + 0*0
SQRT(0.05^2) * SQRT(0.1^2 + 0.4^2)= 0.24Cos(D1,Q) =
Copyright (c) 2018. Data Science Dojo
71Copyright (c) 2018. Data Science Dojo
Lista final solicitada
Documento cos(D,Q) Texto
D2 1.000 Artritis reumatoide con factor reumatoide de mano izquierda
D5 0.972 Artritis reumatoide con factor reumatoide de mano derecha
D1 0.237 Artritis reumatoide con factor reumatoide de codo izquierdo
D3 0.237 Artritis reumatoide con factor reumatoide de cadera izquierda
D4 0.237 Artritis reumatoide con factor reumatoide de muñeca izquierda
Consulta: "Artritis Mano izquierda"
Copyright (c) 2018. Data Science Dojo
72Copyright (c) 2018. Data Science Dojo
N-grams
• Nuestras representaciones hasta el momento han sido términos únicos, conocidos como unigrams o 1-grams.
• También hay bigrams, trigrams, 4-grams, 5-grams, etc.
• N-grams nos permiten ampliar los modelos de cestas de palabras para incluir la clasificación de palabras
Copyright (c) 2018. Data Science Dojo
73Copyright (c) 2018. Data Science Dojo
N-grams
• Tomar el documento de muestra:• “Si se ve como un pato, nada como un pato, cuacua como un pato, entonces
probablemente es un pato.”
• Una fuente de información de preprocesado estándar (eliminación de palabras vacías, tematización, etc.) transformaría la frase anterior en algo como:• “Se ve como un pato nada como un pato cuacua como un pato probablemente
pato”
• Que podemos representar como una matriz de frecuencia terminó-documento:
ve como pato nada cuacua probablemente
1 3 4 1 1 1
Copyright (c) 2018. Data Science Dojo
74Copyright (c) 2018. Data Science Dojo
Bigrams
• Una vez dado el documento procesado,
“Se ve como un pato nada como un pato hace cuacua como un pato probablemente pato”
Los bigrams para los datos procesados serían:
NOTA – ¡Acabamos de más de duplicar el tamaño total de nuestra matriz!
Ve_parece Como_pato Pato_nada Nada_como Pato_cuacua cuacua_como Pato_probablemente Probablemente_pato
1 3 1 1 1 1 1 1
Copyright (c) 2018. Data Science Dojo
75Copyright (c) 2018. Data Science Dojo
PREGUNTAS
75Copyright (c) 2018. Data Science Dojo
76Copyright (c) 2018. Data Science Dojo
Experimentación Online y A/B Testing
Agenda
• Introducción• Qué es el A/B testing?• Algunos A/B tests interesantes
• Fundamentos• Terminología. • Testeo de hipótesis• Métricas para A/B testing• Pasos en la Experimentación
Copyright (c) 2018. Data Science Dojo 77
INTRODUCCIÓN
Copyright (c) 2018. Data Science Dojo 78
Creemos en Dios. Cualquier otro que venga con datos. W. E. Deming
Copyright (c) 2018. Data Science Dojo 79
¿Qué es el A/B Testing?
Copyright (c) 2018. Data Science Dojo 80
¿Qué es el A/B Testing?
R
Copyright (c) 2018. Data Science Dojo 81
¿Qué es el A/B Testing?
• Cambiar el color de un icono me daría:• Mayor CTR• Menor bounce rate• Mayores ingresos por usuario
Copyright (c) 2018. Data Science Dojo 82
Campaña de Obama 2012
Copyright (c) 2018. Data Science Dojo 83
Campaña de Obama 2012
Fuente: http://www.nathanielward.net/2011/06/see-ab-testing-in-action-on-barack-obamas-reelection-website/
Maximización de las inscripciones y donaciones
Copyright (c) 2018. Data Science Dojo 84
A/B Testing en las noticias y el e-mail
Realizar tests en muchos aspectos
Asuntos del correoDe nombresEnviar fechasEnviar hora
Copyright (c) 2018. Data Science Dojo 85
Probando el botón de llamada a la acción
¿Qué botón aumentó el número de clics?
Version A Version B
Copyright (c) 2018. Data Science Dojo 86
Probando el botón de llamada a la acción
Version A Version B
El botón rojo incremento los clics un 21%Copyright (c) 2018. Data Science Dojo 87
¿Jocelyn o Michael?
Ratio de conversión: ¿Quién proporciona un mejor ratio de conversión?
Copyright (c) 2018. Data Science Dojo 88
¿Jocelyn o Michael?
Michael incrementó las conversiones un 21%
Copyright (c) 2018. Data Science Dojo 89
CALIFORNIA CLOSET
Versión A Versión B
¿Qué versión incrementó los leads un 115%
Copyright (c) 2018. Data Science Dojo 90
La versión A incrementó los leads un 115%.!Esta es la razón de que debas testearlos…!
CALIFORNIA CLOSET
Version A Version B
Copyright (c) 2018. Data Science Dojo 91
Registro de donantes de órganos
Número de personas que aceptaron recibir información sobre donación de órganos
Copyright (c) 2018. Data Science Dojo 92
¿Qué versión incrementó el registro un 50%?
Versión A Versión B
Registro de donantes de órganos
Número de personas que aceptaron recibir información sobre donación de órganos
Copyright (c) 2018. Data Science Dojo 93
La Versión B incrementó los registros un 50%¡Cada donante adicional puede salvar hasta 9 vidas!
Version A Version B
A/B Testing en Webs de Servicios Sanitarios
¿Qué foto incrementó los intentos de reserva?
A B
No hay diferencia estadística en la reserva de citas con la médico
FUNDAMENTOS
Copyright (c) 2018. Data Science Dojo 96
Problema Objetivo del A/B testing• Conoce lo que los usuarios
desean subconscientemente o de lo contrario
• Ayuda a equivocarse rápido y seguir adelante
• Los usuarios son complejos y nuestra intuición a veces está equivocada
• Extender una característica al mismo tiempo a todos los usuarios es peligrosa
¿Por qué usamos el A/B Testing?
Siempre se espera que el impacto sea positivo, pero el resultado habitualmente enseña humildad
Copyright (c) 2018. Data Science Dojo 97
Multi-Variate Testing
Copyright (c) 2018. Data Science Dojo 98
A/B Testing vs Multivariate Testing
A/B Testing Multivariate Testing
Uso habitual Comparación de dos diseños muy distintos entre sí
Numerosas pequeñas variaciones salen a debate Dos colores para los botones con tres
encabezados diferentes
También llamado full factorial testing
Ventajas Sencillo en el diseño Una muestra pequeña puede
ser suficiente
Muchas posibles combinacionesempleadas en una sola vez
Limitaciones Usar tan solo una alternativa
Muestra de tamaño mayor Compleja Necesita una mejor compresión de las
interacciones
Copyright (c) 2018. Data Science Dojo 99
Estabilidad de los medicamentos/Test de seguridad
Los investigadores de fármacos experimentan distintas variantes de un medicamento en animales antes de que la medicación se haya aprobado para uso clínico en humanos
100Copyright (c) 2018. Data Science Dojo
20 mg 25 mg 29 mg 40 mg
Medicina para la pirosis y el reflujo gástrico (Nexium)
Los sujetos tratados con una dosis mayor (40 mg) tuvieron significativamente menor erosión en el esófago (reducción en el reflujo gástrico)
TERMINOLOGÍA
Copyright (c) 2018. Data Science Dojo 101
Control y tratamiento
ControlExperiencia por defecto, tal y como están las cosas en la actualidad IlustraciónEjemplo: apariencia actual y sensación del botón de “Comprar Ahora”
Ejemplo: Cambio en el botón de verde a azul
TratamientoEl cambio que queremos realizar
Copyright (c) 2018. Data Science Dojo 102
Métricas usadas para el A/B Testing
Motores de búsquedaConsultas/UU, Duración de la sesión, Sesiones/UU, Visitas a la página, Bounce rate
Distribuidores minoristas onlineRatio de conversión, ingresos/UU, valor medio de la cartera y en adelante
Otras páginas webCTR, inscribirse para recibir noticias
Cada negocio es diferente
Copyright (c) 2018. Data Science Dojo 103
Hipótesis Nula vs Alternativa
• Hipótesis Nula (Ho)• El tratamiento y control son similares (en términos del
parámetro que estamos estimando)
• Hipótesis Alternativa(Ha)• El tratamiento es distinto del control
Copyright (c) 2018. Data Science Dojo 104
Hipótesis Nula vs Alternativa
• Hipótesis Nula(Ho)• Los botones verde y azul tienen la misma CTR
• Hipótesis Alternativa(Ha) • Cada botón tiene una CTR distinta
Control Tratamiento
Copyright (c) 2018. Data Science Dojo 105
Error de Tipo I y Tipo II
Error de Tipo I:Probabilidad de rechazar equivocadamente una hipótesis nula
Error de Tipo II:Probabilidad de aceptar equivocadamente una hipótesis nula
Verdad terreno
Resu
ltado
del
exp
erim
ento
Error de Tipo I
Decisión correcta
Decisión correcta
Error de Tipo II
Rech
azar
Ho
No
rech
azar
Ho
Ho es cierto Ho es falso
Copyright (c) 2018. Data Science Dojo 106
PUEDES DECIRMELO DE FORMA MÁS SENCILLA
107
El Cocinero y el Detector de Humo
• Hipótesis nula (Ho): No hay fuego• Hipótesis alternativa(Ha): Hay fuego
Copyright (c) 2018. Data Science Dojo 108
El Cocinero y el Detector de Humo
• Error de Tipo 1: No hay fuego pero el detector de humo salta.• El cocinero retira la alarma para prevenir errores de tipo I• Esto incrementa las probabilidades de Error de Tipo 2 (ej.,
fuego sin que salte la alarma)
Copyright (c) 2018. Data Science Dojo 109
El niño que gritó lobo
• Hipótesis nula (Ho): No hay un lobo• Hipótesis alternativa (Ha): Hay un lobo
Copyright (c) 2018. Data Science Dojo 110
El niño que gritó lobo
• Error de Tipo I: los aldeanos creen al niño cuando no hay lobo
• Error de Tipo 2: los aldeanos no creen al niño cuando realmente hay un lobo
Copyright (c) 2018. Data Science Dojo 111
Intervalo de confianza
Problema: En una escala de 5 puntos, un producto tiene rating de 4.32 y una desviación estándar de 0.845 basado en 62 ratings. ¿Cuál es el intervalo de confianza al 95%?
MediaDesviación estándar
Tamaño de la muestraValor crítico
Intervalo de confianza al 95% = �𝑋𝑋 ± 2.0 𝜎𝜎𝑛𝑛
Copyright (c) 2018. Data Science Dojo 112
Intervalo de confianza
Media �𝑋𝑋 = 4.32Desviación estándar 𝜎𝜎 = 0.845
Error estándar (ES) = 𝜎𝜎𝑛𝑛
= 0.845𝑛𝑛
= 0.84562
= 0.11
El margen de error es 2.0 x 0.11 = 0.22El intervalo de confianza es:
4.32 – 0.22 = 4.10 4.32 + 0.22 = 4.54 Conclusión – Estamos un 95%
seguros de que 4.10 and 4.54.
Copyright (c) 2018. Data Science Dojo 113
Conclusiones sobre el Intervalo de confianza
𝜇𝜇 = 4.4
Pongamos por ejemplo que sabemos a ciencia cierta que la valoración media de todos los usuarios es 4,4
A esto se le conoce como la media poblacional y se representa como 𝜇𝜇
Asimismo, decidimos tomar 20 muestras aleatorias de valoraciones de clientes de la población (ej., todas las valoraciones)
Si calculamos el intervalo con un 95%de confianza para las 20 muestras sabemos que, típicamente, 19 de ellas van a contener 𝜇𝜇
Copyright (c) 2018. Data Science Dojo 114
Calculando el intervalo de confianza
Distribuciónnormal
Distribución t de los estudiantes
¡Nuestro ejemplo!
Copyright (c) 2018. Data Science Dojo 115
A/A Test
• Comparando la misma experiencia en diferentes grupos aleatorios de usuarios
• Usado para validación de la puesta en marcha
Control Tratamiento
Copyright (c) 2018. Data Science Dojo 116
Pasos en la experimentación
Planificación•Elegir factores, niveles, tamañomuestral
•Pregunta de negocio a resolver•Métricas y resultado esperado•¿Quien está en el experimento?
Coding y Logging•Puesta en marcha del test y de la instrumentación
A/A Test•Para asegurarse que la puesta en marcha es correcta.
A/B y/o test multivariable
Análisis e interpretación•A veces puede ser un arte•Efecto novedad•Estacionalidad, segmentos etc
Tomar una decisión•Enviar o no enviar
Copyright (c) 2018. Data Science Dojo 117
Categorías de métricas
Corto plazo Medio plazo Largo plazo
Ejemplos CTR PVs Bounce Rate
PVs/usuario/día CTR/usuario/día Duración media de
la sesión
Días con al menos una visita: Tiempo total en la
web Repetir
usuarios/visitas
¿Qué se mide? Impacto inmediato o casi inmediato
Interacciones en horas a lo largo de un día Fidelidad
Copyright (c) 2018. Data Science Dojo 118
Errores en la Experimentación Online
1.Tomar un criterio de general de valoración (CGV) con el cual es fácil pasar el control
2.Computar incorrectamente los intervalos de confianza3.Usar fórmulas estadísticas estándar para el calculo de la varianza y el
poder estadístico4.Combinar métricas a lo largo de periodos donde las proporciones
asignadas a Control y Tratamiento varían entre subpoblaciones en las que se ha hecho un muestreo con distintos ratios
5.Descuidar el filtrado de bots6.No validar cada paso del análisis de la fuente de información y los
componentes de los CGVs7.Olvidarse de chequear todas las diferencias y asumir que las personas
puedo mantener las variaciones sincronizadas
Copyright (c) 2018. Data Science Dojo 119
Herramientas de A/B Testing
Copyright (c) 2018. Data Science Dojo 120
¿Alguna pregunta?
Copyright (c) 2018. Data Science Dojo 121
HUMOR
122
¿Has escuchado la última broma de estadística?
Probablemente....
Copyright (c) 2018. Data Science Dojo 123
¿Cuántos estadísticos se necesitan para cambiar una bombilla?
1 – 3. α=0.05 (.95 de confianza)
Copyright (c) 2018. Data Science Dojo 124
¿Cómo se la llama a una tea party con más de 30 estadísticos?
Una z-party
Copyright (c) 2018. Data Science Dojo 125
¿Has oído hablar de estadístico que fue enviado a prisión?
Ahora tiene 0 grados de libertad.
Copyright (c) 2018. Data Science Dojo 126
Tres estadísticos fueron a cazar juntos. Después de un rato localizaron a un conejo solitario.
El primer estadístico apunta si se pasa. El segundo hace lo mismo y se queda corto.
El tercero grita “¡Lo tenemos!"
Copyright (c) 2018. Data Science Dojo 127
La esposa de un estadístico tiene gemelos. Él, encantado, llama al párroco para contarle las buenas noticias.
“¡Estupendo!", dice el párroco. “Tráigalos a la iglesia el domingo y los bautizaremos.“
"No," respondió el estadístico. “Bauticemos tan solo a uno. Conservaremos al otro como control."
Copyright (c) 2018. Data Science Dojo 128
¿Es una medicación eficiente?
PLACEBO Medicamento
El A/B testing se aplica, frecuentemente, para medir la eficacia de un medicamento encomparación con un placebo, para así contrastar el efecto del placebo de control frente al medicamento.
CONTROL MEDICAMENTO
Ejemplos:
Betabloqueador Presión Sanguínea Pólipos: estudiaremos el caso más en profundidad
Copyright (c) 2018. Data Science Dojo 129
El Conjunto de datos de Pólipos(1/3)
Datos de una prueba con placebo/control de un medicamento antiinflamatorio no esteroideo en el tratamiento del pólipo adenomatoso común (PAC)
La prueba fue interrumpida después de que el análisis parcial previsto, hubiese sugerido evidencias irrefutables a favor del tratamiento
number treat age63 placebo 202 drug 16
28 placebo 1817 drug 2261 placebo 131 drug 237 placebo 34
15 placebo 5044 placebo 1925 drug 173 drug 23
28 placebo 2210 placebo 3040 placebo 2733 drug 2346 placebo 2250 placebo 343 drug 23
Extracto de la base de datos
En este caso estábamos interesados en evaluar si el número de pólipos en 12 meses está relacionado con la el tratamiento y la edad del paciente
Copyright (c) 2018. Data Science Dojo 130
La Base de Datos de Pólipos(2/3)
Edad
#pól
ipos
#pólipos de acuerdo a la edad para cada tratamiento
Copyright (c) 2018. Data Science Dojo 131
## cargar los datos de los pólipospolyps <- read.csv("polyps.csv")
## convertir los pólipos en un factorpolyps$treat <- as.factor(polyps$treat)
## creando el boxplotboxplot(polyps$number ~ polyps$treat,main="Number of polypses for each treatment", xlab="treatment",ylab="number of polypses")
## creando el diagrama de dispersión entre número y edadplot(number ~ age, data=polyps, pch=as.numeric(polyps$treat),col=c(3,4))legend(40,40, legend=levels(polyps$treat),pch=1:2,col=c(3,4),bty="n")
La Base de Datos de Pólipos(3/3)
nb_polyps_placebo [1] 35.63636
¿Qué tratamiento es más eficaz?
Media de número de pólipos por individuo
Welch Two Sample t-test * *empleado para evaluar la hipótesis de si 2 poblaciones tienen medias iguales
Copyright (c) 2018. Data Science Dojo 132
polyps_drug <- polyps[polyps$treat=="drug",]polyps_placebo <- polyps[polyps$treat=="placebo",]## calculando el número de variablesnb_polyps_placebo = mto assess ean(polyps_placebo$number)## usando el t-test para determinar si el número de pólipos de colón está relacionado con la edad y el tratamiento del paciente.t.test(polyps_drug$number,polyps_placebo$number,alternative="two.sided",conf.level=0.95)
Sistemas de Recomendación
Resumen• Introducción
• Cooperativo vs basado en contenidos• ¿Cómo funcionan?
• Ranking por semejanza• Predicciones• Evaluación
• Ventajas/Desventajas• Ejemplo usando Azure ML
Copyright (c) 2018. Data Science Dojo 134
INTRODUCCIÓN
Copyright (c) 2018. Data Science Dojo 135
Sistemas de Recomendación• Sistemas automatizados para filtrar y recomendar
elementos (productos, anuncios, personas) basados en los intereses y gustos de usuarios.
• Diseñado para solucionar el problema de exceso de información
Copyright (c) 2018. Data Science Dojo 136
¿Por qué usar los Sistemas de Recomendación?
• Para consumidores• Reducir el conjunto de posibilidades• Descubrir aspectos nuevos e interesantes• Ahorrar tiempo
• Para negocios• Incrementar el número de unidades vendidas• Vender bienes más variados• Entender mejor lo que el usuario quiere
Copyright (c) 2018. Data Science Dojo 137
Recomendadores cooperativos vs. basados en contenidos
Recomendadorcooperativo
Bien Valor
i1 0.6
i2 0.8
i3 0.3Recomendaciones
Usuarios
ArtículosRecomendador basado
en contenidos
Valoraciones
Características(Perfiles)
Copyright (c) 2018. Data Science Dojo 138
Recomendadores cooperativos vs. basados en contenidos
139Copyright (c) 2018. Data Science Dojo
Cooperativo• “Dame artículos que le gustan a
la gente como yo”• Usuarios, Artículos, &
ValoracionesUsar las Valoraciones de Usuarios
similares para recomendar Artículos no visto con anterioridad
Basado en contenido• “Dame artículos similares a los que
me gustan”• Usuarios & Perfiles de artículosUsar el cruce entre las
características del Usuario y las del Artículo para recomendar productos no vistos anteriormente
Ejemplo: Netflix
Copyright (c) 2018. Data Science Dojo 140
Ejemplo: Redes sociales y Búsqueda
Copyright (c) 2018. Data Science Dojo 141
Ejemplo: Pandora
Copyright (c) 2018. Data Science Dojo 142
Ejemplo: Amazon
Copyright (c) 2018. Data Science Dojo 143
Estructura de Datos
• ¿Qué clases de datos?• Cooperativo
• Valoraciones de Artículos por Usuarios• Basados en contenidos
• Perfiles característicos de Usuarios y Artículos
Copyright (c) 2018. Data Science Dojo 144
Estructura de datos - Cooperativa
Alice
Bob
Chris
Donna
5 3 4 4 ?
3 1 2 3 3
4 3 4 3 5
3 3 1 5 4
1 5 5 2 1Evi
Copyright (c) 2018. Data Science Dojo 145
Estructura de datos – basada en contenidos
Artículo/Usuario ¿Drama? ¿Comedia? ¿Aventura? ¿Romance?
The Godfather 5 1 2 1
Titanic 4 3 2 5
Lord of the Rings 4 2 5 1
Dumb & Dumber 1 5 2 2
Spirited Away 5 3 5 2
Alice 5 4 1 4
Bob 3 1 1 1
Chris 4 2 5 2
Copyright (c) 2018. Data Science Dojo 146
Basado en contenidos: Perfiles de usuario
• Proporcionados por el usuario• Pregunta por preferencias• Necesita cuentas• Generalmente bajas tasas de finalización
• Generación automatizada• Las cookies siguen el comportamiento• Sin user persistence (habitualmente)
Copyright (c) 2018. Data Science Dojo 147
Basados en contenidos: Perfiles de artículos
• Etiquetado profesional• Asignar palabras claves basadas en contenidos• Puedo ser ofrecida por creadores/distribuidores• ¿Crowd sourcing?
• Indexado automático• Usado para documentos de texto• Basado en el contenido de palabras del conjunto de
documentos• No son necesarios los conocimientos de expertos
Copyright (c) 2018. Data Science Dojo 148
SEMEJANZA
Copyright (c) 2018. Data Science Dojo 149
Medidas de semejanza
• Dados 2 vectores �⃗�𝑥 e �⃗�𝑦 con 𝑛𝑛 componentes cada uno
• Valoraciones del Usuario 𝑥𝑥 y Usuario 𝑦𝑦• Valoraciones del Artículo 𝑥𝑥 Artículo 𝑦𝑦• Perfiles del Usuario 𝑥𝑥 y Artículo 𝑦𝑦
• ¿Cuánto de parecidos son los Usuarios/Artículos?
Copyright (c) 2018. Data Science Dojo 150
Medidas de semejanza
Correlación de Pearson
Semejanza de Cosine
𝑠𝑠𝑠𝑠𝑠𝑠 �⃗�𝑥, �⃗�𝑦 =�⃗�𝑥 � �⃗�𝑦�⃗�𝑥 ∗ |�⃗�𝑦|
=∑𝑖𝑖=1𝑛𝑛 𝑥𝑥𝑖𝑖𝑦𝑦𝑖𝑖
∑𝑖𝑖=1𝑛𝑛 𝑥𝑥𝑖𝑖2 ∑𝑖𝑖=1𝑛𝑛 𝑦𝑦𝑖𝑖2
𝑠𝑠𝑠𝑠𝑠𝑠 �⃗�𝑥, �⃗�𝑦 =∑𝑖𝑖=1𝑛𝑛 (𝑥𝑥𝑖𝑖 − �̅�𝑥)(𝑦𝑦𝑖𝑖 − �𝑦𝑦)
∑𝑖𝑖=1𝑛𝑛 𝑥𝑥𝑖𝑖 − �̅�𝑥 2 ∑𝑖𝑖=1𝑛𝑛 𝑦𝑦𝑖𝑖 − �𝑦𝑦 2
Copyright (c) 2018. Data Science Dojo 151
Cooperación basada en el Usuario
• Objetivo: predecir la valoración del Usuario 𝑢𝑢 de la película 𝑠𝑠 que no ha visto
• Encontrar el N número de Usuarios semejantes a 𝑢𝑢 que han visto la película 𝑠𝑠
• Usar sus valoraciones para predecir la opinión 𝑢𝑢's de la película 𝑠𝑠
Copyright (c) 2018. Data Science Dojo 152
Cooperación basada en el Usuario
Alice
Bob
Chris
Donna
5 3 4 4 ?
3 1 2 3 3
4 3 4 3 5
3 3 1 5 4
1 5 5 2 1Evi
sim = ?
sim = ?
sim = ?
sim = ?
¿Qué métricas debemos usar?
Copyright (c) 2018. Data Science Dojo 153
Cooperación basada en el Usuario
Alice
Bob
Chris
Donna
5 3 4 4 ?
3 1 2 3 3
4 3 4 3 5
3 3 1 5 4
1 5 5 2 1Evi
sim=0.85
sim=0.90
sim=0.70
sim=0.79
La correlación de Pearson corrige varios puntos de partida
Copyright (c) 2018. Data Science Dojo 154
Basado en contenidos: Semejanza
• Objetivo: devolver una lista de recomendación de artículos para cada usuario
• Encontrar la semejanza de cada Usuario para cada Artículo
• Ordenar los artículos por su parecido
Copyright (c) 2018. Data Science Dojo 155
Basado en contenidos: Semejanza
Artículo/Usuario ¿Drama? ¿Comedia? ¿Aventura? ¿Romance?
The Godfather 5 1 2 1
Titanic 4 3 2 5
Lord of the Rings 4 2 5 1
Dumb & Dumber 1 5 2 2
Spirited Away 5 3 5 2
Alice 5 4 1 4
Bob 3 1 1 1
Chris 4 2 5 2
Copyright (c) 2018. Data Science Dojo 156
Basado en contenidos: Semejanza
0.83 0.96 0.72 0.79 0.83
0.99 0.86 0.85 0.59 0.91
0.87 0.82 0.99 0.69 0.99
Alice
Bob
Chris
• La semejanza de Cosine no elimina las bases de referencia
• Predice el orden, no necesariamente la valoración
Copyright (c) 2018. Data Science Dojo 157
PREDICCIONES
Copyright (c) 2018. Data Science Dojo 158
Cooperación: Predicciones
• Uso de la “Función de Agregación"• Elige N vecinos más cercanos al Usuario 𝑢𝑢• Combina la valoración de cada vecino 𝑗𝑗 del artículo 𝑠𝑠 (𝑟𝑟𝑗𝑗,𝑖𝑖)
• Simple• 𝑟𝑟𝑢𝑢,𝑖𝑖 = 1
𝑁𝑁∑𝑗𝑗=1𝑁𝑁 𝑟𝑟𝑗𝑗,𝑖𝑖
• Ponderado y centrado• 𝑟𝑟𝑢𝑢,𝑖𝑖 = 𝒓𝒓𝑢𝑢 + 𝛼𝛼 ∑𝑗𝑗=1𝑁𝑁 𝑠𝑠𝑠𝑠𝑠𝑠(𝑗𝑗,𝑢𝑢)(𝑟𝑟𝑗𝑗,𝑖𝑖 − �𝑟𝑟𝑗𝑗)
Copyright (c) 2018. Data Science Dojo 159
Basadas en contenidos: Predicciones• Simple
• Ordena de acuerdo a su semejanza• Técnicas de búsqueda de información
• Bien definida, gran variedad de modelos• Algoritmos de clasificación
Copyright (c) 2018. Data Science Dojo 160
EVALUACIÓN
Copyright (c) 2018. Data Science Dojo 161
Evaluando la Recomendación
Error Medio Absoluto (MAE) calcula la desviación entre lasvaloraciones previstas y las actuales
Raíz cuadrada del error cuadrático medio (RMSE) es similar al MAE, pero pone más énfasis en las mayores desviaciones
∑=
−=n
iii rp
nMAE
1||1
∑=
−=n
iii rp
nRMSE
1
2)(1
Copyright (c) 2018. Data Science Dojo 162
10
2
3
7
8
Valorando al evaluador
Copyright (c) 2018. Data Science Dojo 163
Recomendador – Modelo 1
10
2
3
7
8
7
2
3
6
8
10--
73
2--
20
3--
30
7--
61
8--
80
MAE Total = 4/5 = 0.8
Copyright (c) 2018. Data Science Dojo 164
10
2
3
7
8
5
1
2
3
4
10--
55
2--
11
3--
21
7--
34
8--
44
MAE total = 15/5 = 3
Recomendador – Modelo 2
Copyright (c) 2018. Data Science Dojo 165
10
2
3
7
8
5
1
2
3
4
Total MAE = 3
7
2
3
6
8
Total MAE = 0.8
¿Qué recomendador? – Modelo 1 o Modelo 2
Copyright (c) 2018. Data Science Dojo 166
10
2
3
7
8
8
7
6
3
2
5
4
3
2
1
¿Qué recomendador? – Modelo 1 o Modelo 2
Copyright (c) 2018. Data Science Dojo 167
Recomendador Modelo 1 vs. Modelo 210
2
3
7
8
5
1
2
3
4
Modelo de valoraciónSigue el mismo
ranking que en el entrenamiento
7
2
3
6
8
Modelo de predicción
Reduce el valor de MAE
Copyright (c) 2018. Data Science Dojo 168
Métricas El orden importa, valor del rating no exacto Relevancia graduada
• Qué las personas asignen puntaciones a los posibles resultados• Los resultados ideales se ordenaran por relevancia, mayor a menor
Descuento de la ganancia acumulada (DCG)• Reducción de factor logarítmico
∑=+=
N
ii
N irelrelDCG
22
1 logDonde:• N es la longitud de la lista de recomendación• reli devuelve la relevancia de la recomendación en la posición i
Copyright (c) 2018. Data Science Dojo 169
Ejemplo de DCG
170Copyright (c) 2018. Data Science Dojo
Siguiendo la formula de arriba, laDCG para este conjunto de películas es:
∑=+=
N
ii
N irelrelDCG
22
1 log
10
2
3
7
8
Métricas
Ganancia acumulativa ideal descontada (IDCG)• El valor de DCG cuando los artículos se ordenan
perfectamente
Ganancia acumulativa ideal descontada normalizada (nDCG)
• Normalizada al intervalo [0..1]
∑=+=
N
ii
N irelrelIDCG
22
1 log
N
NN IDCG
DCGnDCG =
Copyright (c) 2018. Data Science Dojo 171
VENTAJAS/DESVENTAJAS
Copyright (c) 2018. Data Science Dojo 172
Ventajas
Cooperativa• Amplia aplicación• Serendipia• Simple
Basado en contenidos• No se necesita una
comunidad• Transparencia• Buena arrancada en frio
Copyright (c) 2018. Data Science Dojo 173
Desventajas
174Copyright (c) 2018. Data Science Dojo
Cooperativo• Mala arrancada en frio• Grey Sheep
• Cuentas compartidas• Señuelo• Mala escalabilidad
Basado en contenidos• Perfiles limitados
• Nuevos usuarios• Coste de etiquetado experto
• Sobre especialización• Falta de diversidad