A comprehensive collection of machine learning algorithms implemented from scratch as part of CSE427: Machine Learning coursework. This repository demonstrates fundamental ML concepts through hands-on implementations, exploratory data analysis, and practical applications.
This repository contains implementations of core machine learning algorithms built from the ground up, emphasizing understanding of underlying mathematical principles and algorithmic mechanics. Each implementation includes detailed exploratory data analysis (EDA), visualization, and evaluation metrics.
Implementation of the Adaptive Boosting ensemble method for binary and multi-class classification problems.
AdaBoost_Classification.ipynb- Jupyter notebook with detailed analysisadaboost_classification.pyclasswork dataset.csv- Training dataset
From-scratch implementations of decision tree algorithms and ensemble-based random forest classifiers.
DecisionTree_&_RandomForest.ipynb- Comprehensive notebookdecisiontree_&_randomforest.pytitanic.csv- Titanic dataset for survival prediction
Implementation of the KNN algorithm for classification and regression tasks.
KNN.ipynbKNN.py
Foundational data manipulation and visualization techniques using essential Python libraries.
LibraryEssentials.pyLibraryEssentialsPy.ipynb- Tutorial-style notebooksubject_scores.csv- Sample dataset
Binary and multi-class logistic regression implementation with gradient descent optimization.
Logistic_Regression.ipynb- Complete analysis workflowlogistic_regression.pycell_samples.csv- Dataset
Neural network implementation featuring backpropagation and configurable architectures.
MLP.ipynb- Training and evaluation notebookMLP.py-
Supplementary lab work and experimental implementations.
CSE427_Lab_1_Codes.ipynb- Lab assignment solutionscse427_lab_1_codes.py- Supporting scriptsiris.csv- Iris dataset for classification
- Python 3.14
- NumPy - Numerical computations
- Pandas - Data manipulation
- Matplotlib/Seaborn - Visualization
- Scikit-learn - Benchmarking and validation (where applicable)
- Jupyter Notebook - Interactive development
- From-Scratch Implementations: All algorithms coded without relying on high-level ML libraries
- Comprehensive EDA: Thorough exploratory data analysis for each dataset
- Dual Format: Both notebook (
.ipynb) and script (.py) versions for flexibility - Clear Documentation: Well-commented code with explanations of methodology
pip install numpy pandas matplotlib seaborn jupyter scikit-learnjupyter notebookNavigate to the desired algorithm folder and open the .ipynb file.
python <algorithm_folder>/<script_name>.pyDeveloped as part of the undergraduate Machine Learning curriculum at BRAC University. The implementations draw from classical ML literature and course materials, adapted and extended through hands-on experimentation.
This repository is maintained for educational purposes. Feel free to explore and learn.
For questions, discussions - please feel free to reach out or open an issue in this repository.