Loading repository data…
Loading repository data…
sebasr0 / repository
Análisis y modelado de quejas bancarias utilizando Spark-NLP, AWS EMRStudio. Aplicación con Streamlit y Docker para clasificar las quejas bancarias
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Este proyecto utiliza Spark NLP para el procesamiento y análisis de texto de quejas bancarias. A continuación, se describe la estructura y los componentes del proyecto.
El proyecto se organiza en los siguientes directorios y archivos:
/app: Contiene la aplicación en Streamlit y el código principal.
requirements.txt: Dependencias necesarias para ejecutar la aplicación en un contenedor Docker.models: Modelos entrenados, incluyendo CountVectorizer, IDF, LDA, LogisticRegression y DecisionTree.Dockerfile: Configuración para generar el contenedor a partir del repositorio clonado./config/: Archivos de configuración para EMR./sparknlp-complaints: Notebooks de Jupyter que contienen análisis, creación de funciones, y pipelines de Spark NLP. Incluye el uso de MlFlow para el seguimiento de modelos.
mlruns: Registro de experimentos y modelos en MlFlow.Tema 0: Hipotecas y Bienes Raíces
['loan', 'mortgage', 'home', 'modification', 'property', 'payment']Tema 1: Operaciones Bancarias y Transacciones
['check', 'deposit', 'fund', 'account', 'branch', 'bank']Tema 2: Informes de Crédito y Disputas
['report', 'credit', 'inquiry', 'dispute', 'consumer']Tema 3: Tarjetas de Crédito y Cargos de Intereses
['payment', 'fee', 'balance', 'card', 'account']Tema 4: Fraude y Disputas de Transacciones
['charge', 'fraud', 'transaction', 'claim', 'card']Se utilizaron los siguientes modelos para la prediccion de nuevas etiquetas.
Logistic Regression
Decision Tree
El modelo de Logistic Regression fue seleccionado para la aplicación.
Para ejecutar el proyecto, se requieren las siguientes aplicaciones:
Para ejecutar los notebooks en un entorno diferente como Amazon EMR o Ubuntu, se deben tener las siguientes dependencias y paquetes:
docker pull sebasr0/complaints-spark-app:latest
Si su instancia de Amazon Linux 2 no tiene docker instalado, puede instalarlo siguiendo estos comandos en orden:
sudo yum update -y
sudo amazon-linux-extras install docker -y
sudo service docker start
sudo usermod -aG docker ec2-user
newgrp docker
docker run -p 8501:8501 sebasr0/complaints-spark-app:latest
Nota: Si se ejecuta desde una instancia EC2 con Amazon Linux 2, asegurarse de configurar los puertos de entrada del grupo de seguridad de la instacia para que coincidan con los del puerto de la app (8501) y que la instancia tenga accseso a internet.
/config/configemr.json y /config/sparknlp.sh respectivamente, deben estar cargados en un bucket de s3 previamente.Las configuraciones de software permiten instalar la version de Java 11 en todas las aplicaciones de los nodos, esta version es compatible con SparkNLP, adicionalmente configura la libreria SparkNLP al iniciar una sesion de Spark para el cluster, y los nodos correspondientes.
El script de Boostrapactions genera los permisos necesarios de la libreria SparkNLP y descarga otras librerias necesarias para el procesamiento de lenguaje.
El proyecto puede ser utilizado para procesar y analizar texto utilizando Spark NLP. El notebook de Jupyter proporciona un ejemplo de cómo utilizar el proyecto para procesar texto.
Las contribuciones son bienvenidas. Para contribuir, crea un fork del proyecto y envía un pull request con tus cambios.
El proyecto está licenciado bajo la licencia MIT.
Si tienes alguna pregunta o necesitas ayuda, no dudes en contactarme en https://github.com/sebasr0/.