{"id":19866066,"url":"https://github.com/zhenye-na/npca","last_synced_at":"2025-02-28T23:29:28.656Z","repository":{"id":94156234,"uuid":"113115924","full_name":"Zhenye-Na/npca","owner":"Zhenye-Na","description":"📃 Exploration of Nonlinear Component Analysis as a Kernel Eigenvalue Problem","archived":false,"fork":false,"pushed_at":"2019-03-13T04:48:25.000Z","size":10464,"stargazers_count":0,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-11T15:47:38.602Z","etag":null,"topics":["kernel-pca","pca"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","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/Zhenye-Na.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":"2017-12-05T01:31:39.000Z","updated_at":"2019-03-13T04:48:12.000Z","dependencies_parsed_at":"2023-04-04T14:46:59.037Z","dependency_job_id":null,"html_url":"https://github.com/Zhenye-Na/npca","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zhenye-Na%2Fnpca","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zhenye-Na%2Fnpca/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zhenye-Na%2Fnpca/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zhenye-Na%2Fnpca/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Zhenye-Na","download_url":"https://codeload.github.com/Zhenye-Na/npca/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241275398,"owners_count":19937349,"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":["kernel-pca","pca"],"created_at":"2024-11-12T15:24:55.246Z","updated_at":"2025-02-28T23:29:28.636Z","avatar_url":"https://github.com/Zhenye-Na.png","language":"Jupyter Notebook","readme":"# Nonlinear Component Analysis as a Kernel Eigenvalue Problem\nCourse project for [IE529: Stats of Big data \u0026 Clustering](https://ise.illinois.edu/courses/profile/IE529-120168), 2017 Fall, UIUC\n\n## Our team member\n| Name           | Guthub Homepage                                   |\n|----------------|---------------------------------------------------|\n| Jvn Karthik    | N/A                                               |\n| Naman Shukla   | [namanUIUC](https://github.com/namanUIUC)         |\n| Shubham Bansal | [bansalshubh91](https://github.com/bansalshubh91) |\n| Zhenye Na      | [Zhenye-Na](https://github.com/Zhenye-Na)         |\n| Ziyu Zhou      | [Ziyu0](https://github.com/Ziyu0)                 |\n\n## Our primary work\nWe implemnt the experiments presented in the paper Nonlinear Component Analysis as a Kernel Eigenvalue Problem by Bernhard Schölkopf, Alexander Smola, Klaus-Robert Müller. Also, we write our own example on Kernel PCA. In this regard, you can read our report and our presentation slides.\n\n## Dependencies\nIn order to run the experiments, make sure you have all dependencies installed\n- matplotlib (\u003e= 2.0.0)\n- scipy (\u003e=0.19.0)\n- numpy (\u003e=1.12.1)\n- sklearn (\u003e=0.0)\n\nYou can install them by typing\n\n`pip3 install 'whatever you need'`\n\nThe prgramming languages we use are Python and MATLAB. If you do not have access to MATLAB on your laptop. We advise you to install `Octave` instead. You can refer to [this](https://www.gnu.org/software/octave/download.html) webpage for installing.\n\n## Experiments in paper\nIn the paper, there are two major experiments:\n- Toy example: 4-degree Polynomial Kernel PCA\n- Character Recognition (USPS Dataset)\n\n### Toy example: 4-degree Polynomial Kernel PCA\nWe implemented this part with MATLAB. The code can be found [here](https://github.com/Zhenye-Na/npca/blob/master/our_kpca/kpca_code.m).\n\n## Our own implementation\n### SVM and KPCA on Iris Dataset\nPrincipal Component Analysis (PCA) is a dimensionality reduction technique that is used to transform and a high-dimensional dataset into a smaller dimen- sional subspace to give a directed impression of the dataset prior to running a machine learning algorithm on the data. The Iris dataset is in a 4 th dimensions (features) of three different iris ower species. \n\nRelated codes can be found [here](https://github.com/Zhenye-Na/npca/blob/master/application/SVM_on_Iris.ipynb).\n\n### SVC on USPS Dataset\nThe dataset contains numeric data obtained from the scanning of handwritten digits from envelopes by the U.S. Postal Service. The original scanned digits are binary and of diﬀerent sizes and orientations; the images here have been deslanted and size normalized, resulting in 16 × 16 grayscale. We will ﬁrst extract features via Kernel PCA and apply that to a SVM classiﬁer to train and test on the splitted USPS dataset.\n\nRelated codes can be found [here](https://github.com/Zhenye-Na/npca/blob/master/application/SVC_on_USPS.ipynb).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhenye-na%2Fnpca","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzhenye-na%2Fnpca","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhenye-na%2Fnpca/lists"}