A list of notebooks introducing and implementing machine learning algorithms from scratch.
The notebooks are organized based on Dr. Kevin Murphy's two volumn books: Probabilistic Machine Learning: An Introduction and Probabilistic Machine Learning: Advanced Topics. Most notebooks come from the accompanying notebooks in pyprobml with minor modification to some. Various other authors write the rest, with their names acknowledged at the start of the corresponding notebooks.
Category | Algorithm | Notebook |
---|---|---|
Gaussian/Linear Discriminant Analysis | 09_discriminat_analysis_dboundaries_plot2.ipynb | |
Naive Bayes | 09_naive_bayes_mnist.ipynb | |
Logistic Regression | 10_logistic_regression_pytorch.ipynb | |
Linear Models | 10_logistic_regression_sklearn.ipynb | |
Linear Regression | 11_linear_regression_from_scratch.ipynb | |
11_linear_regression_from_scratch_again.ipynb | ||
11_linear_regression_sklearn.ipynb | ||
11_polynomial_regression_torch.ipynb | ||
Examplar-based Methods | KNN | 16_knn_demo.ipynb |
Trees,Forest,Bagging,Boosting | Decision Stump | 18_regression_tree_stumps.ipynb |
Decision Tree | 18_decision_tree_iris.ipynb | |
Adaboost | 18_adaboost_from_scratch.ipynb | |
Trees | 18_feature_importance_trees_tutorial.ipynb | |
Demensionality Reduction | PCA | 20_pac_tutorial.ipynb |
Clustering | K means | 21_kmeans_tutorial.ipynb |
MIT License