AttributeError: 'GridSearchCV' object has no attribute 'best_estimator_'

### Describe the bug

I'm trying to tune my model using the Grid search model in @kaggle notebook. In order to benefit from the GPU, I used this package hummingbird-ml. Thanks in advance

However, I get the following issue:

> AttributeError: 'GridSearchCV' object has no attribute 'best_estimator_'

Here is my code:

```

from hummingbird.ml import convert
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVR
from sklearn.metrics import make_scorer, mean_squared_error
from pprint import pprint
# Hyper-tunning for SVM regressor

import numpy as np

base_svr = SVR()


scorer = make_scorer(mean_squared_error, greater_is_better=False)



param_grid_svr = {'C': [0.01, 0.1,1, 10, 100], 
              'gamma': [1,0.1, 0.01, 0.001, 0.0001],
              'kernel': ['linear', 'poly', 'rbf', 'sigmoid', 'precomputed'],
              'epsilon': [0.01, 0.1, 0.2 , 0.3, 1]}
pprint(param_grid_svr) 

# Create a GridSearchCV object and fit it to the training data

svr_gs = GridSearchCV(base_svr,param_grid_svr, n_jobs = -1 , scoring=scorer, cv=3   ,refit=True,verbose=2)

# Converting scikit-learn model to PyTorch on CPU

svr_gs_pytorch = convert(svr_gs, 'torch')

# Switching PyTorch from CPU to GPU
%%capture 
svr_gs_pytorch.to('cuda')

# Train the model in GPU

svr_gs_pytorch.fit(X_train,y_train)


# print best parameter after tuning
svr_gs_pytorch.best_params_

```



### Steps/Code to Reproduce

```

from hummingbird.ml import convert
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVR
from sklearn.metrics import make_scorer, mean_squared_error
from pprint import pprint
# Hyper-tunning for SVM regressor

import numpy as np

base_svr = SVR()


scorer = make_scorer(mean_squared_error, greater_is_better=False)



param_grid_svr = {'C': [0.01, 0.1,1, 10, 100], 
              'gamma': [1,0.1, 0.01, 0.001, 0.0001],
              'kernel': ['linear', 'poly', 'rbf', 'sigmoid', 'precomputed'],
              'epsilon': [0.01, 0.1, 0.2 , 0.3, 1]}
pprint(param_grid_svr) 

# Create a GridSearchCV object and fit it to the training data

svr_gs = GridSearchCV(base_svr,param_grid_svr, n_jobs = -1 , scoring=scorer, cv=3   ,refit=True,verbose=2)

# Converting scikit-learn model to PyTorch on CPU

svr_gs_pytorch = convert(svr_gs, 'torch')

# Switching PyTorch from CPU to GPU
%%capture 
svr_gs_pytorch.to('cuda')

# Train the model in GPU

svr_gs_pytorch.fit(X_train,y_train)


# print best parameter after tuning
svr_gs_pytorch.best_params_

```

### Expected Results

To return the best combination.

### Actual Results

```

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/tmp/ipykernel_23/2436508959.py in <module>
      5 # Converting scikit-learn model to PyTorch on CPU
      6 
----> 7 svr_gs_pytorch = convert(svr_gs, 'torch')
      8 
      9 # Switching PyTorch from CPU to GPU

/opt/conda/lib/python3.7/site-packages/hummingbird/ml/convert.py in convert(model, backend, test_input, device, extra_config)
    438     """
    439     assert constants.REMAINDER_SIZE not in extra_config
--> 440     return _convert_common(model, backend, test_input, device, extra_config)
    441 
    442 

/opt/conda/lib/python3.7/site-packages/hummingbird/ml/convert.py in _convert_common(model, backend, test_input, device, extra_config)
    399         return _convert_sparkml(model, backend_formatted, test_input, device, extra_config)
    400 
--> 401     return _convert_sklearn(model, backend_formatted, test_input, device, extra_config)
    402 
    403 

/opt/conda/lib/python3.7/site-packages/hummingbird/ml/convert.py in _convert_sklearn(model, backend, test_input, device, extra_config)
    102     # We modify the scikit learn model during translation.
    103     model = deepcopy(model)
--> 104     topology = parse_sklearn_api_model(model, extra_config)
    105 
    106     # Convert the Topology object into a PyTorch model.

/opt/conda/lib/python3.7/site-packages/hummingbird/ml/_parse.py in parse_sklearn_api_model(model, extra_config)
     63     # Parse the input scikit-learn model into a topology object.
     64     # Get the outputs of the model.
---> 65     outputs = _parse_sklearn_api(topology, model, inputs)
     66 
     67     # Declare output variables.

/opt/conda/lib/python3.7/site-packages/hummingbird/ml/_parse.py in _parse_sklearn_api(topology, model, inputs)
    228     tmodel = type(model)
    229     if tmodel in sklearn_api_parsers_map:
--> 230         outputs = sklearn_api_parsers_map[tmodel](topology, model, inputs)
    231     else:
    232         outputs = _parse_sklearn_single_model(topology, model, inputs)

/opt/conda/lib/python3.7/site-packages/hummingbird/ml/_parse.py in _parse_sklearn_model_selection(topology, model, inputs)
    385     :return: Output produced by sklearn.model_selection.* object
    386     """
--> 387     op = model.best_estimator_
    388     var_output = _parse_sklearn_api(topology, op, inputs)
    389     return var_output

AttributeError: 'GridSearchCV' object has no attribute 'best_estimator_'
```


### Versions

```shell
Please consider that I'm using Kaggle notebook.


System:
    python: 3.7.12 | packaged by conda-forge | (default, Oct 26 2021, 06:08:53)  [GCC 9.4.0]
executable: /opt/conda/bin/python
   machine: Linux-5.15.65+-x86_64-with-debian-bullseye-sid

Python dependencies:
          pip: 22.1.2
   setuptools: 59.8.0
      sklearn: 1.0.2
        numpy: 1.21.6
        scipy: 1.7.3
       Cython: 0.29.32
       pandas: 1.3.5
   matplotlib: 3.5.3
       joblib: 1.0.1
threadpoolctl: 3.1.0

Built with OpenMP: True
```

COMMENT:
The issue is coming from `hummingbird`. We are still exposing `best_estimator_` in `GridSearchCV` once this is `fit`. You should probably report the bug on their issue tracker.

Labels: Bug, Needs Triage