An open API service indexing awesome lists of open source software.

https://github.com/khushi130404/k_means

This repository showcases 2D, 3D, and custom K-Means clustering models with visualizations. It includes both Jupyter notebooks and Python scripts for ease of reproducibility.
https://github.com/khushi130404/k_means

clustering-algorithm k-means-clustering numpy plotly sklearn

Last synced: 9 months ago
JSON representation

This repository showcases 2D, 3D, and custom K-Means clustering models with visualizations. It includes both Jupyter notebooks and Python scripts for ease of reproducibility.

Awesome Lists containing this project

README

          

# K_Means

This repository, K_Means, contains implementations and visualizations of the K-Means clustering algorithm in both 2D and 3D, along with a self-created K-Means model. The project includes interactive Jupyter notebooks (.ipynb files) and Python scripts (.py files) for ease of use and reproducibility.

## 📊 Visualizations

- 2D Clustering Graphs: Shows the separation of data points into distinct clusters.

- 3D Clustering Graphs: Provides an interactive 3D view of clustered data points.

- Iteration-wise Graphs: Displays how clusters evolve with each iteration of the K-Means algorithm.

## 🚀 Features

### 1. K-Means Model in 2D
- Implementation of the K-Means clustering algorithm in a 2D space.
- Interactive visualizations to show how clusters are formed.
- Code available in both .ipynb format.

### 2. K-Means Model in 3D
- Extends the K-Means algorithm to 3D data.
- 3D plots using libraries like Matplotlib and Plotly for enhanced visualization.
- Code available in a Jupyter notebook for interactive exploration.

### 3. Self-Created K-Means Model
- A custom implementation of the K-Means algorithm from scratch.
- Includes methods for initializing centroids, assigning clusters, and updating centroids.
- Fully implemented in Python (.py file).

### 4. Graphs and Visualization
- Detailed visualizations of clustering results in both 2D and 3D.
- Use of various Python libraries such as Matplotlib, Seaborn, and Plotly for dynamic and interactive plots.
- Comparison of clustering outcomes with different initial centroids and number of clusters.

## 🛠️ Technologies Used

- Python: Core language used for all implementations.

- Jupyter Notebooks: Interactive environment for coding and visualization.

- Matplotlib: For creating 2D and 3D plots.

- Seaborn: For enhancing visualizations.

- Plotly: For interactive 3D plots.

- NumPy: For efficient numerical computations.

- scikit-learn: For using built-in K-Means functionality and data preprocessing.