{"id":17024488,"url":"https://github.com/aitorres/caupo","last_synced_at":"2026-04-11T02:30:14.905Z","repository":{"id":38987884,"uuid":"224960503","full_name":"aitorres/caupo","owner":"aitorres","description":"Cluster Analysis of Unsupervised Political Opinions - Undergraduate senior thesis @ Universidad Simón Bolívar","archived":false,"fork":false,"pushed_at":"2024-09-17T17:23:47.000Z","size":5848,"stargazers_count":0,"open_issues_count":7,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-09-17T21:50:36.376Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aitorres.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-30T04:43:29.000Z","updated_at":"2024-09-17T17:22:39.000Z","dependencies_parsed_at":"2023-02-07T23:16:43.609Z","dependency_job_id":"de8e4029-5be3-4535-9a18-0cef796427a0","html_url":"https://github.com/aitorres/caupo","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aitorres%2Fcaupo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aitorres%2Fcaupo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aitorres%2Fcaupo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aitorres%2Fcaupo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aitorres","download_url":"https://codeload.github.com/aitorres/caupo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219847918,"owners_count":16556341,"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":[],"created_at":"2024-10-14T07:25:46.878Z","updated_at":"2026-04-11T02:30:14.852Z","avatar_url":"https://github.com/aitorres.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CAUPO\n\nCluster Analysis of Unsupervised Political Opinions - Undergraduate senior thesis @ Universidad Simón Bolívar\n\n## Order of initial experiments\n\nIn order to reproduce the workflow of initial experiments in the project, you can follow this suggested order (although, since each experiment is independent from others, you can run just one, or several in any order you want):\n\n1. `measure_embeddings.py`\n2. `measure_proper_k_for_embeddings.py`\n3. `measure_possible_eps_values_for_embeddings.py`\n4. `measure_hyperparameters_for_dbscan.py`\n5. `measure_optics_clusters.py`\n6. `measure_hdbscan_clusters.py`\n7. `measure_mean_shift_clusters.py`\n8. `measure_affinity_propagation_clusters.py`\n\nYou can run the following script which has been added to the repository in order to easen up each measurement run with some extra considerations, such as turning off Twitter fetching while tests run\n\n```bash\nnohup nice -n -19 ./run_initial_experiments.sh \u0026\n```\n\n## Things to remember\n\nTo run Python scripts that are costly / resource intensive:\n\n- Use `nohup` so that internet interruptions don't... interrupt your script (delete previous `nohup.out` files)\n- Use `nice -n -19` to give your script maximum priority (unless you don't need to)\n- Use `python -u` to disable the stdout buffer and allow for exceptions and errors to be recorded immediately in log files\n- Use `\u0026` to daemonize your script\n\nExample:\n\n```bash\nnohup nice -n -19 python -u measure_embeddings.y \u0026\n```\n\n## Interesting links\n\n- MongoDB cheat sheet: https://gist.github.com/bradtraversy/f407d642bdc3b31681bc7e56d95485b6\n\n## Run the API\n\nTo run the API (back-end), use this command:\n\n```bash\ngunicorn -w 2 --threads 2 --preload --bind 0.0.0.0:5000 backend.app:app\n```\n\nAdjust the port and other parameters of Gunicorn as needed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faitorres%2Fcaupo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faitorres%2Fcaupo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faitorres%2Fcaupo/lists"}