microsoft / microsoft/FLAML

[FLAML Crash] [Regression] Do not support special JSON characters in feature name.

Open
#549 7 comments 0 reactions 0 assignees View on GitHub
Dominant language
Jupyter Notebook
Stars
4.4k
Forks
565
Avg merge
5d 8m
Merged PRs (30d)
17

Description

Hey, thanks for the great system.

I am experiencing a crash with two specific regression datasets: [mv](https://github.com/EpistasisLab/pmlb/tree/master/datasets/344_mv) (used in the FLAML paper) and [MagicTelescope](https://www.openml.org/search?type=data&sort=runs&id=1120&status=active). I get the following error when I fit FLAML on these datasets:
```
File "/home/mossad/anaconda3/envs/kgpip/lib/python3.7/site-packages/flaml/automl.py", line 1524, in fit
self._search()
File "/home/mossad/anaconda3/envs/kgpip/lib/python3.7/site-packages/flaml/automl.py", line 2009, in _search
self._search_sequential()
File "/home/mossad/anaconda3/envs/kgpip/lib/python3.7/site-packages/flaml/automl.py", line 1825, in _search_sequential
use_ray=False,
File "/home/mossad/anaconda3/envs/kgpip/lib/python3.7/site-packages/flaml/tune/tune.py", line 382, in run
result = training_function(trial_to_run.config)
File "/home/mossad/anaconda3/envs/kgpip/lib/python3.7/site-packages/flaml/automl.py", line 240, in _compute_with_config_base
self.fit_kwargs,
File "/home/mossad/anaconda3/envs/kgpip/lib/python3.7/site-packages/flaml/ml.py", line 328, in compute_estimator
fit_kwargs=fit_kwargs)
File "/home/mossad/anaconda3/envs/kgpip/lib/python3.7/site-packages/flaml/ml.py", line 267, in evaluate_model_CV
log_training_metric=log_training_metric, fit_kwargs=fit_kwargs)
File "/home/mossad/anaconda3/envs/kgpip/lib/python3.7/site-packages/flaml/ml.py", line 196, in get_test_loss
estimator.fit(X_train, y_train, budget, **fit_kwargs)
File "/home/mossad/anaconda3/envs/kgpip/lib/python3.7/site-packages/flaml/model.py", line 318, in fit
self._t1 = self._fit(X_train, y_train, **kwargs)
File "/home/mossad/anaconda3/envs/kgpip/lib/python3.7/site-packages/flaml/model.py", line 99, in _fit
model.fit(X_train, y_train, **kwargs)
File "/home/mossad/anaconda3/envs/kgpip/lib/python3.7/site-packages/lightgbm/sklearn.py", line 899, in fit
categorical_feature=categorical_feature, callbacks=callbacks, init_model=init_model)
File "/home/mossad/anaconda3/envs/kgpip/lib/python3.7/site-packages/lightgbm/sklearn.py", line 758, in fit
callbacks=callbacks
File "/home/mossad/anaconda3/envs/kgpip/lib/python3.7/site-packages/lightgbm/engine.py", line 271, in train
booster = Booster(params=params, train_set=train_set)
File "/home/mossad/anaconda3/envs/kgpip/lib/python3.7/site-packages/lightgbm/basic.py", line 2605, in __init__
train_set.construct()
File "/home/mossad/anaconda3/envs/kgpip/lib/python3.7/site-packages/lightgbm/basic.py", line 1819, in construct
categorical_feature=self.categorical_feature, params=self.params)
File "/home/mossad/anaconda3/envs/kgpip/lib/python3.7/site-packages/lightgbm/basic.py", line 1573, in _lazy_init
return self.set_feature_name(feature_name)
File "/home/mossad/anaconda3/envs/kgpip/lib/python3.7/site-packages/lightgbm/basic.py", line 2145, in set_feature_name
ctypes.c_int(len(feature_name))))
File "/home/mossad/anaconda3/envs/kgpip/lib/python3.7/site-packages/lightgbm/basic.py", line 125, in _safe_call
raise LightGBMError(_LIB.LGBM_GetLastError().decode('utf-8'))
lightgbm.basic.LightGBMError: Do not support special JSON characters in feature name.

```

Here is my script:
```
df = pd.read_csv('mv.csv')
X, y = df.drop('target', axis=1), df['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=123)
automl_model = AutoML()
automl_model.fit(X_train, y_train, task='regression',
time_budget=300,
retrain_full='budget',
verbose=0, metric='r2')
```

Your feedback is appreciated.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.