Este proyecto utiliza técnicas de aprendizaje automático para predecir si un cliente contratará un depósito a plazo fijo en un banco, basándose en datos de campañas de marketing anteriores.
El código implementa varios modelos de aprendizaje automático, incluyendo regresión logística, árboles de decisión, random forest, gradient boosting y redes neuronales, para predecir la probabilidad de que un cliente contrate un depósito a plazo fijo. Se utilizan técnicas de validación cruzada y ensamblado para mejorar y comparar el rendimiento de los modelos.
- Preprocesamiento de datos, incluyendo estandarización y creación de variables dummy
- Selección de variables utilizando diferentes métodos (Boruta, RFE, MXM)
- Implementación de múltiples modelos de aprendizaje automático
- Validación cruzada para evaluar el rendimiento de los modelos
- Técnicas de ensamblado para combinar predicciones de diferentes modelos
- Visualizaciones para interpretar los resultados
- Regresión Logística
- Árboles de Decisión
- Random Forest
- Gradient Boosting (XGBoost)
- Redes Neuronales
- Support Vector Machines (SVM)
- CatBoost
- Tasa de error
- AUC (Área bajo la curva ROC)
- R (versión recomendada: 4.0.0 o superior)
- Paquetes de R: caret, randomForest, xgboost, gbm, nnet, kernlab, catboost, ggplot2, dplyr, pROC, entre otros.
- Asegúrate de tener instalados todos los paquetes necesarios.
- Carga los datos en el formato adecuado.
- Ejecuta las secciones del código en orden para realizar el análisis completo.
- Revisa los resultados y visualizaciones generadas.
datos_finales.csv: Archivo de datos (no incluido en el repositorio)script_principal.R: Código principal con todo el análisis- Archivos de funciones auxiliares:
funcion steprepetido binaria.Rcruzadas avnnet y log binaria.Rcruzada arbolbin.Rcruzada rf binaria.Rcruzada gbm binaria.Rcruzada xgboost binaria.Rcruzada catboost binaria.Rcruzada SVM binaria lineal.Rcruzada SVM binaria polinomial.Rcruzada SVM binaria RBF.R
Las contribuciones son bienvenidas. Por favor, abre un issue para discutir los cambios propuestos antes de realizar un pull request.