A step-by-step code tutorial for the Science paper (DOI: 10.1126/science.aar5169) by Doyle group ( @ Princeton University).
Their codes and original datasets of this paper are also avaiable on GitHub (https://github.com/doylelab/rxnpredict).
Most of these data in their project were processed by R including data processing and machine learning models training, in this tutorial, these data are processed by python.
The aim of this tutorial is to provide a quick guide for people who has chemistry background and are interested in data analysis/machine learning.
This code tutorial is for study use only, not for any commercial use.
Basic knowledges of data analysis, data mining with python. Python packages used in this tutorial include pandas, numpy, matplotlib/matplotlib.pyplot, scikit-learn.
Depends on how much time you have to learn these skills. In your first month, you can start with "Data Scientist with Python" track on DataCamp. After this, you should have a basic sense of python in data analysis. Then, I would suggest you read these two books: Python for Data Analysis (by Wes Mckinney, the author of pandas) and Hands-On Machine Learning with Sckikit-Learn & Tensorflow (by Aurelien Geron). The first book talks about data analysis with pandas, numpy in details. The second book focuses on machine learning, a lot codes and also necessary math for machine learning.
-
Python 3.7: data analysis, machine learning
-
MS Excel: quick check original data
-
Anaconda: install python packages
-
Jupyter Notebook: store codes
-
Part1 YieldDataCleaning: codes for cleaning reaction yied data from raw csv files.
-
Part2 MLData: codes for prepare machine learning dataset.
-
Part3 MachineLearning (Linear Regression): codes for linear regression ML models.
-
Part4 MachineLearning (More Models): codes for other commonly used models including logistic regression, SVM, neural network, Bayesian ridge regression, kNN, Random Forest.
-
Part5 RandomForest (More Details): codes for using optimized RandomForest model to investigate more details.
-
Part6 Extra Materials (Tensorflow): (optional part) codes for using tensorflow to run machine learning models.