Skip to content

RonMondshein/SymNMF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Implementation of ML models, including the k-means algorithm and symNMF, in both C and Python 💻.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors