Skip to content

[BUG]: pycaret will need changes to support next version of scikit-learn (1.4) #3795

@celestinoxp

Description

@celestinoxp

pycaret version checks

Issue Description

I installed the next version of scikit-learn 1.4 and errors were shown, that is, I suggest we start preparing pycaret for the next version of scikit-learn.

Reproducible Example

pip install --pre --extra-index https://pypi.anaconda.org/scientific-python-nightly-wheels/simple scikit-learn

Expected Behavior

.

Actual Results

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
Cell In[2], line 10
      7 # Definir a opção para mostrar todas as colunas
      8 pd.set_option("display.max_columns", None)
---> 10 from pycaret.classification import *

File ~\anaconda3\lib\site-packages\pycaret\classification\__init__.py:1
----> 1 from pycaret.classification.functional import (
      2     add_metric,
      3     automl,
      4     blend_models,
      5     calibrate_model,
      6     check_drift,
      7     check_fairness,
      8     compare_models,
      9     convert_model,
     10     create_api,
     11     create_app,
     12     create_docker,
     13     create_model,
     14     dashboard,
     15     deploy_model,
     16     ensemble_model,
     17     evaluate_model,
     18     finalize_model,
     19     get_allowed_engines,
     20     get_config,
     21     get_current_experiment,
     22     get_engine,
     23     get_leaderboard,
     24     get_logs,
     25     get_metrics,
     26     interpret_model,
     27     load_experiment,
     28     load_model,
     29     models,
     30     optimize_threshold,
     31     plot_model,
     32     predict_model,
     33     pull,
     34     remove_metric,
     35     save_experiment,
     36     save_model,
     37     set_config,
     38     set_current_experiment,
     39     setup,
     40     stack_models,
     41     tune_model,
     42 )
     43 from pycaret.classification.oop import ClassificationExperiment
     45 __all__ = [
     46     "ClassificationExperiment",
     47     "setup",
   (...)
     86     "check_drift",
     87 ]

File ~\anaconda3\lib\site-packages\pycaret\classification\functional.py:8
      5 import pandas as pd
      6 from joblib.memory import Memory
----> 8 from pycaret.classification.oop import ClassificationExperiment
      9 from pycaret.internal.parallel.parallel_backend import ParallelBackend
     10 from pycaret.loggers.base_logger import BaseLogger

File ~\anaconda3\lib\site-packages\pycaret\classification\oop.py:16
     13 from joblib.memory import Memory
     14 from scipy.optimize import shgo
---> 16 from pycaret.containers.metrics.classification import get_all_metric_containers
     17 from pycaret.containers.models.classification import (
     18     ALL_ALLOWED_ENGINES,
     19     get_all_model_containers,
     20     get_container_default_engines,
     21 )
     22 from pycaret.internal.display import CommonDisplay

File ~\anaconda3\lib\site-packages\pycaret\containers\metrics\classification.py:16
     13 from sklearn import metrics
     14 from sklearn.metrics._scorer import _BaseScorer
---> 16 import pycaret.containers.base_container
     17 import pycaret.internal.metrics
     18 from pycaret.containers.metrics.base_metric import MetricContainer

File ~\anaconda3\lib\site-packages\pycaret\containers\base_container.py:8
      5 import inspect
      6 from typing import Any, Dict, Optional
----> 8 import pycaret.utils.generic
     11 class BaseContainer:
     12     """
     13     Base container class, for easier definition of containers. Ensures consistent format
     14     before being turned into a dataframe row.
   (...)
     41 
     42     """

File ~\anaconda3\lib\site-packages\pycaret\utils\generic.py:15
     13 from scipy import sparse
     14 from sklearn.metrics import get_scorer
---> 15 from sklearn.metrics._scorer import _PredictScorer
     16 from sklearn.model_selection import BaseCrossValidator, KFold, StratifiedKFold
     17 from sklearn.model_selection._split import _BaseKFold

ImportError: cannot import name '_PredictScorer' from 'sklearn.metrics._scorer' (C:\Users\celes\anaconda3\lib\site-packages\sklearn\metrics\_scorer.py)

Installed Versions

latest pycaret from github

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions