SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
in-vehicle coupon
recommendation
Aprendizaje Automático UTN FRBA
G1 - TP1 R6575 2021
1
Índice
Acerca del dataset
Análisis exploratorio de datos
Entrenamiento de un clasificador
Entrenamiento de un regresor
Conclusiones
2
Acerca del dataset
Este dataset estudia si una persona aceptará el cupón que se le
recomienda en diferentes escenarios de conducción.
Analizar la posibilidad de que a un conductor se le ofrezca un cupón
y lo acepte, dependiendo de muchos factores, tanto de las
características del individuo como del contexto del momento.
Fuente:
Wang, Tong, Cynthia Rudin, Finale Doshi-Velez, Yimin Liu, Erica
Klampfl, and Perry MacNeille. 'A bayesian framework for learning
rule sets for interpretable classification.' The Journal of Machine
Learning Research 18, no. 1 (2017): 2357-2393.
https://archive.ics.uci.edu/ml/datasets/in-vehicle+coupon+recomm
endation
3
Análisis exploratorio de datos
Se encuentran 26 columnas y 12684 entradas de datos. Además en algunas columnas
hay un determinado número de datos nulos.
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 12684 entries, 0 to 12683
Data columns (total 26 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 destination 12684 non-null object
1 passanger 12684 non-null object
2 weather 12684 non-null object
3 temperature 12684 non-null int64
4 time 12684 non-null object
5 coupon 12684 non-null object
6 expiration 12684 non-null object
7 gender 12684 non-null object
8 age 12684 non-null object
9 maritalStatus 12684 non-null object
10 has_children 12684 non-null int64
11 education 12684 non-null object
12 occupation 12684 non-null object
13 income 12684 non-null object
14 car 108 non-null object
15 Bar 12577 non-null object
16 CoffeeHouse 12467 non-null object
17 CarryAway 12533 non-null object
18 RestaurantLessThan20 12554 non-null object
19 Restaurant20To50 12495 non-null object
20 toCoupon_GEQ5min 12684 non-null int64
21 toCoupon_GEQ15min 12684 non-null int64
22 toCoupon_GEQ25min 12684 non-null int64
23 direction_same 12684 non-null int64
24 direction_opp 12684 non-null int64
25 Y 12684 non-null int64
dtypes: int64(8), object(18)
memory usage: 2.5+ MB
4
Análisis exploratorio de datos
Entender las variables Distribución de los
resultados según la
salida Y
Crear Features:
combinar o separar,
codif one hot
Valores iguales en
toda la población no
definen nada en la
salida, y otras
variables que fueron
reemplazadas
Se trata de
aprendizaje
supervisado
Explorar los
datos
Graficar para
interpretar cada
variable
Preparar los
datos
Descartar
variables que no
aportan
Entrenar al
Clasificador
Métricas
Accuracy
(clases
balanceadas).
01 02 03 04 05 06
Nos propusimos avanzar con los siguientes pasos y herramientas para simplificar los
desafíos:
5
Análisis exploratorio de datos
Para la preparación de datos realizamos dos transformaciones con el fin de tener data
procesable. Mapeo a valores numéricos y encoding One Hot.
6
Mapeo numérico One Hot
Gráficos
Para entender mejor los datos que tenemos, procedimos a realizar gráficos de barra agrupados
por las clases de salida. Un gráfico por cada feature. Algunos ejemplos:
7
Análisis exploratorio de datos
Con el afán de reducir columnas para ser procesadas, aplicamos dos tipos de filtros.
Solamente tomamos casos donde el >85% de los valores son iguales y donde la
correlación con la salida es mayor a 0,1.
8
Análisis exploratorio de datos
Luego de estos filtros, solo nos quedamos con 8 columnas:
9
Entrenamiento de un clasificador
Para realizar el mismo vamos a utilizar diferentes clasificadores que nos provee las biblioteca
sklearn:
● LogisticRegression
● DecisionTreeClassifier
● BernoulliNB
● LinearSVC
Definimos una función para dividir el data set en partes de entrenamiento y test con un
factor del 20% para test
La salida ‘Y’ de aceptación de cupones, es una CLASE BINOMIAL:
“clase 1” de positivo para cupón aceptado
“clase 0” de negativo para cupón no aceptado
10
Entrenamiento de un clasificador
Regresor logístico: 0.650374458021285
11
Entrenamiento de un clasificador
BernoulliNB: 0.6452502956247537
12
Entrenamiento de un clasificador
LinearSVC: 0.650374458021285
13
Entrenamiento de un clasificador
DecisionTree: 0.6633819471817107
14
Entrenamiento de un clasificador
Score para los distintos clasificadores
● Regresor logístico: 0.654
● BernoulliNB: 0.644
● LinearSVC: 0.654
● DecisionTree: 0.644
15
Entrenamiento de un regresor
Para el regresor tenemos que predecir la feature ‘age’, luego de un remapeo.
● Es multiclase
● Valores de 0 - 7
● Usaremos LogisticRegression, de la biblioteca sklearn
16
Entrenamiento de un regresor
Al ser multiclase el tipo de regresión a utilizar es multinomial. Esto se especifica como un
parámetro de la función:
● El resultado fue una precisión de ~21%
● Decidimos filtrar features
17
Entrenamiento de un regresor
El filtrado se realizó de la siguiente forma:
● Eliminamos features que no aportan información (mismo valor para todas las muestras):
‘car’
● Eliminamos features muy correlacionados (corr >0.8): Temperatura y Clima
● Eliminamos features poco correlacionados con ‘age’: muchos features de Educación y
Ocupación
● Eliminamos muestras que tenían valores NaN
Luego, volvimos a probar la correlación con distintos ‘solvers’:
18
Entrenamiento de un regresor
Otras opciones
● Clasificador Random Forest:
● Varios regresores binomiales:
19
Conclusiones
● En particular el dataset tiene relativamente pocas muestras, y todas ellas
relacionadas con la salida original "Y = cupón aceptado si/no".
● Ésta característica dificulta la separación de clases. Necesariamente hubo que
trabajar los features.
● Logramos abstraernos de éstos problemas al pre-formatear y comparar 1 a 1 contra
la salida, aplicando filtros nos quedamos sólo con nuevas columnas que realmente
aporten a la separación de clases.
● Comparando distintos clasificadores, se puede aceptar que el mejor resultado
promedio de referencia se aproxima a 65% de score.
● En el caso de tomar otra salida de varios posibles elementos, tratamos a la
MULTICLASE como varios casos de CLASE BINOMIAL. Al desvincular las posibles
salidas resulta un score entre un 80 a 95%.
20
¡Gracias!
Integrantes alumnos:
Federico Tucci fedetucci@frba.utn.edu.ar
Marcos García marcoshgarcia@frba.utn.edu.ar
Nicolás Luque nluque@frba.utn.edu.ar
Docentes:
Diego P. Durante ddurante@frba.utn.edu.ar
Ramiro Verrastro ramiroverrastro@frba.utn.edu.ar
Juan Carlos Gomez juanca.gomez@frba.utn.edu.ar
21

Más contenido relacionado

Similar a AA G1 TP1 - in-vehicule coupon.pdf

informatica_iv_-_unidad_2._algoritmos.pptx
informatica_iv_-_unidad_2._algoritmos.pptxinformatica_iv_-_unidad_2._algoritmos.pptx
informatica_iv_-_unidad_2._algoritmos.pptxDanielHidalgo92
 
Presentación optimizacion de sistema
Presentación optimizacion de sistemaPresentación optimizacion de sistema
Presentación optimizacion de sistemaDiRossalez
 
Clase redes neuronales 3
Clase redes neuronales 3Clase redes neuronales 3
Clase redes neuronales 3JUANCHO_ANAYA
 
Minería de datos
Minería de datosMinería de datos
Minería de datosKeopx
 
Capítulo 07 interpretación de resultados
Capítulo 07 interpretación de resultadosCapítulo 07 interpretación de resultados
Capítulo 07 interpretación de resultadosSergio Valenzuela Mayer
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacionAndrsTutillo1
 
Mi primer modelo de clasificación utilizando regresión logística
Mi primer modelo de clasificación utilizando regresión logísticaMi primer modelo de clasificación utilizando regresión logística
Mi primer modelo de clasificación utilizando regresión logísticaJOSE AHIAS LOPEZ PORTILLO
 
Practicar con weka.pptx
Practicar con weka.pptxPracticar con weka.pptx
Practicar con weka.pptxDarnelyC
 
Anexo III segunda parte del manual de Ordenamiento Ecológico
Anexo III segunda parte del manual de Ordenamiento EcológicoAnexo III segunda parte del manual de Ordenamiento Ecológico
Anexo III segunda parte del manual de Ordenamiento EcológicoCarlos Cáceres
 
Introducción de redes neuronales artificiales
Introducción de redes neuronales artificialesIntroducción de redes neuronales artificiales
Introducción de redes neuronales artificialesfelibuca
 
Valores tipos de datos y operadores.pdf
Valores tipos de datos y operadores.pdfValores tipos de datos y operadores.pdf
Valores tipos de datos y operadores.pdfAlinaCarrasco3
 
Construir y consumir un modelo de Regresión Lineal con ML.NET y Angular
Construir y consumir un modelo de Regresión Lineal con ML.NET y AngularConstruir y consumir un modelo de Regresión Lineal con ML.NET y Angular
Construir y consumir un modelo de Regresión Lineal con ML.NET y AngularCristopher Coronado Moreira
 

Similar a AA G1 TP1 - in-vehicule coupon.pdf (20)

informatica_iv_-_unidad_2._algoritmos.pptx
informatica_iv_-_unidad_2._algoritmos.pptxinformatica_iv_-_unidad_2._algoritmos.pptx
informatica_iv_-_unidad_2._algoritmos.pptx
 
Presentación optimizacion de sistema
Presentación optimizacion de sistemaPresentación optimizacion de sistema
Presentación optimizacion de sistema
 
Clase redes neuronales 3
Clase redes neuronales 3Clase redes neuronales 3
Clase redes neuronales 3
 
Minería de datos
Minería de datosMinería de datos
Minería de datos
 
Feature Selection
Feature SelectionFeature Selection
Feature Selection
 
Capítulo 07 interpretación de resultados
Capítulo 07 interpretación de resultadosCapítulo 07 interpretación de resultados
Capítulo 07 interpretación de resultados
 
2 preprocesado
2 preprocesado2 preprocesado
2 preprocesado
 
El algoritmo k nn y su importancia en el modelado de datos
El algoritmo k nn y su importancia en el modelado de datosEl algoritmo k nn y su importancia en el modelado de datos
El algoritmo k nn y su importancia en el modelado de datos
 
El algoritmo k nn y su importancia en el modelado de datos
El algoritmo k nn y su importancia en el modelado de datosEl algoritmo k nn y su importancia en el modelado de datos
El algoritmo k nn y su importancia en el modelado de datos
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Mi primer modelo de clasificación utilizando regresión logística
Mi primer modelo de clasificación utilizando regresión logísticaMi primer modelo de clasificación utilizando regresión logística
Mi primer modelo de clasificación utilizando regresión logística
 
Practicar con weka.pptx
Practicar con weka.pptxPracticar con weka.pptx
Practicar con weka.pptx
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Minería de datos
Minería de datosMinería de datos
Minería de datos
 
Anexo III segunda parte del manual de Ordenamiento Ecológico
Anexo III segunda parte del manual de Ordenamiento EcológicoAnexo III segunda parte del manual de Ordenamiento Ecológico
Anexo III segunda parte del manual de Ordenamiento Ecológico
 
Datos cuantitativos
Datos cuantitativosDatos cuantitativos
Datos cuantitativos
 
Informe - Investigacion de Operaciones
Informe - Investigacion de OperacionesInforme - Investigacion de Operaciones
Informe - Investigacion de Operaciones
 
Introducción de redes neuronales artificiales
Introducción de redes neuronales artificialesIntroducción de redes neuronales artificiales
Introducción de redes neuronales artificiales
 
Valores tipos de datos y operadores.pdf
Valores tipos de datos y operadores.pdfValores tipos de datos y operadores.pdf
Valores tipos de datos y operadores.pdf
 
Construir y consumir un modelo de Regresión Lineal con ML.NET y Angular
Construir y consumir un modelo de Regresión Lineal con ML.NET y AngularConstruir y consumir un modelo de Regresión Lineal con ML.NET y Angular
Construir y consumir un modelo de Regresión Lineal con ML.NET y Angular
 

Último

Como construir los vínculos afectivos (Grupal)
Como construir los vínculos afectivos (Grupal)Como construir los vínculos afectivos (Grupal)
Como construir los vínculos afectivos (Grupal)portafoliodigitalyos
 
Comunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptxComunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptxJunkotantik
 
ACERTIJO LA RUTA DE LAS ADIVINANZAS OLÍMPICAS. Por JAVIER SOLIS NOYOLA
ACERTIJO LA RUTA DE LAS ADIVINANZAS OLÍMPICAS. Por JAVIER SOLIS NOYOLAACERTIJO LA RUTA DE LAS ADIVINANZAS OLÍMPICAS. Por JAVIER SOLIS NOYOLA
ACERTIJO LA RUTA DE LAS ADIVINANZAS OLÍMPICAS. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
2. Entornos Virtuales de Aprendizaje.pptx
2. Entornos Virtuales de Aprendizaje.pptx2. Entornos Virtuales de Aprendizaje.pptx
2. Entornos Virtuales de Aprendizaje.pptxJunkotantik
 
Análisis de la situación actual .La Matriz de Perfil Competitivo (MPC)
Análisis de la situación actual .La Matriz de Perfil Competitivo (MPC)Análisis de la situación actual .La Matriz de Perfil Competitivo (MPC)
Análisis de la situación actual .La Matriz de Perfil Competitivo (MPC)JonathanCovena1
 
Evaluación de los Factores Internos de la Organización
Evaluación de los Factores Internos de la OrganizaciónEvaluación de los Factores Internos de la Organización
Evaluación de los Factores Internos de la OrganizaciónJonathanCovena1
 
Tema 14. Aplicación de Diagramas 26-05-24.pptx
Tema 14. Aplicación de Diagramas 26-05-24.pptxTema 14. Aplicación de Diagramas 26-05-24.pptx
Tema 14. Aplicación de Diagramas 26-05-24.pptxNoe Castillo
 
Presentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdf
Presentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdfPresentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdf
Presentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdfjuancmendez1405
 
Poemas de Beatriz Giménez de Ory_trabajos de 6º
Poemas de Beatriz Giménez de Ory_trabajos de 6ºPoemas de Beatriz Giménez de Ory_trabajos de 6º
Poemas de Beatriz Giménez de Ory_trabajos de 6ºCEIP TIERRA DE PINARES
 
Diagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de BarbacoasDiagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de Barbacoasadvavillacorte123
 
Tema 8 Estructura y composición de la Tierra 2024
Tema 8 Estructura y composición de la Tierra 2024Tema 8 Estructura y composición de la Tierra 2024
Tema 8 Estructura y composición de la Tierra 2024IES Vicent Andres Estelles
 
Proceso de gestión de obras - Aquí tu Remodelación
Proceso de gestión de obras - Aquí tu RemodelaciónProceso de gestión de obras - Aquí tu Remodelación
Proceso de gestión de obras - Aquí tu RemodelaciónDanielGrajeda7
 
📝 Semana 09 - Tema 01: Tarea - Redacción del texto argumentativo
📝 Semana 09 - Tema 01: Tarea - Redacción del texto argumentativo📝 Semana 09 - Tema 01: Tarea - Redacción del texto argumentativo
📝 Semana 09 - Tema 01: Tarea - Redacción del texto argumentativoharolbustamante1
 
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdf
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdfRESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdf
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdfANEP - DETP
 
📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...
📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...
📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...harolbustamante1
 
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptxFESARAUGUSTOFANDIORI
 
Cerebelo Anatomía y fisiología Clase presencial
Cerebelo Anatomía y fisiología Clase presencialCerebelo Anatomía y fisiología Clase presencial
Cerebelo Anatomía y fisiología Clase presencialDanita2111
 

Último (20)

Power Point: Luz desde el santuario.pptx
Power Point: Luz desde el santuario.pptxPower Point: Luz desde el santuario.pptx
Power Point: Luz desde el santuario.pptx
 
Como construir los vínculos afectivos (Grupal)
Como construir los vínculos afectivos (Grupal)Como construir los vínculos afectivos (Grupal)
Como construir los vínculos afectivos (Grupal)
 
Comunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptxComunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptx
 
ACERTIJO LA RUTA DE LAS ADIVINANZAS OLÍMPICAS. Por JAVIER SOLIS NOYOLA
ACERTIJO LA RUTA DE LAS ADIVINANZAS OLÍMPICAS. Por JAVIER SOLIS NOYOLAACERTIJO LA RUTA DE LAS ADIVINANZAS OLÍMPICAS. Por JAVIER SOLIS NOYOLA
ACERTIJO LA RUTA DE LAS ADIVINANZAS OLÍMPICAS. Por JAVIER SOLIS NOYOLA
 
2. Entornos Virtuales de Aprendizaje.pptx
2. Entornos Virtuales de Aprendizaje.pptx2. Entornos Virtuales de Aprendizaje.pptx
2. Entornos Virtuales de Aprendizaje.pptx
 
Análisis de la situación actual .La Matriz de Perfil Competitivo (MPC)
Análisis de la situación actual .La Matriz de Perfil Competitivo (MPC)Análisis de la situación actual .La Matriz de Perfil Competitivo (MPC)
Análisis de la situación actual .La Matriz de Perfil Competitivo (MPC)
 
Evaluación de los Factores Internos de la Organización
Evaluación de los Factores Internos de la OrganizaciónEvaluación de los Factores Internos de la Organización
Evaluación de los Factores Internos de la Organización
 
Tema 14. Aplicación de Diagramas 26-05-24.pptx
Tema 14. Aplicación de Diagramas 26-05-24.pptxTema 14. Aplicación de Diagramas 26-05-24.pptx
Tema 14. Aplicación de Diagramas 26-05-24.pptx
 
Presentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdf
Presentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdfPresentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdf
Presentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdf
 
Poemas de Beatriz Giménez de Ory_trabajos de 6º
Poemas de Beatriz Giménez de Ory_trabajos de 6ºPoemas de Beatriz Giménez de Ory_trabajos de 6º
Poemas de Beatriz Giménez de Ory_trabajos de 6º
 
Diagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de BarbacoasDiagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de Barbacoas
 
Tema 8 Estructura y composición de la Tierra 2024
Tema 8 Estructura y composición de la Tierra 2024Tema 8 Estructura y composición de la Tierra 2024
Tema 8 Estructura y composición de la Tierra 2024
 
Proceso de gestión de obras - Aquí tu Remodelación
Proceso de gestión de obras - Aquí tu RemodelaciónProceso de gestión de obras - Aquí tu Remodelación
Proceso de gestión de obras - Aquí tu Remodelación
 
📝 Semana 09 - Tema 01: Tarea - Redacción del texto argumentativo
📝 Semana 09 - Tema 01: Tarea - Redacción del texto argumentativo📝 Semana 09 - Tema 01: Tarea - Redacción del texto argumentativo
📝 Semana 09 - Tema 01: Tarea - Redacción del texto argumentativo
 
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdf
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdfRESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdf
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdf
 
📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...
📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...
📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...
 
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx
 
Luz desde el santuario. Escuela Sabática
Luz desde el santuario. Escuela SabáticaLuz desde el santuario. Escuela Sabática
Luz desde el santuario. Escuela Sabática
 
Cerebelo Anatomía y fisiología Clase presencial
Cerebelo Anatomía y fisiología Clase presencialCerebelo Anatomía y fisiología Clase presencial
Cerebelo Anatomía y fisiología Clase presencial
 
3.Conectores uno_Enfermería_EspAcademico
3.Conectores uno_Enfermería_EspAcademico3.Conectores uno_Enfermería_EspAcademico
3.Conectores uno_Enfermería_EspAcademico
 

AA G1 TP1 - in-vehicule coupon.pdf

  • 2. Índice Acerca del dataset Análisis exploratorio de datos Entrenamiento de un clasificador Entrenamiento de un regresor Conclusiones 2
  • 3. Acerca del dataset Este dataset estudia si una persona aceptará el cupón que se le recomienda en diferentes escenarios de conducción. Analizar la posibilidad de que a un conductor se le ofrezca un cupón y lo acepte, dependiendo de muchos factores, tanto de las características del individuo como del contexto del momento. Fuente: Wang, Tong, Cynthia Rudin, Finale Doshi-Velez, Yimin Liu, Erica Klampfl, and Perry MacNeille. 'A bayesian framework for learning rule sets for interpretable classification.' The Journal of Machine Learning Research 18, no. 1 (2017): 2357-2393. https://archive.ics.uci.edu/ml/datasets/in-vehicle+coupon+recomm endation 3
  • 4. Análisis exploratorio de datos Se encuentran 26 columnas y 12684 entradas de datos. Además en algunas columnas hay un determinado número de datos nulos. <class 'pandas.core.frame.DataFrame'> RangeIndex: 12684 entries, 0 to 12683 Data columns (total 26 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 destination 12684 non-null object 1 passanger 12684 non-null object 2 weather 12684 non-null object 3 temperature 12684 non-null int64 4 time 12684 non-null object 5 coupon 12684 non-null object 6 expiration 12684 non-null object 7 gender 12684 non-null object 8 age 12684 non-null object 9 maritalStatus 12684 non-null object 10 has_children 12684 non-null int64 11 education 12684 non-null object 12 occupation 12684 non-null object 13 income 12684 non-null object 14 car 108 non-null object 15 Bar 12577 non-null object 16 CoffeeHouse 12467 non-null object 17 CarryAway 12533 non-null object 18 RestaurantLessThan20 12554 non-null object 19 Restaurant20To50 12495 non-null object 20 toCoupon_GEQ5min 12684 non-null int64 21 toCoupon_GEQ15min 12684 non-null int64 22 toCoupon_GEQ25min 12684 non-null int64 23 direction_same 12684 non-null int64 24 direction_opp 12684 non-null int64 25 Y 12684 non-null int64 dtypes: int64(8), object(18) memory usage: 2.5+ MB 4
  • 5. Análisis exploratorio de datos Entender las variables Distribución de los resultados según la salida Y Crear Features: combinar o separar, codif one hot Valores iguales en toda la población no definen nada en la salida, y otras variables que fueron reemplazadas Se trata de aprendizaje supervisado Explorar los datos Graficar para interpretar cada variable Preparar los datos Descartar variables que no aportan Entrenar al Clasificador Métricas Accuracy (clases balanceadas). 01 02 03 04 05 06 Nos propusimos avanzar con los siguientes pasos y herramientas para simplificar los desafíos: 5
  • 6. Análisis exploratorio de datos Para la preparación de datos realizamos dos transformaciones con el fin de tener data procesable. Mapeo a valores numéricos y encoding One Hot. 6 Mapeo numérico One Hot
  • 7. Gráficos Para entender mejor los datos que tenemos, procedimos a realizar gráficos de barra agrupados por las clases de salida. Un gráfico por cada feature. Algunos ejemplos: 7
  • 8. Análisis exploratorio de datos Con el afán de reducir columnas para ser procesadas, aplicamos dos tipos de filtros. Solamente tomamos casos donde el >85% de los valores son iguales y donde la correlación con la salida es mayor a 0,1. 8
  • 9. Análisis exploratorio de datos Luego de estos filtros, solo nos quedamos con 8 columnas: 9
  • 10. Entrenamiento de un clasificador Para realizar el mismo vamos a utilizar diferentes clasificadores que nos provee las biblioteca sklearn: ● LogisticRegression ● DecisionTreeClassifier ● BernoulliNB ● LinearSVC Definimos una función para dividir el data set en partes de entrenamiento y test con un factor del 20% para test La salida ‘Y’ de aceptación de cupones, es una CLASE BINOMIAL: “clase 1” de positivo para cupón aceptado “clase 0” de negativo para cupón no aceptado 10
  • 11. Entrenamiento de un clasificador Regresor logístico: 0.650374458021285 11
  • 12. Entrenamiento de un clasificador BernoulliNB: 0.6452502956247537 12
  • 13. Entrenamiento de un clasificador LinearSVC: 0.650374458021285 13
  • 14. Entrenamiento de un clasificador DecisionTree: 0.6633819471817107 14
  • 15. Entrenamiento de un clasificador Score para los distintos clasificadores ● Regresor logístico: 0.654 ● BernoulliNB: 0.644 ● LinearSVC: 0.654 ● DecisionTree: 0.644 15
  • 16. Entrenamiento de un regresor Para el regresor tenemos que predecir la feature ‘age’, luego de un remapeo. ● Es multiclase ● Valores de 0 - 7 ● Usaremos LogisticRegression, de la biblioteca sklearn 16
  • 17. Entrenamiento de un regresor Al ser multiclase el tipo de regresión a utilizar es multinomial. Esto se especifica como un parámetro de la función: ● El resultado fue una precisión de ~21% ● Decidimos filtrar features 17
  • 18. Entrenamiento de un regresor El filtrado se realizó de la siguiente forma: ● Eliminamos features que no aportan información (mismo valor para todas las muestras): ‘car’ ● Eliminamos features muy correlacionados (corr >0.8): Temperatura y Clima ● Eliminamos features poco correlacionados con ‘age’: muchos features de Educación y Ocupación ● Eliminamos muestras que tenían valores NaN Luego, volvimos a probar la correlación con distintos ‘solvers’: 18
  • 19. Entrenamiento de un regresor Otras opciones ● Clasificador Random Forest: ● Varios regresores binomiales: 19
  • 20. Conclusiones ● En particular el dataset tiene relativamente pocas muestras, y todas ellas relacionadas con la salida original "Y = cupón aceptado si/no". ● Ésta característica dificulta la separación de clases. Necesariamente hubo que trabajar los features. ● Logramos abstraernos de éstos problemas al pre-formatear y comparar 1 a 1 contra la salida, aplicando filtros nos quedamos sólo con nuevas columnas que realmente aporten a la separación de clases. ● Comparando distintos clasificadores, se puede aceptar que el mejor resultado promedio de referencia se aproxima a 65% de score. ● En el caso de tomar otra salida de varios posibles elementos, tratamos a la MULTICLASE como varios casos de CLASE BINOMIAL. Al desvincular las posibles salidas resulta un score entre un 80 a 95%. 20
  • 21. ¡Gracias! Integrantes alumnos: Federico Tucci fedetucci@frba.utn.edu.ar Marcos García marcoshgarcia@frba.utn.edu.ar Nicolás Luque nluque@frba.utn.edu.ar Docentes: Diego P. Durante ddurante@frba.utn.edu.ar Ramiro Verrastro ramiroverrastro@frba.utn.edu.ar Juan Carlos Gomez juanca.gomez@frba.utn.edu.ar 21