numpy pandas torch scikit-learn optuna matplotlib scipy