{"id":15910863,"url":"https://github.com/gianlucatruda/pca-vis","last_synced_at":"2026-04-29T10:32:18.591Z","repository":{"id":67059278,"uuid":"181148662","full_name":"gianlucatruda/pca-vis","owner":"gianlucatruda","description":"Real-time tool for exploring the relationships between PCA components and input features","archived":false,"fork":false,"pushed_at":"2019-04-13T10:55:51.000Z","size":6794,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-08T15:48:04.681Z","etag":null,"topics":["data-science","dimensionality-reduction","interactive","matplotlib-pyplot","pca","principal-component-analysis","principal-components","pygame","sklearn"],"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/gianlucatruda.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-04-13T09:26:40.000Z","updated_at":"2019-10-29T23:53:28.000Z","dependencies_parsed_at":"2023-02-21T08:30:30.870Z","dependency_job_id":null,"html_url":"https://github.com/gianlucatruda/pca-vis","commit_stats":{"total_commits":7,"total_committers":2,"mean_commits":3.5,"dds":0.1428571428571429,"last_synced_commit":"5df80e7a71271919676f5d160f9be91cfdffceea"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gianlucatruda%2Fpca-vis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gianlucatruda%2Fpca-vis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gianlucatruda%2Fpca-vis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gianlucatruda%2Fpca-vis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gianlucatruda","download_url":"https://codeload.github.com/gianlucatruda/pca-vis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246922240,"owners_count":20855343,"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":["data-science","dimensionality-reduction","interactive","matplotlib-pyplot","pca","principal-component-analysis","principal-components","pygame","sklearn"],"created_at":"2024-10-06T15:22:03.059Z","updated_at":"2026-04-29T10:32:18.559Z","avatar_url":"https://github.com/gianlucatruda.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PCA Visualisation\n\nReal-time tool for exploring the relationships between [PCA](https://en.wikipedia.org/wiki/Principal_component_analysis) components and input features.\n\nOr, _\"Roughly what do these principal components actually correspond to?\"_\n\n![Demonstration GIF](docs/demo.gif)\n\n## Features\n* Real-time plot to give intuition about prinipal components.\n* Sliders dynamically created for each input feature.\n* Sliders begin at mean and are scaled to feature data ranges, giving an intuitive feel of how \"sensitive\" the components are to each feature.\n\n## Installation\n\n```bash\npip install -r requirements.txt\n```\nMatplotlib has to be installed as a framework.\n\n## Usage\n\nRun the demo on the [iris dataset](http://archive.ics.uci.edu/ml/datasets/iris) using:\n\n```bash\npython3 pca_vis.py\n```\n\nOr load any dataset as a Pandas DataFrame and pass it into the `main()` function as an argument.\n\n## Understanding \n\nTo learn a bit more about PCA, check out my friend Gary's [repo](https://github.com/GaryFinkelstein/Principal-Component-Analysis).\n\n\n## Contributions\n\n* Gianluca Truda — [Github](https://github.com/gianlucatruda) | [LinkedIn](https://za.linkedin.com/in/gianluca-truda)\n\nThis project was inspired by [this one](https://github.com/HackerPoet/FaceEditor) and adapted the generic slider code [from here](https://www.dreamincode.net/forums/topic/401541-buttons-and-sliders-in-pygame/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgianlucatruda%2Fpca-vis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgianlucatruda%2Fpca-vis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgianlucatruda%2Fpca-vis/lists"}