Entregas del curso Laboratorio de Programación Científica para Ciencia de Datos - MDS7202 del Magister de Ciencia de Datos de la Facultad de Ciencias Físicas y Matemáticas de la Universidad de Chile
Integrantes:
Esta primera fase tiene como objetivo la detección de potenciales clientes fraudulentos de una entidad bancaria llamada Bodoque Bank. Para lo cual se cuenta con un set de datos The Bank Account Fraud (BAF), que contiene registros de clientes bancarios y sus características demográficas y también las que tienen que ver con su relación con la organización. En total, son 32 variables que describen desde los ingresos, edades, situación de residencial y laboral, entre otras características demográficas, hasta si el banco los considera como clientes que cometen fraude, el medio de pago que ocupan, antiguedad de la cuenta, entre otros atributos bancarios.
El desarrollo de este objetivo considera dos tareas principales que se listan a continuación:
-
Generar un Análisis exploratorio de Datos (EDA) que describa set de datos. Esto mediante cálculo de métricas y visualizaciones, así cómo también con el procesamiento de datos.
-
Buscar anomalías de forma automatizada. Esto mediante la aplicación de algoritmos de "novelty detection".
- Crear un modelo para identificar clientes riesgosos
Objetivos:
- Conocer los elementos básicos que conformar
Git
. - Clonar repositorios.
- Identificar ramas de un repositorio.
- Reconocer y solucionar problemas entre ramas.
- Subir cambios a un repositorio.
Objetivos:
- Variables, Operadores y Expresiones.
- Estructuras de Control (
if/else
). - Iteraciones.
- Listas y Diccionarios.
- Funciones.
- Programación Orientada a Objetos (Encapsulamiento, Polimorfismo y Herencia).
Objetivos:
- Aplicar los paradigmas y buenas prácticas de programación vistas hasta este momento.
- Comprender y aprovechar las ventajas que nos ofrece la liberia
numpy
con respecto a trabajar en Python 'puro'. - Visualizar aplicaciones de filtros de imágenes sin el uso de librerías.
- Verificar que el uso indiscriminado de
for
puede afectar en la eficiencia en al procesar datos masivos.
Objetivos:
- Entender, aplicar y aprovechar las ventajas que nos ofrece la libreria
pandas
para manejar datos tabulares. - Aprender a utilizar la documentación de pandas (y en general, de cualquier librería de python) como también a buscar soluciones en la web.
Objetivos:
- Aplicar y aprovechar las ventajas que nos ofrece la libreria
pandas
. - Utilizar
plotly
para obtener información gráfica del dataset. - Aplicar el Análisis Exploratorio de Datos a un caso en particular.
Objetivos:
- Aplicar los paradigmas y buenas prácticas de programación vistas hasta este momento.
- Comprender y aprovechar las ventajas que nos ofrece la liberia
numpy
con respecto a trabajar en Python 'puro'. - Visualizar aplicaciones de filtros de imágenes sin el uso de librerías.
- Verificar que el uso indiscriminado de
for
puede afectar en la eficiencia en al procesar datos masivos.
Objetivos:
- Comprender y aprovechar las ventajas que nos ofrece la librería
pandas
con respecto a trabajar en Python "puro". - Crear nuevas características para entrenar un modelo de clustering.
- Comprender como aplicar pipelines de Scikit-Learn para generar procesos más limpios.
Objetivos:
- Comprender el funcionamiento de clasificadores/regresores.
- Generar múltiples modelos predictivos.
- Comprender las ventajas de crear modelos en pipeline vs hacer las operaciones a mano.
Objetivos:
- Obtener caracteristicas a partir de texto usando
CountVectorizer
. - Fijar un pipeline con un modelo base que luego se irá optimizando.
- Comprender como realizar una búsqueda de grilla sobre un conjunto de clasificadores e hiperparámetros usando
GridSearch
.
Objetivos:
- Generar un pipeline de clasificación con
XGBoost
. - Implementar modelos de interpretabilidad Global (
Partial Dependence Plot
,Permutation Feature Importance
) y Local (Scoped Rules
,SHAP
) para explicar el funcionamiento del modelo de clasificación.
Objetivos:
- Automatizar el flujo de vida de un proyecto de machine learning usando
kedro
- Formatear código usando
flake8
,isort
yblack
- Registrar y comparar modelos a través de
MLflow