AttributeError: у объекта 'slice' нет атрибута 'flags' Ошибка - PullRequest
1 голос
/ 13 марта 2019

Я пытаюсь использовать GridSearchCv без перекрестной проверки, поскольку у меня есть отдельный набор проверок. Я нашел это решение, предлагающее мне использовать cv=[(slice(None), slice(None))] код для параметра cv, и оно работает. Но этот код не работает в редакторе PyCharm моего коллеги. Это ошибка: AttributeError: 'slice' object has no attribute 'flags'

Это полный стек ошибок:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Program Files\JetBrains\PyCharm 2018.3.5\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
  File "C:\Program Files\JetBrains\PyCharm 2018.3.5\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "C:/Users/user/PycharmProjects/aitrading/src/studies/ModelRunner.py", line 61, in <module>
    ModelRunner()
  File "C:/Users/user/PycharmProjects/aitrading/src/studies/ModelRunner.py", line 58, in _init_
    grid_result = grid.fit(self.train_X, self.train_y, validation_data=(self.valid_X, self.valid_y))
  File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\model_selection\_search.py", line 722, in fit
    self._run_search(evaluate_candidates)
  File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\model_selection\_search.py", line 1191, in _run_search
    evaluate_candidates(ParameterGrid(self.param_grid))
  File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\model_selection\_search.py", line 711, in evaluate_candidates
    cv.split(X, y, groups)))
  File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\externals\joblib\parallel.py", line 917, in _call_
    if self.dispatch_one_batch(iterator):
  File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\externals\joblib\parallel.py", line 759, in dispatch_one_batch
    self._dispatch(tasks)
  File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\externals\joblib\parallel.py", line 716, in _dispatch
    job = self._backend.apply_async(batch, callback=cb)
  File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\externals\joblib\_parallel_backends.py", line 182, in apply_async
    result = ImmediateResult(func)
  File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\externals\joblib\_parallel_backends.py", line 549, in _init_
    self.results = batch()
  File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\externals\joblib\parallel.py", line 225, in _call_
    for func, args, kwargs in self.items]
  File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\externals\joblib\parallel.py", line 225, in <listcomp>
    for func, args, kwargs in self.items]
  File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\model_selection\_validation.py", line 518, in _fit_and_score
    X_train, y_train = _safe_split(estimator, X, y, train)
  File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\utils\metaestimators.py", line 203, in _safe_split
    X_subset = safe_indexing(X, indices)
  File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\utils\_init_.py", line 202, in safe_indexing
    indices = indices if indices.flags.writeable else indices.copy()
AttributeError: 'slice' object has no attribute 'flags'

Как я могу решить это?

1 Ответ

0 голосов
/ 22 марта 2019

При попытке использовать без kfolds в GridSearch возникла точно такая же проблема. Вместо этого я попытался использовать другой метод:

cv = ShuffleSplit(test_size=0.01, n_splits=1)

Это должен быть тот же эффект

...