Skip to content

compare_models(cross_validation=False) and create_model(cross_validation=False) bug in time_series module #1713

@moezali1

Description

@moezali1

compare_models(cross_validation=False) bug in time_series module:

compare_models(cross_validation=False)

ValueError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_21468/1173302213.py in
----> 1 compare_models(cross_validation=False)

~\pycaret\pycaret\internal\utils.py in wrapper(*args, **kwargs)
779 if globals_d[name] is None:
780 raise ValueError(message)
--> 781 return func(*args, **kwargs)
782
783 return wrapper

~\pycaret\pycaret\time_series.py in compare_models(include, exclude, fold, round, cross_validation, sort, n_select, budget_time, turbo, errors, fit_kwargs, verbose)
343 return _CURRENT_EXPERIMENT.compare_models(
344 include=include,
--> 345 exclude=exclude,
346 fold=fold,
347 round=round,

~\pycaret\pycaret\internal\pycaret_experiment\time_series_experiment.py in compare_models(self, include, exclude, fold, round, cross_validation, sort, n_select, budget_time, turbo, errors, fit_kwargs, verbose)
1235 """
1236
-> 1237 return super().compare_models(
1238 include=include,
1239 exclude=exclude,

~\pycaret\pycaret\internal\pycaret_experiment\supervised_experiment.py in compare_models(self, include, exclude, fold, round, cross_validation, sort, n_select, budget_time, turbo, errors, fit_kwargs, groups, verbose, display)
823 else:
824 compare_models_ = pd.DataFrame(model_results.iloc[0]).T
--> 825 compare_models_.insert(
826 len(compare_models_.columns), "TT (Sec)", model_fit_time
827 )

~\anaconda3\envs\pycaret-ts\lib\site-packages\pandas\core\frame.py in insert(self, loc, column, value, allow_duplicates)
4407 if not allow_duplicates and column in self.columns:
4408 # Should this be a different kind of error??
-> 4409 raise ValueError(f"cannot insert {column}, already exists")
4410 if not isinstance(loc, int):
4411 raise TypeError("loc must be int")

ValueError: cannot insert TT (Sec), already exists

Also when

create_model('naive', cross-validation = False)

KeyError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_25640/3686911756.py in
----> 1 create_model('naive', cross_validation=False)

~\pycaret\pycaret\internal\utils.py in wrapper(*args, **kwargs)
779 if globals_d[name] is None:
780 raise ValueError(message)
--> 781 return func(*args, **kwargs)
782
783 return wrapper

~\pycaret\pycaret\time_series.py in create_model(estimator, fold, round, cross_validation, fit_kwargs, verbose, **kwargs)
437 fit_kwargs: dict, default = {} (empty dict)
438 Dictionary of arguments passed to the fit method of the model.
--> 439
440
441 verbose: bool, default = True

~\pycaret\pycaret\internal\pycaret_experiment\time_series_experiment.py in create_model(self, estimator, fold, round, cross_validation, fit_kwargs, verbose, **kwargs)
1329
1330 """
-> 1331 return super().create_model(
1332 estimator=estimator,
1333 fold=fold,

~\pycaret\pycaret\internal\pycaret_experiment\supervised_experiment.py in create_model(self, estimator, fold, round, cross_validation, predict, fit_kwargs, groups, refit, verbose, system, X_train_data, y_train_data, metrics, display, **kwargs)
1465
1466 if not cross_validation:
-> 1467 model, model_fit_time = self._create_model_without_cv(
1468 model, data_X, data_y, fit_kwargs, predict, system, display
1469 )

~\pycaret\pycaret\internal\pycaret_experiment\time_series_experiment.py in _create_model_without_cv(self, model, data_X, data_y, fit_kwargs, predict, system, display)
1388 if predict:
1389 self.predict_model(model, verbose=False)
-> 1390 model_results = self.pull(pop=True).drop("Model", axis=1)
1391
1392 self.display_container.append(model_results)

~\anaconda3\envs\pycaret-ts\lib\site-packages\pandas\util_decorators.py in wrapper(*args, **kwargs)
309 stacklevel=stacklevel,
310 )
--> 311 return func(*args, **kwargs)
312
313 return wrapper

~\anaconda3\envs\pycaret-ts\lib\site-packages\pandas\core\frame.py in drop(self, labels, axis, index, columns, level, inplace, errors)
4899 weight 1.0 0.8
4900 """
-> 4901 return super().drop(
4902 labels=labels,
4903 axis=axis,

~\anaconda3\envs\pycaret-ts\lib\site-packages\pandas\core\generic.py in drop(self, labels, axis, index, columns, level, inplace, errors)
4145 for axis, labels in axes.items():
4146 if labels is not None:
-> 4147 obj = obj._drop_axis(labels, axis, level=level, errors=errors)
4148
4149 if inplace:

~\anaconda3\envs\pycaret-ts\lib\site-packages\pandas\core\generic.py in _drop_axis(self, labels, axis, level, errors)
4180 new_axis = axis.drop(labels, level=level, errors=errors)
4181 else:
-> 4182 new_axis = axis.drop(labels, errors=errors)
4183 result = self.reindex(**{axis_name: new_axis})
4184

~\anaconda3\envs\pycaret-ts\lib\site-packages\pandas\core\indexes\base.py in drop(self, labels, errors)
6016 if mask.any():
6017 if errors != "ignore":
-> 6018 raise KeyError(f"{labels[mask]} not found in axis")
6019 indexer = indexer[~mask]
6020 return self.delete(indexer)

KeyError: "['Model'] not found in axis"

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingtime_seriesTopics related to the time series

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions