提问人:Suresh Gautam 提问时间:11/18/2023 更新时间:11/18/2023 访问量:13
mac OS 中 anaconda 环境中 juypter 笔记本中的 pycaret 库的导入问题
import issue with pycaret library in juypter notebook in anaconda environment in mac OS
问:
在 Mac OS 10.13.6 python 3.8 环境中的 Anaconda Navigator 2.5.1 中,在本地安装的 jupyter notebook 中导入 pycaret 库时,遇到了以下部分中显示的问题。导入时收到错误堆栈,其他类也会遇到相同的错误(即 和 ) 尽管 pycaret 的安装是成功的。from pycaret.classification import *
from pycaret.classification import *
from pycaret.regression import validate_params
怀疑 pycaret 库问题,尝试 ,但没有锁定解决问题。此外,尝试降级到 pycaret 2.3.3,就像在 pycaret 版本 2.3.3 中一样,prefer_skip_nested_validation 参数是可选的。不幸的是,由于许多依赖失败,降级无法成功,这可能是因为 27 个月前发布的版本,并且在依赖包中进行了许多更新。任何解决进口问题的建议将不胜感激。!pip install pycaret --upgrade
!pip uninstall pycaret
!pip install pycaret
> --------------------------------------------------------------------------- TypeError Traceback (most recent call
> last) Cell In[47], line 1
> ----> 1 from pycaret.classification import *
>
> File
> //anaconda3/lib/python3.8/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/python3.8/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/python3.8/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/python3.8/site-packages/pycaret/containers/metrics/classification.py:13
> 1 # Module: containers.metrics.classification
> 2 # Author: Antoni Baum (Yard1) <[email protected]>
> 3 # License: MIT (...)
> 8 # `ClassificationMetricContainer` as a base, set all of the required parameters in the `__init__` and then call `super().__init__`
> 9 # to complete the process. Refer to the existing classes for examples.
> 11 from typing import Any, Dict, Optional, Union
> ---> 13 from sklearn import metrics
> 14 from sklearn.metrics._scorer import _BaseScorer
> 16 import pycaret.containers.base_container
>
> File
> //anaconda3/lib/python3.8/site-packages/sklearn/metrics/__init__.py:20
> 17 from ._ranking import roc_curve
> 18 from ._ranking import top_k_accuracy_score
> ---> 20 from ._classification import accuracy_score
> 21 from ._classification import balanced_accuracy_score
> 22 from ._classification import class_likelihood_ratios
>
> File
> //anaconda3/lib/python3.8/site-packages/sklearn/metrics/_classification.py:146
> 142 else:
> 143 return sample_score.sum()
> --> 146 @validate_params(
> 147 {
> 148 "y_true": ["array-like", "sparse matrix"],
> 149 "y_pred": ["array-like", "sparse matrix"],
> 150 "normalize": ["boolean"],
> 151 "sample_weight": ["array-like", None],
> 152 }
> 153 )
> 154 def accuracy_score(y_true, y_pred, *, normalize=True, sample_weight=None):
> 155 """Accuracy classification score.
> 156
> 157 In multilabel classification, this function computes subset accuracy: (...)
> 217 0.5
> 218 """
> 220 # Compute accuracy for each possible representation
>
> TypeError: validate_params() missing 1 required keyword-only argument:
> 'prefer_skip_nested_validation'
答:
我遇到了同样的问题并参考了一个帖子,我正在 Conda 环境中的 Jupyter Notebook 中尝试这个。 它成功安装了软件包,但是当我导入软件包时,它出现错误:!pip install --pre pycaret
ModuleNotFoundError: No module named 'pycaret'
它成功安装并在 Google colab 中正常运行的相同软件包如下。
它清楚地表明我们正在安装和尝试在Pycarate中运行的环境存在一些问题。我找不到任何方法来解决这个问题。
但是我发现了一些解决方法,如下所示。 请执行命令,希望它会有所帮助。
conda info --envs
.它将列出 python 中可用的环境。conda activate <Select_one_Env>
Select_one_Env 是将要选择的潜在示例环境名称。您可以为您的用例选择最佳环境。
我相信你已经在做以上两个步骤了。 以下步骤将绕过 Jupyter Notebook 并尝试使用 ipython 。
ipython 类似于 Jupyter Notebook,但位于 shell 或控制台终端中。
选择目标环境后,使用以下命令。
ipython
运行此 shell 命令以启动 iPython shell。- ipython shell 启动后,您可以运行相同的 pip install 命令,例如它将安装 pycrate 包。
成功安装包后,运行以下命令。
!pip install --pre pycaret
现在您将能够在 ipython shell 中运行 pycrate 包。
希望,这将有助于解决问题。
评论
%pip install
%conda install
评论
pip install
%pip install
pip