{"id":17460598,"url":"https://github.com/alejandromllo/datatonbc_2018","last_synced_at":"2025-06-16T00:08:46.896Z","repository":{"id":190055036,"uuid":"154975317","full_name":"AlejandroMllo/DatatonBC_2018","owner":"AlejandroMllo","description":"Dataton-BC 2018. Transaction Classification.","archived":false,"fork":false,"pushed_at":"2019-05-30T06:44:57.000Z","size":11480,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-14T18:51:57.040Z","etag":null,"topics":["artificial-intelligence","classification","data-science","knn","knn-algorithm","knn-classification","knn-classifier","knn-model","machine-learning","svm-classifier","transactions"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlejandroMllo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-10-27T14:46:28.000Z","updated_at":"2019-05-30T06:44:59.000Z","dependencies_parsed_at":"2023-08-23T03:37:42.717Z","dependency_job_id":null,"html_url":"https://github.com/AlejandroMllo/DatatonBC_2018","commit_stats":null,"previous_names":["alejandromllo/datatonbc_2018"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AlejandroMllo/DatatonBC_2018","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlejandroMllo%2FDatatonBC_2018","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlejandroMllo%2FDatatonBC_2018/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlejandroMllo%2FDatatonBC_2018/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlejandroMllo%2FDatatonBC_2018/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlejandroMllo","download_url":"https://codeload.github.com/AlejandroMllo/DatatonBC_2018/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlejandroMllo%2FDatatonBC_2018/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260072753,"owners_count":22954921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["artificial-intelligence","classification","data-science","knn","knn-algorithm","knn-classification","knn-classifier","knn-model","machine-learning","svm-classifier","transactions"],"created_at":"2024-10-18T05:56:35.065Z","updated_at":"2025-06-16T00:08:46.863Z","avatar_url":"https://github.com/AlejandroMllo.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DatatonBC 2018\nDatatonBC 2018. Transaction Classification/Clasificación de Transacciones.\n\nClasificación de transacciones PSE.\nSe espera que el usuario entienda la naturaleza de sus\nmovimientos bancarios a través de PSE. Adicionalmente, Bancolombia\npodrá detectar el destino del dinero.\n\n![Prototipo App Personas](https://raw.githubusercontent.com/AlejandroMllo/DatatonBC_2018/master/Supporting_Files/App.png)\n\n### Equipo: Eafitting\n##### Integrantes:\n- Alejandro Murillo G.\n- Henry Velasco V.\n- Juan Pablo Vidal C.\n\n-----------------------------\n\n### Metodología y Resultados\n\nEn el documento ['Clasificacion_de_TransaccionesPSE_con_kNN.pdf'](https://github.com/AlejandroMllo/DatatonBC_2018/blob/master/Clasificacion_de_TransaccionesPSE_con_kNN.pdf) se encuentra\nuna descripcion breve y detallada de la metodología usada y de los resultados obtenidos. La siguiente\ntabla resume algunos resultados:\n\n\n\n| Dataset       | Score    | Accuracy | Recall   | Precision | F1       | R^2      | Size\n|---------------|----------|----------|----------|-----------|----------|----------| --------\n| Entrenamiento | 0.991257 | 0.991257 | 0.991257 | 0.991208  | 0.991076 | 0.984354 | 1'350.000\n| Validación    | 0.990373 | 0.990373 | 0.990373 | 0.990338  | 0.990435 | 0.978653 | 75.000\n| Prueba        | 0.98808  | 0.98808  | 0.98808  | 0.989438  | 0.988381 | 0.974052 | 75.000\n\n###### Muestra Datos No Etiquetados\nTomamos una muestra de alrededor del 10% de los datos no etiquetados. Haciendo uso del kNN entrenado clasificamos esos datos y obtuvimos los siguientes resultados:\n\n**Número Transacciones por Categoría**\n\n![numero_transacciones](https://github.com/AlejandroMllo/DatatonBC_2018/blob/master/Supporting_Files/kNN_TransaccionPSE.jpeg?raw=true)\n\nLa mayoría de las transacciones ocurren en las categorías __Valor agregado__, __Tecnología y Comunicaciones__, __Servicios Bancarios__, __Administración central__ y __Electricidad__.\n\n**Valor Transacciones por Categoría**\n\n![valor_transacciones](https://github.com/AlejandroMllo/DatatonBC_2018/blob/master/Supporting_Files/kNN_ValorTransaccionesPSE.jpeg?raw=true)\n\nAlrededor del 80% del dinero es usado en transacciones de las categorías __Servicios Bancarios__, __Tecnología__ y __Comunicaciones__.\n\n\n**En [Additional_Models](https://github.com/AlejandroMllo/DatatonBC_2018/tree/master/Additional_Models) puede encontrar unos notebook con los _prometedores_ resultados al tratar de clasificar con otros modelos.**  \n\n### Uso\n1. Preprocesamiento dataset original: __'dt_trxpse_personas_2016_2018_muestra_adjt.csv'__.\n    1. Esto se lleva a cabo con el script [trxpse_persona_data_scraper.py](https://github.com/AlejandroMllo/DatatonBC_2018/blob/master/Transaction_Classifier/trxpse_persona_data_scraper.py).\n    1. Se reemplaza en la variable *dataset_path* con el path del CSV *'dt_trxpse_personas_2016_2018_muestra_adjt.csv'*.\n    1. Se corre el script.\n    1. El script crea dos data sets (estos contienen las transacciones **con** y **sin** label, desordenadas):\n        1. 'LABELED_DATA_TRXPSE_BC.csv'\n        1. 'UNLABELED_DATA_TRXPSE_BC.csv'\n2. Carga de datos:\n    1. Se hace uso de la clase [LoadData.py](https://github.com/AlejandroMllo/DatatonBC_2018/blob/master/Transaction_Classifier/LoadData.py).\n    1. Se reemplaza el atributo *__dataset_path* con el path de 'LABELED_DATA_TRXPSE_BC.csv'; y\n       en *x_path* y *y_path* los paths de 'X_DATA_TRXPSE_BC.csv' y 'Y_DATA_TRXPSE_BC.csv', respectivamente.\n    1. Si es la primera vez que se usa, es necesario hacer el parámetro de inicialización __load_unprocessed_data=True__.\n       Esto guarda los datos procesados en dos archivos ('X_DATA_TRXPSE_BC.csv', 'Y_DATA_TRXPSE_BC.csv'),\n       que serán usados para crear los sets de *Entrenamiento*, *Validación* y *Prueba*.\n       En caso contrario, una vez instanciado *LoadData* se llama el método *load_processed_data()*, que cargará\n       'X_DATA_TRXPSE_BC.csv' y 'Y_DATA_TRXPSE_BC.csv' y creará los data sets necesarios.\n3. Clasificación:\n    1. Se hace uso de la clase [TransactionClassifier.py](https://github.com/AlejandroMllo/DatatonBC_2018/blob/master/Transaction_Classifier/TransactionClassifier.py).\n    1. Una vez instanciado se llama el método *train()* y se le pasan los datos\n       cargados en el paso anterior.\n    1. Use de acuerdo a su necesidad los métodos *test()*, *predict()*, *get_confusion_matrix()*,\n       *save_model()* y *load_model()*.\n       \n----------------------------------\n\nOctubre 29, 2018.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falejandromllo%2Fdatatonbc_2018","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falejandromllo%2Fdatatonbc_2018","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falejandromllo%2Fdatatonbc_2018/lists"}