Title: ETH_Sem6 / DC / W01_Introduction

Striking applications of Digital Chemistry (3)

Q: Course objectives
A: - Work with, visualize and analyse chemical data in a computer-readable format.
- Train and use predictive and generative machine learning models, and apply them to optimize molecular structure and external conditions.
- Apply critical thinking and sound skepticism to build and evaluate well-grounded and validated models.
- Integrate learning from the course and collaborate on a machine learning project that is presented orally, visually and in writing.

Q: 3 steps of defining a (ML) model for chemistry
A: 1. Convert chemical problem to machine-readable form
2. Define target properties
3. Choose and train the model

Q: What's wrong with this code:
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)
A: Providing the full data to the scaler introduces data leakage between train and test sets!

Q: Why Python and not R, Rust, Julia, Matlab, C++, ... ?
A: Nothing wrong with these, it's just that python is very well distributed. Different languages dominate in different application areas.

Q: Why should you avoid wildcard imports?
from matplotlib.pylab import *
A: Because this can (over) write variables which you don't know were imported.