(tutorials)=

# Tutorials

```{figure} /_static/img/ods_stickers.jpg
:name: ods_stickers
```

One of the assignments in the course was to write a tutorial on almost any ML/DS-related topic. Here is the result. Slack nicks of the authors are given with @'s.

## Spring 2019 session

1. "Overview of imbalance-learn package" -- [Kaggle Kernel](https://www.kaggle.com/pdepdepde/what-we-can-do-with-umbalanced-data)  by @pdepdepde
1. "Extracting cricket scorecards of batsman and bowlers from ESPN cricinfo" -- [Kaggle Kernel](https://www.kaggle.com/rjs417/cricket-scorecard-web-scraping) by @Rajasekhar Battula
1. "LDA, PCA and topic modelling" -- [Kaggle Kernel](https://inclass.kaggle.com/shivampanwar/tutorial-lda-vs-pca-and-topic-modelling-using-lda) by @Shivam Panwar
1. "Visualization with Bokeh" -- [Kaggle Kernel](https://www.kaggle.com/sitask/tutorial-visualization-with-bokeh) by @Sita
1. "Autoencoders and t-SNE" -- [Kaggle Kernel](https://inclass.kaggle.com/rohitgr/autoencoders-tsne) by @goku
1. "Implementing Gradient Descent" -- [Kaggle Kernel](https://www.kaggle.com/pocahontas1010/implementing-gradient-descent-algorithm) by @Ana Hristian
1. "ML interpretability" -- [Kaggle Kernel](https://www.kaggle.com/datacog314/tutorial-machine-learning-interpretability) by @Christophe Rigon
1. "ML In Chemistry Research: RDKit & mol2vec" -- [Kaggle Kernel](https://www.kaggle.com/vladislavkisin/tutorial-ml-in-chemistry-research-rdkit-mol2vec) by @Vlad Kisin
1. "Bayesian methods of hyperparameter optimization" -- [Kaggle Kernel](https://www.kaggle.com/clair14/tutorial-bayesian-optimization) by @clair
1. "Python Data Pre-Processing -- Handy Tips" -- [Kaggle Kernel](https://inclass.kaggle.com/shravankoninti/python-data-pre-processing-handy-tips) by @Shravan Kumar Koninti
1. "Categorical Feature Encoding" -- [Kaggle Kernel](https://www.kaggle.com/waydeherman/categorical-feature-encoding) by @Wayde Herman
1. "Collaborative filtering with PySpark" -- [Kaggle Kernel](https://www.kaggle.com/vchulski/tutorial-collaborative-filtering-with-pyspark) by @vchulski
1. "AutoML capabilities of H2O library" -- [Kaggle Kernel](https://inclass.kaggle.com/paradiselost/tutorial-automl-capabilities-of-h2o-library) by @Dmitry Burdeiny
1. "Factorization machine implemented in PyTorch" -- [Kaggle Kernel](https://inclass.kaggle.com/gennadylaptev/factorization-machine-implemented-in-pytorch) by @GL
1. "CatBoost overview" -- [Kaggle Kernel](https://www.kaggle.com/mitribunskiy/tutorial-catboost-overview) by @MITribunskiy
1. "Hyperopt" -- [Kaggle Kernel](https://www.kaggle.com/fanvacoolt/tutorial-on-hyperopt) by @fanvacoolt

## Fall 2018 session

1. "Plotly for interactive plots" by Alexander Kovalev (@velavok) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/plotly_tutorial_for_interactive_plots_sankovalev.ipynb)
1. "Basic semi-supervised learning models" by Gleb Levitski (@altprof) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/basic_semi-supervised_learning_models_altprof.ipynb)
1. "Yet another ensemble learning helper" by Aleksandr Korotkov (@krotix) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/yet_another_ensemble_learning_helper_aleksandr_korotkov.ipynb)
1. "Imputing missing data with fancyimpute" by Archit Rungta (@Archit Rungta) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/Imputing_missing_data_with_fancyimpute_archit_rungta.ipynb)
1. "Risk management with Python" by Andrey Varkentin (@varan) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/Risk_management_with_Python_Andrey_Varkentin2.ipynb)
1. "Insights of Monty Hall paradox with Plotly" by Denis Mironov (@dmironov) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/Insights_of_Monty_Hall_paradox_with_Plotly_dmironov.ipynb)
1. "Epidemics on networks with NetworkX and EoN" by Ilya Syrovatskiy (@bokomaru) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/Epidemics_on_networks_with_NetworkX_and_EoN_Syrovatskiy_Ilya.ipynb)
1. "LDA (Linear Discriminant Analysis) and LDA vs PCA" by Shivam Panwar (@Shivam Panwar) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/lda_pca_and_topic_modelling_shivam_panwar.ipynb)
1. "A little more info about NumPy" by Ksenia Terekhova (@Kseniia) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/more_info_about_numpy_kseniia_terekhova.ipynb)
1. "Forget about GridSearch -- how to tune hyperparameters using Hyperopt" by Ilya Larchenko (@ilya_l) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/hyperparameters_tunning_ilya_larchenko.ipynb)
1. "Merging DataFrames with pandas" by Max Palko (@odpalko) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/merging_dataframes_tutorial_max_palko.ipynb)
1. "A Tutorial On Understanding (\[Rr\]ege)(x\|xp\|xes\|xps\|xen)" by Aditya Soni (@ecdrid) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/learn_regex_the_easy_way_aditya_soni.ipynb)
1. "Leaderboard probing" by Nikolai Timonin (@timoninn) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/kaggle_leaderboard_probing_nikolai_timonin.ipynb)
1. "Mlxtend.SFS: an easy way to select features" by Anton Gilmanov (@wicker) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/Mlxtend_SFS_an_easy_way_to_select_features.ipynb)
1. "Bring your plots to life with Matplotlib animations" by Kyriacos Kyriacou (@kyr) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/bring_your_plots_to_life_with_matplotlib_animations_kyriacos_kyriacou.ipynb)
1. "Handle different dataset with dask and trying a little dask ML" by Irina Knyazeva (@Iknyazeva) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/dask_objects_and_little_dask_ml_tutorial_iknyazeva.ipynb)
1. "Feature engineering is all you need" by Georgy Surin (@formemorte) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/Feature_engineering_is_all_you_need_%20tutorial_Georgy_Surin.ipynb)
1. "Latent Dirichlet Allocation" by Valentin Kovalev (@Valentin) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/tutorial_lda_pyldavis_kovalevvyu.ipynb)
1. "Handling categorical variables" by Danila Perepechin (@Danila) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/handling_categorical_data_Danila.ipynb)
1. "Introduction to Network Analysis with NetworkX" by Georgy Lazarev (@jorgy) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/Introduction_to_Network_Analysis_with_NetworkX_Georgy_Lazarev.ipynb)
1. "Webscraping an online retailer assortment" by Maxim Keremet (@maximkeremet) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/webscraping_ecommerce_website_with_scrapy.ipynb)
1. "Some details on Matplotlib" by Ivan Pisarev (@pisarev_i) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/some_details_in_matplotlib_pisarev_ivan.ipynb)
1. "Statistical hypothesis testing in Python" by Kirill Panin (@Kirill Panin) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/statistical_hypothesis_testing_in_python_panin_kirill.ipynb)
1. "Nested cross-validation" by Tatyana Kudasova (@kudasova) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/nested_cross_validation_tatyana_kudasova.ipynb)
1. "Intuitive explanation of Expectation Maximization" by Neeraj Agrawal (@MagnIeeT) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/Intitutive_Explanation_of_Expectation_Maximization_Algorithm_MagnIeeT.ipynb)
1. "Scraping websites with help of Selenium" by Vadim Voskresenskii (@Vadimvoskresenskiy) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/Voskresenskii_selenium_tutorial.ipynb)
1. "Constructing simple Chatbot using spaCy" by Ilya Kalininskii (@Kiavip) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/tutorial_spaCy_chatbot.ipynb)
1. "LSTM (Long Short Term Memory) Networks for predicting Time Series" by Sergei Bulaev (@Ser-serege) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/LSTM_tutorial_Sergei_Bulaev.ipynb)
1. "How to predict catastrophic events?" by Joris Fournell (@Jorisfournell) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/Catastrophic_Events_with_Scipy.ipynb)
1. "Anomaly Detection: Isolation Forest" by Alexander Nichiporenko (@AlexNich) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/anomaly_detection_isolation_forest_alexander_nichiporenko.ipynb)
1. "Something else about ensemble learning" by Dmitry Korgun (@tbb) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/something_else_about_ensemble_tbb.ipynb)
1. "KERAS: easy way to construct the Neural Networks" by Natalia Domozhirova (@ndomozhirova) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/Keras_easy_way_to_construct_the_Neural_Networks_fixed.ipynb)
1. "Deploying your Machine Learning Model" by Maxim Klyuchnikov (@jabberwock) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/deploying-your-machine-learning-model_maxim-klyuchnikov.ipynb)
1. "Virtual environment for learning ML" by Mikhail Korshchikov (@Mikhailsergeevi4) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/tutorial_ML_with_VM_Mikhail%20Korshchikov.ipynb)
1. "Self organizing map" by Nikita Simonov (@simanjan) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/self_organizing_map_nikita_simonov.ipynb)
1. "Useful Google Colab snippets" by Denic Cera (@Dene) -- [nbviewer](https://nbviewer.jupyter.org/github/Dene33/mlcourse.ai/blob/master/jupyter_english/tutorials/Useful_Google_Colab_snippets.ipynb)
1. "Can we create our own text vectorizer?" by Alexander Ashikhmin (@alex.ash) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/custom_vectorizer_tutorial.ipynb)
1. "Collecting information for machine learning purposes. Parsing and Grabbing" by Alexander Laskorunskiy (@a_lasko) -- [nbviewer](https://nbviewer.org/github/Yorko/mlcourse.ai/blob/main/jupyter_english/tutorials/parsing_and_grabbing_tutorial_aleksandr_laskorunsky.ipynb)

More tutorials and individual projects (in Russian) are listed in the [Wiki section](https://github.com/Yorko/mlcourse.ai/wiki) of the course repo.
