/ML-algorithms-from-Scratch

Here we have fully implemented a number of algorithms related to machine learning

Primary LanguagePythonMIT LicenseMIT

In this repository, we have meticulously implemented a diverse array of machine learning algorithms from scratch, demonstrating a deep understanding of the underlying principles and mechanisms. Throughout the development of these algorithms, we have adhered to a commitment to simplicity, relying solely on the powerful NumPy library.

Implemented Algorithms:

  1. Load Data ✓

    • Efficient data handling and preprocessing form the cornerstone of any machine learning project. Our data loading implementation ensures seamless integration with the subsequent algorithms.
  2. Logistic Regression ✓

    • A fundamental classification algorithm, logistic regression, has been implemented from scratch. This algorithm is essential for binary classification tasks, showcasing our proficiency in foundational machine learning concepts.
  3. Linear Regression ✓

    • Building upon the principles of regression analysis, our linear regression implementation demonstrates a thorough grasp of predictive modeling for continuous variables.
  4. Regression ✓

    • A more generalized regression algorithm has been implemented, showcasing adaptability to various regression scenarios beyond linear regression.
  5. K-Nearest Neighbors (KNN) ✓

    • The KNN algorithm, a versatile and intuitive method for both classification and regression tasks, has been implemented to showcase our competence in non-parametric algorithms.
  6. Weighted K-Nearest Neighbors (W-KNN) ✓

    • Extending the KNN approach, we've implemented a weighted variant that considers the influence of each neighbor based on predefined weights.
  7. K-Means ✓

    • Our K-Means implementation demonstrates proficiency in unsupervised learning, particularly in the context of cluster analysis.
  8. Cosine Similarity ✓

    • Cosine similarity, a key metric for measuring similarity between vectors, has been implemented to underscore our expertise in similarity-based algorithms.
  9. Naive Bayes ✓

    • The Naive Bayes algorithm, a probabilistic classifier based on Bayes' theorem, has been implemented to showcase our capabilities in probabilistic modeling.
  10. Naive Bayes with Alpha Parameter ✓

    • A refined version of Naive Bayes with an additional alpha parameter has been implemented, demonstrating our attention to hyperparameter tuning.
  11. Decision Tree ✓

    • Decision trees, a powerful tool for both classification and regression, have been implemented, showcasing our proficiency in tree-based algorithms.
  12. Random Forest ✓

    • Building on the decision tree concept, our random forest implementation emphasizes ensemble learning, adding a layer of complexity to our repertoire.
  13. Principal Component Analysis (PCA) ✓

    • PCA, a dimensionality reduction technique, has been implemented to showcase our expertise in feature extraction and data compression.
  14. Support Vector Machine (SVM)

    • (Work in Progress) Our ongoing efforts include the implementation of SVM, a robust algorithm for both classification and regression tasks.
  15. AdaBoost ✓

    • AdaBoost, an ensemble learning technique, has been implemented to showcase our proficiency in boosting algorithms.
  16. Non-Negative Matrix Factorization (NMF) ✓

    • NMF, a dimensionality reduction technique with applications in feature extraction, has been implemented, highlighting our capabilities in matrix factorization.
  17. DBSCAN ✓

    • Our meticulous implementation of DBSCAN reflects expertise in unsupervised density-based clustering for identifying clusters of varying shapes and sizes while robustly handling noise points.
  18. Minimum Distance Classifier✓

    • Our implementation employs distance metrics for efficient classification, emphasizing simplicity and effectiveness in

This repository stands as a testament to our commitment to understanding and implementing machine learning algorithms from the ground up, providing a solid foundation for future developments and innovations in the field.