1. ホーム
  2. スクリプト・コラム
  3. パイソン

pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール

2022-01-02 20:44:10

PyCaretは、機械学習のワークフローを自動化する、オープンソース、ローコードのPython機械学習ライブラリです。実験サイクルを飛躍的に高速化し、生産性を向上させることができるエンドツーエンドの機械学習・モデル管理ツールです。収集し、学ぶために歓迎し、サポートのように、記事の終わりには、技術交流会を提供しています。

他のオープンソースの機械学習ライブラリと比較して、PyCaretは数百行のコードを数行のコードに置き換えることができる、代替のローコードライブラリです。これにより、実験が飛躍的に速く、効率的になります。PyCaretは基本的に、複数の機械学習ライブラリやフレームワーク(scikit-learn, XGBoost, LightGBM, CatBoost, spaCy, Optuna, Hyperopt, Rayなど)のPythonラッパーとして使用されます。

データサイエンティストの新たな役割にインスパイアされたPyCaretのデザインとシンプルさは、これまでより専門的な知識を必要としたシンプルかつ中程度の複雑さの分析タスクを可能にします。

PyCaret 時系列モジュール

PyCaretの新しい時系列モジュールがベータ版で利用可能になりました。PyCaretのシンプルさを保ちつつ、既存のAPIと一貫性を持たせ、多くの機能を搭載しています。統計テスト、モデルの学習と選択(30以上のアルゴリズム)、モデル分析、自動ハイパーパラメータチューニング、実験ロギング、クラウド展開など、(pycaretの他のモジュールと同様に)全て数行のコードで行うことができます。試してみたい方は、公式のクイックスタートノートブックをご覧ください。

このライブラリはpipでインストールすることができます。同じ環境に PyCaret をインストールしている場合、依存関係が競合するため、pycaret-ts-alpha 用に別の環境を作成する必要があります。

pip install pycaret-ts-alpha


次の配置は次のとおりです。

PyCaretのTime Seriesモジュールのワークフローは非常にシンプルです。まず、予測範囲 fh とフォールドの数を定義する setup 関数から始まります。また、fold_strategy を expansion か sliding で定義することができます。

設定後、よく知られたcompare_models関数がARIMAからXGboostまで30以上のアルゴリズム(TBATS、FBProphet、ETSなど)を学習・評価します。

plot_model 関数は学習の前でも後でも使用できます.学習前に使用する場合、plotlyインターフェイスを使用して、多数の時系列EDAプロットを収集します。モデルと共に使用される場合、plot_model はモデルの残差を処理し、モデルの適合度にアクセスするために使用することができます。

最後に、predict_modelは予測値を生成するために使用されます。

データの読み込み

import pandas as pd
from pycaret.datasets import get_data
data = get_data('pycaret_downloads')
data['Date'] = pd.to_datetime(data['Date'])
data = data.groupby('Date').sum()
data = data.asfreq('D')
data.head()


# plot the data
data.plot()


この時系列は、1日にpipからPyCaretライブラリがダウンロードされる回数です。

初期設定

# with functional API
from pycaret.time_series import *
setup(data, fh = 7, fold = 3, session_id = 123)
# with new object-oriented API
from pycaret.internal.pycaret_experiment import TimeSeriesExperiment
exp = TimeSeriesExperiment()
exp.setup(data, fh = 7, fold = 3, session_id = 123)


統計テスト

check_stats()


探索的データ解析

# functional API
plot_model(plot = 'ts')
# object-oriented API
exp.plot_model(plot = 'ts')


# cross-validation plot
plot_model(plot = 'cv')


# ACF plot
plot_model(plot = 'acf')


# Diagnostics plot
plot_model(plot = 'diagnostics')


# Decomposition plot
plot_model(plot = 'decomp_stl')


モデルの学習と選択

# functional API
best = compare_models()
# object-oriented API
best = exp.compare_models()


時系列モジュールのcreate_modelは、他のモジュールと同様です。

# create fbprophet model
prophet = create_model('prophet')
print(prophet)


tune_modelもあまり変わりませんね。

tuned_prophet = tune_model(prophet)
print(tuned_prophet)


plot_model(best, plot = 'forecast')


# forecast in unknown future
plot_model(best, plot = 'forecast', data_kwargs = {'fh' : 30})


# in-sample plot
plot_model(best, plot = 'insample')


# residuals plot
plot_model(best, plot = 'residuals')


# diagnostics plot
plot_model(best, plot = 'diagnostics')


モデルの保存

# finalize model
final_best = finalize_model(best)
# generate predictions
predict_model(final_best, fh = 90)


# save the model
save_model(final_best, 'my_best_model')


上記はpyCaret効率乗算器オープンソースローコードpython機械学習ツールの詳細です、python機械学習ツールPycaretに関する詳細な情報は、スクリプトホーム他の関連記事に従ってください!...