Skip to content

Repository files navigation

Unsupervised-Learning-Algorithms

A collection of Jupyter notebooks that implement and demonstrate a variety of unsupervised learning algorithms (clustering, density-based clustering, association rule mining, hierarchical clustering, etc.) on example datasets.

📂 Repository Contents

File / Notebook Description
K_Means_Algorithm.ipynb Demonstration of K-Means clustering on sample data.
Hierarchical_clustering.ipynb Hierarchical clustering (agglomerative / divisive) examples.
Density_Based_Spatial_Clustering_of_Applications_with_Noise_(DBSCAN).ipynb DBSCAN — density-based clustering with noise handling.
Clustering_k_means,_k_mediods,_Meanshift,_DBSCAN,_Hierarchical_Merging_ipynb_Colab.ipynb Combined notebook demonstrating multiple clustering algorithms (K-Means, k-medoids/mediods, MeanShift, DBSCAN, Hierarchical clustering), suitable for comparing algorithm behavior.
Apriori_Association_Rule_Mining_.ipynb Implementation of the Apriori algorithm for association rule mining on transactional / categorical data.

(If more notebooks are added later — e.g. for dimensionality reduction, anomaly detection, autoencoders, etc. — list them here.)

✅ What This Repository Offers

  • Working implementations of classical unsupervised learning algorithms in Python / Jupyter notebooks.
  • Comparisons between different clustering techniques (e.g. density-based vs centroid-based vs hierarchical) to illustrate strengths and tradeoffs.
  • Easy-to-run notebooks to experiment with toy datasets (or your own datasets) to understand how unsupervised methods behave.
  • A foundation for building more advanced unsupervised / semi-supervised ML workflows (feature extraction, dimensionality reduction, anomaly detection, etc.).

🛠️ How to Use / Run

  1. Clone the repository:
    git clone https://github.com/Zivi09/Unsupervised-Learning-Algorithms.git
    cd Unsupervised-Learning-Algorithms

Set up a Python environment (recommended: Python 3.8+). For example, using venv:

bash Copy code python3 -m venv venv source venv/bin/activate # on Windows: venv\Scripts\activate pip install -r requirements.txt # if you provide a requirements file If you don’t have a requirements.txt, install common data-science packages:

bash Copy code pip install numpy pandas scikit-learn matplotlib seaborn jupyter Launch Jupyter Notebook / JupyterLab:

bash Copy code jupyter notebook and open any .ipynb file to run.

(Optional) Replace the sample data with your own datasets and adjust parameters / hyper-parameters to test clustering or association mining in your specific context.

🎯 Who is this for Students and beginners learning machine learning and unsupervised methods.

Developers/data-scientists who want quick prototyping or baseline clustering / association rule experiments.

Researchers who want a simple, clean starting point before extending to advanced tasks (e.g. feature engineering, anomaly detection, dimensionality reduction).

💡 Possible Extensions / Future Work Add more unsupervised / semi-supervised algorithms: e.g. dimensionality reduction (PCA, t-SNE, UMAP), autoencoders, anomaly detection, density estimation.

Include a unified API / wrapper functions to run algorithms on arbitrary datasets.

Add support for real-world datasets, including preprocessing steps (scaling, encoding categorical features, missing-value handling).

Add evaluation / metrics notebooks: cluster validity (silhouette score, Davies–Bouldin), comparison between algorithms, visualizations.

Provide example use-cases / real-world datasets (e.g. customer segmentation, anomaly detection, market basket data for association rules).

📚 References & Further Reading To deepen your understanding of unsupervised learning, clustering, association rules, and other techniques — you may refer to standard resources, textbooks, or online tutorials. Additionally you can explore other open-source implementations / repos about unsupervised learning to compare approaches.

🤝 Contributing Contributions are welcome! If you’d like to add new algorithms, improve documentation, or expand existing notebooks:

Fork the repository.

Create a new branch for your changes.

Submit a Pull Request with a clear description of what you added or changed.

Please follow consistent coding style, include meaningful comments, and (if adding new notebooks) provide example usages and explanations.

Enjoy exploring unsupervised learning! Feel free to experiment, modify, and build upon this repository. 🚀

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages