Python

Pycaretの環境構築でエラーになる原因・インストールできない場合の対応方法

Python

どうも、月見(@Suzuka14144156)です。

この記事では、Pycaretの環境構築でエラーになる原因・インストールできない場合の対応方法ついて解説します。

このようなお悩みをお持ちの方におすすめの記事です。

  • Pycaretって?
  • Pycaretの環境構築でエラーになる
  • インストールできない場合の対応方法が知りたい
Pycaretの最大の障壁
  • Pycaretを利用するまでの最大の課題は、環境構築
  • 対応方法として、Dockerを利用すると簡単に実行環境を手に入れられます

よって本記事では、Dockerで環境構築を手に入れる方法を解説します。

Pycaretとは?

  • PyCaretは、Pythonで記述された機械学習のライブラリであり、機械学習モデルを簡単かつ迅速に構築することができるフレームワークです。
  • PyCaretは、自動的に特徴量エンジニアリング、データ前処理、モデルトレーニング、モデルの比較、モデルのチューニング、モデルのデプロイなどのタスクを処理することができます。

色々なモデルで精度がどれくらいか?を数行のコードで試せるライブラリでかなり強力です。

Pycaretの環境構築・インストールで起こるエラー

筆者も公式のドキュメントを読みながらいろいろ試した結果、以下がわかりましたので、共有します。

  • conda install ができない
  • 色々なライブラリの整合性を取れずにインストールできない

筆者の環境では、condaからのインストールが失敗となり、できなかったです。

また、PyCaretが依存するパッケージのバージョンが、既存のパッケージと競合する場合、エラーが発生することがあります。

Pycaretのインストールできない場合の対応方法

Pycaretは、色々なライブラリの整合性を取る必要があります。

整合性が取れないとエラーになります。

  • Dockerから環境を構築するのがオススメです
  • Dockerとは仮想環境を構築するためのアプリケーション
  • インストールは5分程度で完了します

そのほかにもAnacondaで仮想環境を構築して、pip installする方法でも実行環境を構築できました。

ただ、Jupyter notebookでその環境で実行するとエラーが出てしまい、躓きました。

なので、結論としては、Dockerで環境構築する方法が一番オススメです。

Dockerのインストール

以下からDockerのインストールが可能です。

Home
Docker is a platform designed to help developers build, share, and run container applications. We handle the tedious setup, so you can focus on the code.

ダウンロードしたexeファイルを実行すると、ダウンロードが完了します。

仮想空間の立ち上げ

基本的には、デフォルトバージョンで十分機能します。

ご自身の希望に沿って、以下のコマンドをコマンドプロンプトから実行ください。

デフォルトバージョンの場合。

# default version
docker run -p 8888:8888 pycaret/slim

フルバージョンの場合。

# full version
docker run -p 8888:8888 pycaret/full
  • 一番したのURLをCtrlキーを押しながらクリック

Jupyter notebookが開きます。

  • pycaretをクリック

Pycaretの実行

  • 試しに、PyCaret の Classification Module を試してみます(分類問題)
  • 様々なモデルを比較し、最適なモデルを選択します
# load sample dataset
from pycaret.datasets import get_data
data = get_data('diabetes')

実行すると以下のデータがダウンロードされます。

以下画面の赤枠のClass Variableを予想するモデルを構築します。

from pycaret.classification import *
s = setup(data, target = 'Class variable', session_id = 123)

Class variableをtargetにすることで、目的変数として設定します。

# functional API
best = compare_models()

実行するといろいろなモデルでAccなどを算出し、最適なモデルが選ばれます。

以下の表は、優秀なモデル順になっています。

この場合だとLogistic Regressionが最も優れたモデルとなります。

# functional API
evaluate_model(best)

モデルの評価をするのに、このコードを実行することでできます。

本来ならばこのような画面が出力されるのですが、私が確認した限り以下が実行されました。

原因は、不明です。

ただ、以下のようにplot_model()を使うと、個別で出力可能なので、状況に応じて可視化したグラフを見ることはできます。

plot_model(best,plot='feature')

plot=”の中身を切り替えることで、以下のグラフが表示可能です。

Plot NamePlot
Area Under the Curve‘auc’
Discrimination Threshold‘threshold’
Precision Recall Curve‘pr’
Confusion Matrix‘confusion_matrix’
Class Prediction Error‘error’
Classification Report‘class_report’
Decision Boundary‘boundary’
Recursive Feature Selection‘rfe’
Learning Curve‘learning’
Manifold Learning‘manifold’
Calibration Curve‘calibration’
Validation Curve‘vc’
Dimension Learning‘dimension’
Feature Importance (Top 10)‘feature’
Feature IImportance (all)‘feature_all’
Model Hyperparameter‘parameter’
Lift Curve‘lift’
Gain Curve‘gain’
KS Statistic Plot‘ks’

AUCを確認します。

# functional API
plot_model(best, plot = 'auc')

次に構築したモデルで、予測します。

# functional API
predict_model(best)

ACCが75%とそこそこ。

モデルの保存は、以下のコードでできます。

# functional API
save_model(best, 'my_best_pipeline')

Pycaretの公式ドキュメント

本記事は、以下の公式ドキュメントを参照して作成しました。

PyCaret 3.0 | Docs
An open-source, low-code machine learning library in Python

本記事の関連の参考書や講座

基本的なPythonのコード知識を学ぶには、以下の書物がオススメです。

Udemyのオンライン講座は、以下がオススメです。

Udemyは買い切りなので、一度購入してしまえば、何度でも閲覧できるのでオススメです。

現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です!

まとめ

この記事では、Pycaretの環境構築でエラーになる原因・インストールできない場合の対応方法ついて解説しました。

まとめると以下です。

Pycaretの最大の障壁
  • Pycaretを利用するまでの最大の課題は、環境構築
  • 対応方法として、Dockerを利用すると簡単に実行環境を手に入れられます

今回の記事は、以上です。

コメント

タイトルとURLをコピーしました