Я использую GridSearchCV, чтобы найти наилучшие параметры для моего конвейера.
И я получаю достойный результат.
Но GridSearchCV явно что-то не нравится, и я не могу этого понять.
/ home / jo / anaconda2 / envs / py35 / lib /python3.5 / site-packages / ipykernel / main .py: 11: SettingWithCopyWarning: значение пытается быть установлено для копии фрагмента из DataFrame.Попробуйте использовать .loc [row_indexer, col_indexer] = значение вместо
См. Предостережения в документации: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy /home/jo/anaconda2/envs/py35/lib/python3.5/site-packages / ipykernel / main .py: 12: SettingWithCopyWarning: пытается установить значение для копии фрагмента из DataFrame.Попробуйте вместо этого использовать .loc [row_indexer, col_indexer] = значение
См. Предостережения в документации: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy /home/jo/anaconda2/envs/py35/lib/python3.5/site-packages / ipykernel / main .py: 14: SettingWithCopyWarning: пытается установить значение для копии фрагмента из DataFrame.Попробуйте вместо этого использовать .loc [row_indexer, col_indexer] = значение
См. Предостережения в документации: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
--------------------------------------------------------------------------- ValueError Traceback (последний вызов был последним) в () 3 GSCV = GridSearchCV (конвейер, гиперпараметры, cv = 3, оценка = 'roc_auc', refit = False) #change n_jobs = 2, refit= Неверно 4 ----> 5 GSCV.fit (X_train, y_train)
/ home / jo / anaconda2 / envs / py35 / lib / python3.5 / site-packages / sklearn / model_selection / _search.py in fit (self, X, y, groups) 943 поезд / тестовый набор.944 "" "-> 945 return self._fit (X, y, groups, ParameterGrid (self.param_grid)) 946 947
/ home / jo / anaconda2 / envs / py35 / lib / python3.5/site-packages/sklearn/model_selection/_search.py в _fit (self, X, y, groups, parameter_iterable) 562 return_times = True, return_parameters = True, 563 error_score = self.error_score) -> 564 для параметров в parameter_iterable 565для поезда, тест в cv_iter) 566
/ home / jo / anaconda2 / envs / py35 / lib / python3.5 / site-packages / sklearn / externals / joblib / parallel.py в call (self, iterable) 756 # было отправлено.В частности, это охватывает край 757 # случая Parallel, используемого с исчерпанным итератором. -> 758, в то время как self.dispatch_one_batch (iterator): 759 self._iterating = True 760 else:
/ home / jo / anaconda2 / envs / py35 / lib / python3.5 / site-packages / sklearn / externals / joblib / parallel.py в dispatch_one_batch (self, iterator) 606 возвращает False 607 иначе: --> 608 self._dispatch (задачи) 609 return True 610
/ home / jo / anaconda2 / envs / py35 / lib / python3.5 / site-packages / sklearn / externals / joblib / parallel.py в _dispatch (self, batch) 569 dispatch_timestamp = time.time () 570 cb = BatchCompletionCallBack (dispatch_timestamp, len (batch),self) -> 571 job = self._backend.apply_async (batch, callback = cb) 572 self._jobs.append (job) 573
/ home / jo / anaconda2 / envs / py35 / lib / python3.5 / site-packages / sklearn / externals / joblib / _parallel_backends.py в apply_async (self, func, callback) 107 def apply_async (self, func,callback = Нет): 108 "" "Запланировать запуск функции" "" -> 109 result = ImmediateResult (func) 110 if callback: 111 callback (result)
/ home / jo / anaconda2 /envs / py35 / lib / python3.5 / site-packages / sklearn / externals / joblib / _parallel_backends.py в init (self, batch) 324 # Не откладывать приложение, чтобы избежать сохранения ввода325 # аргументов в памяти -> 326 self.results = batch () 327 328 def get (self):
/ home / jo / anaconda2 / envs / py35 / lib / python3.5 / site-packages/sklearn/externals/joblib/parallel.py в call (self) 129 130 def call (self): -> 131 return [func (* args, ** kwargs)для func, args, kwargs в self.items] 132 133 def len (self):
/ home / jo / anaconda2 / envs / py35 / lib / python3.5 / site-пакеты / sklearn / externals / joblib / parallel.py в (.0) 129 130def call (self): -> 131 return [func (* args, ** kwargs) для func, args, kwargs в self.items] 132 133 def len (self):
/ home / jo / anaconda2 / envs / py35 / lib / python3.5 / site-packages / sklearn / model_selection / _validation.py в _fit_and_score (оценка, X, y, секретарь, поезд, тестирование, подробные, параметры, fit_params, return_train_score, return_parameters, return_n_test_samples, return_times, error_score) 236 estimator.fit (X_train, ** fit_params) 237 else: -> 238 estimator.fit (X_train, y_train, ** fit_params 239) 239Исключение составляет e:
/ home / jo / anaconda2 / envs / py35 / lib / python3.5 / site-packages / sklearn / pipe.py в соответствии (self, X, y, ** fit_params) 266Эта оценка 267 "" "-> 268 Xt, fit_params = self._fit (X, y, ** fit_params) 269, если self._final_estimator не равно None: 270 self._final_estimator.fit (Xt, y, ** fit_params)
/ home / jo / anaconda2 / envs / py35 / lib / python3.5 / site-packages / sklearn / pipe.py в _fit (self, X, y, ** fit_params) 232 прохода 233 elif hasattr (transform, "fit_transform"): -> 234 Xt = transform.fit_transform (Xt, y, ** fit_params_steps [name]) еще 235: 236 Xt = transform.fit (Xt, y, ** fit_params_steps [name]) \
/ home / jo / anaconda2 / envs / py35 / lib / python3.5 / site-packages / sklearn / base.py в fit_transform (self, X, y, ** fit_params) 495 else:496 # метод соответствия арности 2 (контролируемое преобразование) -> 497 возврат self.fit (X, y, ** fit_params) .transform (X) 498 499
в соответствии (self, X, y)16 self.ohe.fit (X_full) 17 # Создайте Dataframe, который не содержит нулевых значений, переменные категории - OHE, со всеми строками ---> 18 X_ohe_full = self.ohe.transform (X_full [~ X [self.col] .isnull ()]. drop (self.col, axis = 1)) 19 20 # Поместить классификатор в строки, где col равно нулю
/ home / jo / anaconda2 / envs / py35 / lib /python3.5 / site-packages / pandas / core / frame.py в getitem (self, key) 2057 return self._getitem_multilevel (key) 2058 else: -> 2059 return self._getitem_column (key) 20602061 def _getitem_column (self, key):
/ home / jo / anaconda2 / envs / py35 / lib / python3.5 / site-packages / pandas / core / frame.py в _getitem_column (self, key) 2064 # получить столбец 2065
если self.columns.is_unique:-> 2066 вернуть self._get_item_cache (ключ) 2067 2068 # дублировать столбцы и возможно уменьшить размерность
/ home / jo / anaconda2 / envs / py35 / lib / python3.5 / site-packages / pandas / core /generic.py в _get_item_cache (self, item) 1384 res = cache.get (item)
1385, если res - None: -> 1386 values = self._data.get (item) 1387 res = self._box_item_values (item,значения) 1388
кеш [item] = res
/ home / jo / anaconda2 / envs / py35 / lib / python3.5 / site-packages / pandas / core / internals.py в get (self, item, fastpath) 3550 loc = indexer.item () 3551 else: -> 3552 повысить ValueError («не может пометить индекс пустым ключом») 3553 3554 вернуть self.iget (loc, fastpath = fastpath)
ValueError: невозможно пометить индекс пустым ключом