gramex icon indicating copy to clipboard operation
gramex copied to clipboard

GRAMEX-145 ⁃ MLHandler throws an error on Gramex Guide

Open sanand0 opened this issue 3 years ago • 1 comments

jaidevd -- On Gramex Guide, the example at /mlhandler/ threw the following error on my system. Could you please take a look?

INFO    23-Jan 18:07:59 __init__ 9988 200 GET /mlhandler/model?Sex=male&Age=22&SibSp=1&Parch=0&Fare=7.25&Pclass=3&Embarked=S (127.0.0.1) 163.94ms subdirs:D:/site/gramener.com/viz/gramex-guide/mlhandler/gramex.yaml:mlhandler/model
ERROR   23-Jan 18:08:03 mlhandler 9988 Found unknown categories [0] in column 4 during transform
Traceback (most recent call last):
  File "D:\anaconda\3.7\lib\site-packages\pandas\core\indexes\base.py", line 2897, in get_loc
    return self._engine.get_loc(key)
  File "pandas/_libs/index.pyx", line 107, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/index.pyx", line 131, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/hashtable_class_helper.pxi", line 1607, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas/_libs/hashtable_class_helper.pxi", line 1614, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: ''

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "d:\site\gramener.com\viz\async-gramex\gramex\handlers\mlhandler.py", line 277, in _predict
    target = data.pop(score_col)
  File "D:\anaconda\3.7\lib\site-packages\pandas\core\generic.py", line 862, in pop
    result = self[item]
  File "D:\anaconda\3.7\lib\site-packages\pandas\core\frame.py", line 2995, in __getitem__
    indexer = self.columns.get_loc(key)
  File "D:\anaconda\3.7\lib\site-packages\pandas\core\indexes\base.py", line 2899, in get_loc
    return self._engine.get_loc(self._maybe_cast_indexer(key))
  File "pandas/_libs/index.pyx", line 107, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/index.pyx", line 131, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/hashtable_class_helper.pxi", line 1607, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas/_libs/hashtable_class_helper.pxi", line 1614, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: ''

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "d:\site\gramener.com\viz\async-gramex\gramex\handlers\mlhandler.py", line 290, in _predict
    data[self.get_opt('target_col', '_prediction')] = self.model.predict(data)
  File "D:\anaconda\3.7\lib\site-packages\sklearn\utils\metaestimators.py", line 120, in <lambda>
    out = lambda *args, **kwargs: self.fn(obj, *args, **kwargs)
  File "D:\anaconda\3.7\lib\site-packages\sklearn\pipeline.py", line 418, in predict
    Xt = transform.transform(Xt)
  File "D:\anaconda\3.7\lib\site-packages\sklearn\compose\_column_transformer.py", line 565, in transform
    Xs = self._fit_transform(X, None, _transform_one, fitted=True)
  File "D:\anaconda\3.7\lib\site-packages\sklearn\compose\_column_transformer.py", line 444, in _fit_transform
    self._iter(fitted=fitted, replace_strings=True), 1))
  File "D:\anaconda\3.7\lib\site-packages\joblib\parallel.py", line 921, in __call__
    if self.dispatch_one_batch(iterator):
  File "D:\anaconda\3.7\lib\site-packages\joblib\parallel.py", line 759, in dispatch_one_batch
    self._dispatch(tasks)
  File "D:\anaconda\3.7\lib\site-packages\joblib\parallel.py", line 716, in _dispatch
    job = self._backend.apply_async(batch, callback=cb)
  File "D:\anaconda\3.7\lib\site-packages\joblib\_parallel_backends.py", line 182, in apply_async
    result = ImmediateResult(func)
  File "D:\anaconda\3.7\lib\site-packages\joblib\_parallel_backends.py", line 549, in __init__
    self.results = batch()
  File "D:\anaconda\3.7\lib\site-packages\joblib\parallel.py", line 225, in __call__
    for func, args, kwargs in self.items]
  File "D:\anaconda\3.7\lib\site-packages\joblib\parallel.py", line 225, in <listcomp>
    for func, args, kwargs in self.items]
  File "D:\anaconda\3.7\lib\site-packages\sklearn\utils\fixes.py", line 222, in __call__
    return self.function(*args, **kwargs)
  File "D:\anaconda\3.7\lib\site-packages\sklearn\pipeline.py", line 733, in _transform_one
    res = transformer.transform(X)
  File "D:\anaconda\3.7\lib\site-packages\sklearn\preprocessing\_encoders.py", line 462, in transform
    force_all_finite='allow-nan')
  File "D:\anaconda\3.7\lib\site-packages\sklearn\preprocessing\_encoders.py", line 136, in _transform
    raise ValueError(msg)
ValueError: Found unknown categories [0] in column 4 during transform

┆Issue is synchronized with this Jira Bug

sanand0 avatar Jan 23 '22 12:01 sanand0

@sanand0 Is this on gramex's current master branch? Also what's the sklearn version?

jaidevd avatar Jan 24 '22 06:01 jaidevd