Pontificia Universidad Cat´olica de Chile Departamento de Ciencia de la Computaci´on Computaci´on: Ciencia Ci encia y Tecnolog´ ıa ıa del de l Mundo Mund o Digital Digit al
Tarea Grande 2 - Machine Learning IIC1005 - 2do semestre de 2017 Profeso Pro fesorr Luis Lu is Ram´ırez ıre z 22 de octubre de 2017
Indicaciones 14 de noviembre de 2017, 23:59 hrs. Debes entregar la tarea en tu repositorio privado en GitHub. Cada hora de atraso descuenta 5 d´ ecimas ecimas de la nota obtenida. parejas. La copia ser´ La tarea es en parejas a castigada con nota 1 .1 en la tarea, adem´as as de las sanciones
disciplinarias correspondientes.
Objetivos 1. Enfrentar un desaf´ desaf´ıo real en el contexto de aprendizaje aprendiza je autom´atico atico (machine learning ). ). 2. Solucionar Solucionar un problema problema mediante mediante el uso de del paquete paquete scikit-learn de Python. 3. Preprocesar Preprocesar un set de datos para entrena entrenarr un modelo. modelo. 4. Entender Entender la importancia importancia de que un modelo se equivoque equivoque o sea acertado. acertado. 5. Medir el error error de un modelo de clasificaci´ clasificaci´on. on.
Introducci´ on on En el peak de la inteligencia artificial y la miner´ miner´ıa de datos, se han visto revolucionado tanto el mundo de la investigaci´on on como la industria. La gran cantidad de datos disponibles hacen posible entrenar modelos que tomen decisiones decisi ones por s´ı mismos, sin siquiera siquie ra decirles decirle s qu´ q u´e hacer h acer expl´ıcitamente. ıcitamente. 1
Cuando un ser humano quiere tomar una decisi´on se basa en su experiencia, esos son sus datos. No siempre piensa en reglas exactas que lleven a una conclusi´on, pero est´a entrenado para tomar decisiones en base a lo que ha aprendido durante su vida. Un modelo puede hacer esto mismo: aprender de los registros hist´ oricos de ciertos eventos, para generalizar y sacar conclusiones autom´aticamente. La clasificaci´ on de objetos es uno de los grandes desaf´ıos que los modelos de machine learning intentan resolver. Clasificaci´ on autom´atica se refiere a un sistema que es capaz de identificar para cada objeto la clase a la cual pertenece. Por ejemplo, un robot que ha sido entrenado con una base de datos de fotos de desechos, donde cada foto cuenta con una etiqueta de si lo que se muestra es o no reciclable, podr´a clasificar basura en reciclable o no reciclable autom´aticamente.
Su misi´ on T´ u y tu pareja han sido contratados por el banco m´as grande de Latinoam´ erica, el banco BANK BUNNY. Juntos est´an encargados de decidir si entregar un cr´ edito a un determinado cliente o no. Para eso cuentan con una base de datos hist´orica donde se describe a cada cliente seg´un sus antecedentes personales, adem´ as de una etiqueta que dice si el cliente fue bueno o malo, ver secci´on 1 para m´as informaci´on. Su misi´ on es entrenar el mejor modelo de clasificaci´on para este contexto, deben experimentar con distintas parametrizaciones de los siguientes modelos de clasificaci´on, ver secci´on 2: on log´ıstica. 1. Regresi´ ´ de decisi´ on. 2. Arbol
La respuesta a resolver es: ¿Este cliente es bueno o malo? As´ı, si el cliente es bueno se otorgar´ a el cr´edito y si es malo se le rechazar´a. Por cada cliente bueno mal clasificado se pierde $1.000.000, y por cada cliente malo mal clasificado se pierde $5.000.000. Su tarea es que el modelo prediga con tal de perder la menor cantidad de dinero posible, seg´ un lo detallado en la secci´on 3.
1.
La base de datos Se les entrega una base de datos donde cada fila representa un cr´ edito entregado. Esta base de datos
tiene columnas descriptoras (describen al cliente al que se le otorg´o el cr´edito), y una u ´ nica columna de predicci´ on (si el cliente fue bueno o malo). Las primeras filas de la base de datos se pueden observar en la figura 1. El anexo explica el significado de cada variable.
2
Figura 1: Filas de la base de datos adjunta a este enunciado.
1.1.
Preprocesamiento de datos Para sacar el m´aximo provecho a la informaci´on disponible, es necesario transformar los datos. Adem´as,
cada modelo se entrena con un tipo distinto de datos, por lo que debes asegurarte de que los datos est´an en el formato correcto antes de mostrarlos al modelo. Otra t´ ecnica de preprocesamiento es crear dimensiones que aporten informaci´on. En este caso se encontrar´ an con variables que contienen informaci´on agrupada que deber´ıa ser separada para aumentar la riqueza de los datos.
2.
Modelos
2.1. Regresi´ on Log´ıstica Tipo de regresi´on para predecir variables categ´oricas.
2.2.
´ Arbol de decisi´ on Estructura formada por nodos que representan reglas de decisi´on.
3.
Evaluaci´ on de clasificadores Se te han entregado dos bases de datos: training.csv: Datos de entrenamiento. Contiene 700 instancias con sus respectivas etiquetas. testing.csv: Datos de prueba. Contiene 300 instancias sin sus etiquetas. Su tarea es entrenar el mejor
modelo posible con los datos de entrenamiento y entregar un archivo llamado predicciones.csv con sus clases predichas para cada uno de estos clientes. Para entrenar el modelo solo deben utilizar una parte de la base de datos de entrenamiento, el resto deben dejarlo para testear qu´e tan bien clasifica el modelo. Para llegar a una mejor estimaci´on del error on cruzada para predicci´ futuro de tu modelo, se recomienda utilizar validaci´ on del error.
Recuerden que cada vez que se otorga un cr´edito pero no deber´ıa haberse otorgado, se pierden $5 .000.000, y si no se otorga un cr´ edito a un buen cliente se pierde $1 .000.000. 3
4.
Informe Para comprobar que la realizaci´ on de su tarea fue a conciencia y no una mera importaci´on de c´odigo,
se exige un informe que responda lo siguiente, de manera detallada: 1. ¿C´ omo fue el preprocesamiento de los datos? ¿Cu´ales fueron los pasos a seguir? 2. ¿Cu´ al de los dos modelos probados en esta tarea es mejor? ¿Por qu´e? Incluyan m´etricas que permitan validar su respuesta. 3. ¿Cu´ al es la matriz de confusi´on1 de cada modelo? Incluye im´agenes de cada matriz ¿Qu´e significa cada celda? 4. Para realizar este informe, seguramente se toparon con las m´etricas precision y recall , ¿cu´al de las dos entrega m´as informaci´on sobre el desempe˜no de un modeulo? ¿Existe alguna m´ etrica que agrupe a las dos antes mencionadas? on y presentaci´ on de su informe, pues estos ´ıtems tambi´ Cuiden la ortograf´ıa, redacci´ en tienen
puntaje.
5.
Entrega Para esta tarea, como habr´an notado, deben trabajar en parejas. En particular, se espera que
entren a este sitio y ejecuten el siguiente flujo: un miembro de la pareja debe ingresar primero y bautizar al equipo con un nombre ojal´a creativo y no ofensivo. A continuaci´on, el otro integrante del equipo debe entrar al mismo enlace y buscar el repositorio creado por su compa˜nero. El plazo para realizar esto vence el 24 de octubre. Posteriormente, el equipo docente designar´a un compa˜nero de forma arbitraria a todos quienes no hayan inscrito un grupo. Recuerden que pueden utilizar el post dispuesto en Piazza denominado Search for Teammates para encontrar a su compa˜nero ideal.
6.
Entregables Para el d´ıa y hora de la entrega, en su repositorio debe encontrarse lo siguiente:
1. Informe con todo lo descrito en la secci´on 4, en formato pdf . 2. C´ odigo de la tarea, en un archivo de extensi´on .py. Las tareas cuyo c´odigo sea dif´ıcil de entender, tendr´ an un descuento de m´aximo 0.5 d´ecimas, a criterio del corrector. 1
Recuerden ponderar esta matriz por los costos involucrados.
4
7.
Bonus ¿Quieren aumentar su nota? Est´an cordialmente invitados a participar en una sana competencia para
obtener un tentador bonus de hasta 1 punto. La competici´on consiste en premiar a los 5 grupos que hayan logrado perder la menor cantidad de dinero, seg´un la siguiente funci´on:
bonus = 1 −
log( posicion grupo ) log(19)
Para comprobar el desempe˜no de sus grupos, se habilitar´a en Piazza un post donde podr´an comparar sus resultados con los dem´as interesados. Como queremos una competencia honesta, para determinar a los 5 ganadores, probaremos sus modelos con un dataset desconocido para ustedes. En ese sentido, es conveniente ser honestos en la publicaci´on de sus resultados. Cualquier irregularidad detectada, provocar´a la descalificaci´ on de su grupo de esta competencia.
5
8.
Anexos Informaci´ on atributos Atributo 1: (cualitativo) estado de cuenta corriente existente. • A11: . . . < 0 • A12:
0 ≤ . . . < 200 DM.
• A13: · · · ≥ • A14:
DM.
200 DM / Asignaciones de salario por al menos un a˜no.
Sin cuenta corriente.
Atributo 2: (num´erico) duraci´on del c´redito en meses. Atributo 3: (cualitativo) historial del cr´edito. •
A30: Sin cr´ editos tomados / todos los cr´ editos se devuelven debidamente (a tiempo).
•
A31: Todos los cr´ editos de este banco se devuelven debidamente.
•
A32: cr´editos existentes se devuelven debidamente hasta ahora.
• A33:
Demora en pagar en el pasado.
• A34:
cuenta cr´ıtica / otros cr´editos existentes (no en este banco).
Atributo 4: (cualitativo) prop´osito. • A40:
auto (nuevo).
• A41:
auto (usado).
• A42:
Inmobiliario/equipamiento.
• A43:
radio/televisi´on.
•
A44: accesorios dom´esticos.
• A45:
reparaciones.
• A46:
educaci´on.
• A47:
vacaciones.
• A48:
capacitaciones.
• A49:
negocios.
• A410:
otros.
Atributo 5: (num´erico) monto de cr´edito. 6
Atributo 6: (cualitativo) cuenta de ahorros / bonos. • A61: . . . < 100
DM.
• A62:
100 ≤ . . . < 500 DM.
• A63:
500 ≤ . . . < 1000 DM.
• A64: · · · ≥ • A65:
1000 DM.
desconocido / sin cuenta de ahorros.
Atributo 7: (cualitativo) empleo actual desde. • A71:
desempleado.
• A72: . . . < 1
a˜no.
• A73:
1 ≤ . . . < 4 a˜nos.
• A74:
4 ≤ . . . < 7 a˜nos.
• A75: · · · ≥
7 a˜nos.
Atributo 8: (num´erico) tasa de cuota en porcentaje de la renta disponible. Atributo 9: (cualitativo) estado civil y g´enero. • A91:
masculino: divorciado / separado.
• A92:
femenino: divorciado / separado / casado.
• A93:
masculino: soltero.
• A94:
masculino: casado/divorciado.
• A95:
femenino: soltera.
Atributo 10: (cualitativo) otros deudores / garantes • A101:
ninguno.
• A102:
co-solicitante.
• A103:
garante.
Atributo 11: (num´erico) tiempo de residencia actual.
7
Atributo 12: (cualitativo) propiedad. • A121:
bienes ra´ıces.
• A122:
si no A121 : construcci´on de sociedad / acuerdo de ahorro / seguro de vida.
• A123:
if not A121/A122 : auto u otro, no en atributo 6.
• A124:
desconocido / sin propiedad.
Atributo 13: (num´erico) edad (a˜nos). Atributo 14: (cualitativo) otros planes de cuotas. • A141:
bancos.
• A142:
tiendas.
• A143:
ninguno.
Atributo 15: (cualitativo) alojamiento. • A151:
arrendatario.
• A152:
propietario.
• A153:
allegado.
Atributo 16: (num´erico) n´umero de cr´editos existentes en este banco. Atributo 17: (cualitativo) trabajo. • A171:
desempleado / no calificado-no residente.
• A172:
no calificado - residente.
• A173:
empleado calificado / oficial.
• A174:
administraci´ on / empleado aut´onomo / empleado altamente calificado / oficial.
Atributo 18: (num´erico) n´umero de personas que est´an obligadas a proporcionar mantenimiento. Atributo 19: (cualitativo) tel´efono. • A191:
ninguno.
• A192:
si, registrado bajo el nombre de los clientes.
8
Atributo 20: (cualitativo) trabajador extranjero. • A201:
si.
• A202:
no.
Atributo 21: (num´erico) clase: Riesgo del cliente - Calidad del cliente. • 1:
bueno.
• 2:
malo.
9