Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pmuens/lab
Research Environment to play around with Algorithms and Data (Structures)
https://github.com/pmuens/lab
algorithms artificial-intelligence artificial-neural-networks data-science deep-learning jupyter jupyter-notebook machine-learning machine-learning-algorithms
Last synced: 16 days ago
JSON representation
Research Environment to play around with Algorithms and Data (Structures)
- Host: GitHub
- URL: https://github.com/pmuens/lab
- Owner: pmuens
- Created: 2019-04-17T08:42:45.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-08-13T07:21:51.000Z (over 4 years ago)
- Last Synced: 2024-10-20T04:44:41.128Z (3 months ago)
- Topics: algorithms, artificial-intelligence, artificial-neural-networks, data-science, deep-learning, jupyter, jupyter-notebook, machine-learning, machine-learning-algorithms
- Language: Jupyter Notebook
- Homepage: https://philippmuens.com
- Size: 7.01 MB
- Stars: 54
- Watchers: 3
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Lab
Personal lab to play around with algorithms and data.
**NOTE:** In order to make the implementations as understandable as possible I sometimes write more expressive code which could result in poor performance or disapproval of purists. I strongly believe that readability for such educational endeavors is more important than high-performance or idiomatic code.
## Implementations
### X from scratch
From scratch implementations of various algorithms and models in pure Python.
| Notebook | nbviewer | Google Colab | Blog post |
| --------------------------------------------- | :----------------------------------: | :-------------------------------: | :------------------------------: |
| [Gradient Descent][gradient-descent-nb] | [Link][gradient-descent-nbviewer] | [Link][gradient-descent-colab] | [Link][gradient-descent-post] |
| [k-NN][k-nn-nb] | [Link][k-nn-nbviewer] | [Link][k-nn-colab] | [Link][k-nn-post] |
| [Naive Bayes][naive-bayes-nb] | [Link][naive-bayes-nbviewer] | [Link][naive-bayes-colab] | [Link][naive-bayes-post] |
| [Linear Regression][linear-regression-nb] | [Link][linear-regression-nbviewer] | [Link][linear-regression-colab] | [Link][linear-regression-post] |
| [Multiple Regression][multiple-regression-nb] | [Link][multiple-regression-nbviewer] | [Link][multiple-regression-colab] | [Link][multiple-regression-post] |
| [Logistic Regression][logistic-regression-nb] | [Link][logistic-regression-nbviewer] | [Link][logistic-regression-colab] | [Link][logistic-regression-post] |
| [Decision Trees][decision-trees-nb] | [Link][decision-trees-nbviewer] | [Link][decision-trees-colab] | [Link][decision-trees-post] |
| [Neural Networks][neural-networks-nb] | [Link][neural-networks-nbviewer] | [Link][neural-networks-colab] | Coming soon |
| [k-means Clustering][k-means-clustering-nb] | [Link][k-means-clustering-nbviewer] | [Link][k-means-clustering-colab] | Coming soon |[gradient-descent-nb]: ./x-from-scratch/gradient-descent-from-scratch.ipynb
[gradient-descent-nbviewer]: https://nbviewer.jupyter.org/github/pmuens/lab/blob/master/x-from-scratch/gradient-descent-from-scratch.ipynb
[gradient-descent-colab]: https://colab.research.google.com/github/pmuens/lab/blob/master/x-from-scratch/gradient-descent-from-scratch.ipynb
[gradient-descent-post]: https://philippmuens.com/gradient-descent-from-scratch/
[k-nn-nb]: ./x-from-scratch/k-nn-from-scratch.ipynb
[k-nn-nbviewer]: https://nbviewer.jupyter.org/github/pmuens/lab/blob/master/x-from-scratch/k-nn-from-scratch.ipynb
[k-nn-colab]: https://colab.research.google.com/github/pmuens/lab/blob/master/x-from-scratch/k-nn-from-scratch.ipynb
[k-nn-post]: https://philippmuens.com/k-nearest-neighbors-from-scratch/
[naive-bayes-nb]: ./x-from-scratch/naive-bayes-from-scratch.ipynb
[naive-bayes-nbviewer]: https://nbviewer.jupyter.org/github/pmuens/lab/blob/master/x-from-scratch/naive-bayes-from-scratch.ipynb
[naive-bayes-colab]: https://colab.research.google.com/github/pmuens/lab/blob/master/x-from-scratch/naive-bayes-from-scratch.ipynb
[naive-bayes-post]: https://philippmuens.com/naive-bayes-from-scratch/
[linear-regression-nb]: ./x-from-scratch/linear-regression-from-scratch.ipynb
[linear-regression-nbviewer]: https://nbviewer.jupyter.org/github/pmuens/lab/blob/master/x-from-scratch/linear-regression-from-scratch.ipynb
[linear-regression-colab]: https://colab.research.google.com/github/pmuens/lab/blob/master/x-from-scratch/linear-regression-from-scratch.ipynb
[linear-regression-post]: https://philippmuens.com/linear-and-multiple-regression-from-scratch/
[multiple-regression-nb]: ./x-from-scratch/multiple-regression-from-scratch.ipynb
[multiple-regression-nbviewer]: https://nbviewer.jupyter.org/github/pmuens/lab/blob/master/x-from-scratch/multiple-regression-from-scratch.ipynb
[multiple-regression-colab]: https://colab.research.google.com/github/pmuens/lab/blob/master/x-from-scratch/multiple-regression-from-scratch.ipynb
[multiple-regression-post]: https://philippmuens.com/linear-and-multiple-regression-from-scratch/
[logistic-regression-nb]: ./x-from-scratch/logistic-regression-from-scratch.ipynb
[logistic-regression-nbviewer]: https://nbviewer.jupyter.org/github/pmuens/lab/blob/master/x-from-scratch/logistic-regression-from-scratch.ipynb
[logistic-regression-colab]: https://colab.research.google.com/github/pmuens/lab/blob/master/x-from-scratch/logistic-regression-from-scratch.ipynb
[logistic-regression-post]: https://philippmuens.com/logistic-regression-from-scratch/
[decision-trees-nb]: ./x-from-scratch/decision-trees-from-scratch.ipynb
[decision-trees-nbviewer]: https://nbviewer.jupyter.org/github/pmuens/lab/blob/master/x-from-scratch/decision-trees-from-scratch.ipynb
[decision-trees-colab]: https://colab.research.google.com/github/pmuens/lab/blob/master/x-from-scratch/decision-trees-from-scratch.ipynb
[decision-trees-post]: https://philippmuens.com/decision-trees-from-scratch/
[neural-networks-nb]: ./x-from-scratch/neural-networks-from-scratch.ipynb
[neural-networks-nbviewer]: https://nbviewer.jupyter.org/github/pmuens/lab/blob/master/x-from-scratch/neural-networks-from-scratch.ipynb
[neural-networks-colab]: https://colab.research.google.com/github/pmuens/lab/blob/master/x-from-scratch/neural-networks-from-scratch.ipynb
[k-means-clustering-nb]: ./x-from-scratch/k-means-clustering-from-scratch.ipynb
[k-means-clustering-nbviewer]: https://nbviewer.jupyter.org/github/pmuens/lab/blob/master/x-from-scratch/k-means-clustering-from-scratch.ipynb
[k-means-clustering-colab]: https://colab.research.google.com/github/pmuens/lab/blob/master/x-from-scratch/k-means-clustering-from-scratch.ipynb## Running it
**NOTE:** You can pass an optional port number as the first CLI argument (i.e. `./jupyter-lab 3000`).
### Jupyter Lab
```sh
./jupyter-lab.sh
```### Jupyter Notebook
```sh
./jupyter-notebook.sh
```