https://github.com/ronmondshein/symnmf
Implementation of ML models, including the k-means algorithm and symNMF, in both C and Python 💻.
https://github.com/ronmondshein/symnmf
c k-means python symnmf
Last synced: 7 months ago
JSON representation
Implementation of ML models, including the k-means algorithm and symNMF, in both C and Python 💻.
- Host: GitHub
- URL: https://github.com/ronmondshein/symnmf
- Owner: RonMondshein
- Created: 2023-10-08T08:32:32.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-27T21:24:55.000Z (9 months ago)
- Last Synced: 2025-02-06T06:42:19.479Z (8 months ago)
- Topics: c, k-means, python, symnmf
- Language: C
- Homepage:
- Size: 686 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Software_Project
4 projects in c and python.
Main purpose- Implementation of k-means algorithm.***********
Assignment_0
***********
Base conventer- get familiar with C.************
Assignment_1
************
In this assignment, the K-means algorithm was implemented, a widely-used clustering method that partitions a set of N unlabeled observations into K distinct clusters, with K being a user-defined parameter. The implementation was carried out in both Python and C.The K-means algorithm involves an iterative process of assigning data points to clusters based on their proximity to cluster centroids, followed by updating the centroids to minimize the overall intra-cluster variance. The Python implementation leverages the language's expressive syntax and ease of use, while the C implementation emphasizes efficiency and low-level control over computational resources.
************
Assignment_2
************
The assignment involved implementing the K-means++ algorithm in Python to determine initial centroids for the K-means algorithm. This implementation was then integrated with the K-means algorithm from Assignment_1, which was ported to a C extension using the C API.The assignment's objectives were met through:
Porting the existing C extension using the C API.
Gaining hands-on experience with external packages like Numpy, Pandas, and others.*********
Project
********
A clustering algorithm based on symmetric Non-negative Matrix Factorization (symNMF) was implemented in this project. Furthermore, the algorithm was compared to the K-means algorithm.