-
Notifications
You must be signed in to change notification settings - Fork 174
/
sklearn_optuna_search_cv_simple.py
36 lines (25 loc) · 952 Bytes
/
sklearn_optuna_search_cv_simple.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
"""
Optuna example that optimizes a classifier configuration using OptunaSearchCV.
In this example, we optimize a classifier configuration for Iris dataset using OptunaSearchCV.
Classifier is from scikit-learn.
"""
import optuna
from sklearn.datasets import load_iris
from sklearn.svm import SVC
if __name__ == "__main__":
clf = SVC(gamma="auto")
param_distributions = {
"C": optuna.distributions.FloatDistribution(1e-10, 1e10, log=True),
"degree": optuna.distributions.IntDistribution(1, 5),
}
optuna_search = optuna.integration.OptunaSearchCV(
clf, param_distributions, n_trials=100, timeout=600, verbose=2
)
X, y = load_iris(return_X_y=True)
optuna_search.fit(X, y)
print("Best trial:")
trial = optuna_search.study_.best_trial
print(" Value: ", trial.value)
print(" Params: ")
for key, value in trial.params.items():
print(" {}: {}".format(key, value))