Closed15
「PyCaretで学ぶ機械学習入門」をやる
Setup
インストール
pip install pycaret[full]
ライブラリの競合でエラー発生。
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
conda-repo-cli 1.0.75 requires requests_mock, which is not installed.
aiobotocore 2.7.0 requires botocore<1.31.65,>=1.31.16, but you have botocore 1.34.84 which is incompatible.
anaconda-cloud-auth 0.1.4 requires pydantic<2.0, but you have pydantic 2.7.0 which is incompatible.
conda-repo-cli 1.0.75 requires clyent==1.2.1, but you have clyent 1.2.2 which is incompatible.
conda-repo-cli 1.0.75 requires PyYAML==6.0.1, but you have pyyaml 5.3.1 which is incompatible.
ChatGPTに確認したところ、Anacondaの別環境を作ると良いらしい。
以下、引用
はい、Anacondaをインストールすると、デフォルトで「base」(または「root」とも呼ばれる)環境が作成されています。この環境にはAnacondaがプリインストールしている多くのライブラリが含まれており、Anacondaを起動すると自動的にこの「base」環境がアクティブになります。
「base」環境の使用
- デフォルト環境: Anacondaをインストールした後、特に何も設定せずにPythonや他のコマンドを実行すると、これらは全て「base」環境内で実行されます。
-
環境のアクティベート: Anaconda Navigatorを使用するか、コマンドラインで
conda activate
を実行することによって、「base」環境を明示的にアクティブにすることができます。
新しい環境の作成
特定のプロジェクト用に新しい環境を作成したい場合は、次のコマンドを使用します。これにより、base
環境とは独立した、新しい仮想環境が作成されます。
conda create -n myenv python=3.8 # ここで 'myenv' は新しい環境の名前、Pythonのバージョンは必要に応じて指定
このコマンドを実行後、新しい環境をアクティブにするためには以下を実行します:
conda activate myenv
既存環境の確認
インストールされている環境のリストを確認するには、以下のコマンドを実行します:
conda env list
これで、すべてのインストール済み環境が表示され、「base」がデフォルト環境として設定されていることがわかります。
注意点
- デフォルトの「base」環境で作業することも可能ですが、新しいライブラリや特定のプロジェクトに特化した設定を行う場合は、新しい環境を作成することをお勧めします。これにより、異なるプロジェクト間での依存関係の競合を避けることができます。
- 環境ごとにPythonのバージョンやライブラリのバージョンを管理することで、より柔軟かつ安全にプロジェクトを進行することができます。
試したコマンド
環境作成
conda create -n PyCaretEnv
環境切り替え
conda activate PyCaretEnv
Conda環境にPyCaretをインストール
conda install -c conda-forge pycaret[full]
実行時エラー
以下コマンドでエラー
from pycaret.classification import *
エラー内容
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
Cell In[1], line 1
----> 1 from pycaret.classification import *
2 from pycaret.datasets import get_data
File ~\AppData\Roaming\Python\Python311\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 ~\AppData\Roaming\Python\Python311\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 ~\AppData\Roaming\Python\Python311\site-packages\pycaret\classification\oop.py:31
29 from pycaret.internal.pipeline import Pipeline as InternalPipeline
30 from pycaret.internal.preprocess.preprocessor import Preprocessor
---> 31 from pycaret.internal.pycaret_experiment.non_ts_supervised_experiment import (
32 _NonTSSupervisedExperiment,
33 )
34 from pycaret.internal.validation import is_sklearn_cv_generator
35 from pycaret.loggers.base_logger import BaseLogger
File ~\AppData\Roaming\Python\Python311\site-packages\pycaret\internal\pycaret_experiment\non_ts_supervised_experiment.py:3
1 import pandas as pd
----> 3 from pycaret.internal.pycaret_experiment.supervised_experiment import (
4 _SupervisedExperiment,
5 )
8 class _NonTSSupervisedExperiment(_SupervisedExperiment):
9 def __init__(self) -> None:
File ~\AppData\Roaming\Python\Python311\site-packages\pycaret\internal\pycaret_experiment\supervised_experiment.py:57
50 from pycaret.internal.patches.sklearn import fit_and_score as fs
51 from pycaret.internal.pipeline import (
52 Pipeline,
53 estimator_pipeline,
54 get_pipeline_estimator_label,
55 get_pipeline_fit_kwargs,
56 )
---> 57 from pycaret.internal.pycaret_experiment.tabular_experiment import _TabularExperiment
58 from pycaret.internal.tunable import TunableMixin
59 from pycaret.internal.validation import is_fitted, is_sklearn_cv_generator
File ~\AppData\Roaming\Python\Python311\site-packages\pycaret\internal\pycaret_experiment\tabular_experiment.py:14
12 import pandas as pd
13 import plotly.express as px # type: ignore
---> 14 import scikitplot as skplt # type: ignore
15 from IPython.display import display as ipython_display
16 from joblib.memory import Memory
File ~\AppData\Roaming\Python\Python311\site-packages\scikitplot\__init__.py:2
1 from __future__ import absolute_import, division, print_function, unicode_literals
----> 2 from . import metrics, cluster, decomposition, estimators
3 __version__ = '0.3.7'
6 from scikitplot.classifiers import classifier_factory
File ~\AppData\Roaming\Python\Python311\site-packages\scikitplot\metrics.py:27
24 from sklearn.calibration import calibration_curve
25 from sklearn.utils import deprecated
---> 27 from scipy import interp
29 from scikitplot.helpers import binary_ks_curve, validate_labels
30 from scikitplot.helpers import cumulative_gain_curve
ImportError: cannot import name 'interp' from 'scipy' (C:\***\.conda\envs\PyCaretEnv\Lib\site-packages\scipy\__init__.py)
解消
現在のScipyバージョン確認
import scipy
print(scipy.__version__)
出力
1.13.0
公式情報だと、 1.11.4
以下じゃないとだめ
なので、以下でインストール
conda install -c conda-forge scipy==1.11.4
再挑戦
import でエラー出てうまくいかないので以下手順で再度試す。
以下手続きでうまく行った。
conda create -n PyCaretEnv python=3.10.11
conda activate PyCaretEnv
conda install -c conda-forge jupyter
conda install -c conda-forge pycaret
pip install -r https://raw.githubusercontent.com/pycaret/pycaret/master/requirements.txt
pip install joblib==1.3.2
結果、
scipy
のバージョンと
joblib
のバージョンに問題があったっぽい。
以下に記事にした。
一通り動かして確認できたので、クローズします。
このスクラップは2024/04/18にクローズされました