{"id":20541578,"url":"https://github.com/jrsai/k-means","last_synced_at":"2025-10-15T17:58:25.762Z","repository":{"id":122065489,"uuid":"83611748","full_name":"jrsai/K-Means","owner":"jrsai","description":"K-Means Clustering","archived":false,"fork":false,"pushed_at":"2017-04-07T23:27:26.000Z","size":10458,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-06T04:27:28.077Z","etag":null,"topics":["data-structures-algorithms","kmeans-clustering","linked-list"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jrsai.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-03-01T23:21:37.000Z","updated_at":"2019-10-01T02:05:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"a476ac70-63ad-4b5c-bcfe-0d3416dd2f47","html_url":"https://github.com/jrsai/K-Means","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jrsai/K-Means","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrsai%2FK-Means","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrsai%2FK-Means/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrsai%2FK-Means/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrsai%2FK-Means/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jrsai","download_url":"https://codeload.github.com/jrsai/K-Means/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrsai%2FK-Means/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279098396,"owners_count":26103028,"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","status":"online","status_checked_at":"2025-10-15T02:00:07.814Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-structures-algorithms","kmeans-clustering","linked-list"],"created_at":"2024-11-16T01:24:43.388Z","updated_at":"2025-10-15T17:58:25.726Z","avatar_url":"https://github.com/jrsai.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Data Structures Course Project Repo\n\nCollaborated with 3 fellow Software Engineering Students to implement K-Means using Lolyd's Algorithm which was also implemented along with a linked list as one of the data structures.   \n\n\u003ch1\u003e Description \u003c/h1\u003e\n\u003cp\u003e K-Means helps plot dot and find clusters to help show a trend or pattern of the given data set.  \u003c/p\u003e\n\n\u003ch1\u003e What it does \u003c/h1\u003e\n\u003cp\u003e Takes a data 2-D data set as input along with the number of clusters wanted and computes the K-Means to give a scatter plot showing the clusters. This was done mostly based on our implementation of Lloyd's Algorithm. \u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ctable\u003e \n\u003ch1\u003e Unclustered and Clustered plots built using given data \u003c/h1\u003e\n\u003ctr\u003e \n\u003ctd\u003e \u003cimg src=\"https://github.com/jrsai/K-Means/blob/master/images/kmeans0.png\" /\u003e \u003c/td\u003e\n\u003ctd\u003e \u003cimg src=\"https://github.com/jrsai/K-Means/blob/master/images/kmeans1.png\" /\u003e \u003c/td\u003e \n\u003c/tr\u003e \n\u003ctr\u003e \n\u003ctd colspan=2\u003e 2 clusters \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e \n\u003ctd\u003e \u003cimg src=\"https://github.com/jrsai/K-Means/blob/master/images/kmeans2.png\" /\u003e \u003c/td\u003e \n\u003ctd\u003e \u003cimg src=\"https://github.com/jrsai/K-Means/blob/master/images/kmeans3.png\" /\u003e \u003c/td\u003e \n\u003c/tr\u003e\n\u003ctr\u003e \n\u003ctd colspan=2\u003e 4 clusters \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e \u003cimg src=\"https://github.com/jrsai/K-Means/blob/master/images/kmeans4.png\" /\u003e \u003c/td\u003e \n\u003ctd\u003e \u003cimg src=\"https://github.com/jrsai/K-Means/blob/master/images/kmeans5.png\" /\u003e \u003c/td\u003e \n\u003c/tr\u003e\n\u003ctr\u003e \n\u003ctd colspan=2\u003e 3 clusters \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e \u003cimg src=\"https://github.com/jrsai/K-Means/blob/master/images/kmeans6.png\" /\u003e \u003c/td\u003e \n\u003ctd\u003e \u003cimg src=\"https://github.com/jrsai/K-Means/blob/master/images/kmeans7.png\" /\u003e \u003c/td\u003e \n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e \u003cimg src=\"https://github.com/jrsai/K-Means/blob/master/images/kmeans8.png\" /\u003e \u003c/td\u003e \n\u003ctd\u003e \u003cimg src=\"https://github.com/jrsai/K-Means/blob/master/images/kmeans9.png\" /\u003e \u003c/td\u003e \n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e \u003cimg src=\"https://github.com/jrsai/K-Means/blob/master/images/kmeans10.png\" /\u003e \u003c/td\u003e \n\u003ctd\u003e \u003cimg src=\"https://github.com/jrsai/K-Means/blob/master/images/kmeans11.png\" /\u003e \u003c/td\u003e \n\u003c/tr\u003e\n\u003ctr\u003e \n\u003ctd colspan=2\u003e 4 clusters \u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e \n\u003c/p\u003e\n\u003ch1\u003e Challenges \u003c/h1\u003e\n\u003cp\u003e \u003cul\u003e \u003cli\u003e Algorithm was difficult to implement as the equation to determine the K was confusing in the pseudocode. \u003c/li\u003e\n\u003cli\u003e Since we were not able to use any libraries such as Open CV, we had to use our experience of implementing algorithms through what we had learnt in the course. \u003c/li\u003e \u003c/ul\u003e \u003c/p\u003e\n\n\u003ch1\u003e Future plans \u003c/h1\u003e\n\u003cp\u003e\n\u003cul\u003e \u003cli\u003eMake computations faster for bigger data sets \u003c/li\u003e \n\u003cli\u003e Decrease time complexity \u003c/li\u003e \n\u003c/ul\u003e \n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjrsai%2Fk-means","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjrsai%2Fk-means","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjrsai%2Fk-means/lists"}