This shows you the differences between two versions of the page.

ep:labs:05 [2020/11/10 16:31] ioan_adrian.cosma [Gnuplot Introduction] |
ep:labs:05 [2020/11/10 16:44] (current) ioan_adrian.cosma [Python Scientific Computing Resources] |
||
---|---|---|---|

Line 8: | Line 8: | ||

- | ===== Contents ===== | ||

- | {{page>:ep:labs:05:meta:nav&nofooter&noeditbutton}} | ||

- | ===== Python Scientific Computing ===== | + | ===== Python Scientific Computing Resources ===== |

In this lab, we will study a new library in python that offers fast, memory efficient manipulation of vectors, matrices and tensors: **numpy**. We will also study basic plotting of data using the most popular data visualization libraries in the python ecosystem: **matplotlib**. | In this lab, we will study a new library in python that offers fast, memory efficient manipulation of vectors, matrices and tensors: **numpy**. We will also study basic plotting of data using the most popular data visualization libraries in the python ecosystem: **matplotlib**. | ||

Line 19: | Line 17: | ||

For scientific computing we need an environment that is easy to use, and provides a couple of tools like manipulating data and visualizing results. | For scientific computing we need an environment that is easy to use, and provides a couple of tools like manipulating data and visualizing results. | ||

Python is very easy to use, but the downside is that it's not fast at numerical computing. Luckily, we have very eficient libraries for all our use-cases. | Python is very easy to use, but the downside is that it's not fast at numerical computing. Luckily, we have very eficient libraries for all our use-cases. | ||

- | ===== Tutorial ===== | ||

+ | **Core computing libraries** | ||

- | {{namespace>:ep:labs:05:contents:tutorial&nofooter&noeditbutton}} | + | * numpy and scipy: scientific computing |

+ | * matplotlib: plotting library | ||

+ | **Machine Learning** | ||

+ | |||

+ | * sklearn: machine learning toolkit | ||

+ | * tensorflow: deep learning framework developed by google | ||

+ | * keras: deep learning framework on top of `tensorflow` for easier implementation | ||

+ | * pytorch: deep learning framework developed by facebook | ||

+ | |||

+ | |||

+ | **Statistics and data analysis** | ||

+ | |||

+ | * pandas: very popular data analysis library | ||

+ | * statsmodels: statistics | ||

+ | |||

+ | We also have advanced interactive environments: | ||

+ | |||

+ | * IPython: advanced python console | ||

+ | * Jupyter: notebooks in the browser | ||

+ | |||

+ | There are many more scientific libraries available. | ||

+ | |||

+ | |||

+ | Check out these cheetsheets for fast reference to the common libraries: | ||

+ | |||

+ | **Cheat sheets:** | ||

+ | |||

+ | - [[https://perso.limsi.fr/pointal/_media/python:cours:mementopython3-english.pdf)|python]] | ||

+ | - [[https://s3.amazonaws.com/assets.datacamp.com/blog_assets/Numpy_Python_Cheat_Sheet.pdf|numpy]] | ||

+ | - [[https://s3.amazonaws.com/assets.datacamp.com/blog_assets/Python_Matplotlib_Cheat_Sheet.pdf|matplotlib]] | ||

+ | - [[https://s3.amazonaws.com/assets.datacamp.com/blog_assets/Scikit_Learn_Cheat_Sheet_Python.pdf|sklearn]] | ||

+ | - [[https://github.com/pandas-dev/pandas/blob/master/doc/cheatsheet/Pandas_Cheat_Sheet.pdf|pandas]] | ||

+ | |||

+ | **Other:** | ||

+ | |||

+ | - [[https://stanford.edu/~shervine/teaching/cs-229/refresher-probabilities-statistics|Probabilities & Stats Refresher]] | ||

+ | - [[https://stanford.edu/~shervine/teaching/cs-229/refresher-algebra-calculus|Algebra]] | ||

+ | |||

+ | |||

+ | <note>This lab is organized in a Jupyer Notebook hosted on Google Colab. You will find there some intuitions and applications for numpy and matplotlib. Check out the Tasks section below.</note> | ||

===== Tasks ===== | ===== Tasks ===== |