https://github.com/zhangxjohn/optuna-learn
Tuning hyper-parameters based on Optuna is as easy as using scikit-learn.
https://github.com/zhangxjohn/optuna-learn
hyperparameter-optimization mechine-learing optuna python
Last synced: 8 months ago
JSON representation
Tuning hyper-parameters based on Optuna is as easy as using scikit-learn.
- Host: GitHub
- URL: https://github.com/zhangxjohn/optuna-learn
- Owner: zhangxjohn
- License: apache-2.0
- Created: 2022-08-02T11:29:02.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-05-16T01:37:33.000Z (over 2 years ago)
- Last Synced: 2025-01-05T14:40:57.999Z (9 months ago)
- Topics: hyperparameter-optimization, mechine-learing, optuna, python
- Language: Python
- Homepage:
- Size: 13.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# optuna-learn
Tuning hyper-parameters based on Optuna is as easy as using scikit-learn.
## :hourglass_flowing_sand: Dependencies
optuna-learn requires:
- python >= 3.6
- scikit-learn
- optuna## :rocket: Installation
```bash
pip install optuna-learn
```## :zap: Quick Start
```python
from lightgbm import LGBMClassifier
from optlearn.opt import OptunaSearch
from sklearn.datasets import load_iris
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_splitX, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)opt = OptunaSearch(
model=LGBMClassifier,
optimize_direction='maximize',
n_trials=100,
params_dict={
'n_estimators': ['categorical', 100, 200, 300, 500],
'reg_alpha': ['float', 0.001, 10, False],
'reg_lambda': ['float', 0.001, 100, False],
'num_leaves': ['int', 2, 256],
}
)opt.fit(X_train, y_train)
y_pred = opt.predict(X_test)
accuracy_score(y_test, y_pred)
>>> 0.9967924528301886
```