Metadata-Version: 2.1
Name: SkOpts
Version: 0.0.1
Summary: Hyperparameters tuning of machine learning models provided by sklearn library using optuna
Author-email: Sunny Dial <dialsunny91@gmail.com>
Project-URL: Homepage, https://github.com/DSun91/SKOpts
Project-URL: Bug Tracker, https://github.com/DSun91/SKOpts/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: License.txt

# SkOpts
Library providing high-level functions for easy hyperparameters tuning of models using Optuna.<br /><br />
This repository contains the project of a library that offers ready-to-use functions to optimize the hyperparameters of some of models provided by the Sklearn API, XGBoost, LightGBM and CatBoost.

Code snippet to optimize a classification model:

```
from Tune_Xgboost import XGB_tuner

XGB_tuned=XGB_tuner(X=Xtrain,y=y_train,
                    scoring_metric='roc_auc',
                    n_trials=100,
                    N_folds=5,
                    direction='maximize',
                    stratify=True,
                    problem_type='classification')
```
Code snippet to optimize regression model:

```
from Tune_Xgboost import XGB_tuner

XGB_tuned=XGB_tuner(X=Xtrain,y=y_train,
                    scoring_metric='neg_mean_squared_error',
                    n_trials=100,
                    N_folds=5,
                    direction='minimize',
                    problem_type='regression')
```

| Parameter  | Usage|
| ------------- | ------------- |
| **"X"**| Training dataset without target variable.|
|**"y"**| Target variable.|
| **"scoring_metric"**  | Metric to optimize.<br/>  |
| **"n_trials"** | Number of trials to execute optimization.<br/>  |
| **"N_folds"** | Number of folds for cross validation.<br/> |
| **"direction"**  | Equals "maximize" or "minimize".<br/>  |
| **"problem_type"**  | Equals "classification" or "regression".<br/>  |
| **"stratify"** | Stratify cv splits based on target distribuition [True or False]<br/>  |

The **'scoring_metric'** parameter takes the same values from sklearn API (link of available list: https://scikit-learn.org/stable/modules/model_evaluation.html) 
