LoginSignup
282

More than 1 year has passed since last update.

【PyCaret入門】機械学習を自動化するライブラリ「PyCaret」を入門する

Last updated at Posted at 2020-04-20

PyCaretとは

つい先日Announcing PyCaret 1.0.0という記事を拝見しました。
面白そうなライブラリだったため、この記事では、実際にPyCaretの使い方を解説していきます。
PyCaretとは、機械学習のモデル開発においてデータ前処理や可視化、モデル開発を数行のコードで出来てしまうPythonのライブラリです。

PyCaretはいくつかの主要な機械学習ライブラリ(scikit-learn, XGBoost, LightGBMなど)をPythonでラッパーしたものです。
分類や回帰、クラスタリング、異常検知、自然言語処理が扱えます。
言わば、PyCaretは、DataRobotの無料版のようなイメージです。

基本的に、前処理、モデリング、性能評価、チューニング、可視化まで一通り出来るそうです。
さらに、スタッキング等も出来ます。
(時系列解析やLog lossなどの一部の評価指標がなさげです。)
PyCaret/Github

また、対象読者は、既にscikit-learnを用いて機械学習の一連を入門したよ!って言う方です。
(機械学習初学者だと、内容がわからなくなる可能性があります。とりあえずなんか過ごそう。。って感じで終わると思います。自社サービスで恐縮ですが、AI Academyなどを使って、機械学習プログラミングを入門してみてください!)

PyCaretを使って、kaggleのCredit Card Fraud Detectionに取り組んだ解説動画もありますので、こちらも是非見てみてください。

AI Academy Bootcamp

6ヶ月35,000円にてチャットで質問し放題の環境で、機械学習やデータ分析が学べるサービスを提供しております。
数十名在籍しているデータサイエンティストや機械学習エンジニアに質問し放題の環境でデータ分析、統計、機械学習、SQL等が学べます。AI人材に必要なスキルを効率よく体系的に身に付けたい方は是非ご検討ください!
bootcamp_ad_72ppi.png
https://aiacademy.jp/bootcamp

PyCaretをやってみよう!

まずはPyCaretのインストールです。

ターミナルやコマンドプロンプトからインストールの場合は、以下のコマンドでインストール出来ます。

pip install pycaret

Jupyter NotebookやGoogle Colabでは先頭に!をつけて以下のコマンドにてインストール出来ます。

!pip install pycaret

必要なモジュールの読み込み&データの準備

今回は、irisデータセットを用いて多クラス分類をしてみます。
まずは必要なコードを読み込みます。

import warnings
# 不要な警告文消すよ
warnings.filterwarnings("ignore")
# 今回の主役!PyCaretを読み込みます。
from pycaret.classification import *
# Irisデータセットを読み込みます。
from sklearn.datasets import load_iris
# データフレーム扱うのでPandasも読み込みます。
import pandas as pd

次に、データを準備します。

iris = load_iris()
X = pd.DataFrame(iris.data, columns=iris.feature_names)
y = pd.DataFrame(iris.target, columns=["target"])
df = pd.concat([X,y], axis=1)

先頭5件表示。

df.head()

前処理

いざ!前処理。

**setup()**を使うと、欠損値処理、データ分割などを行なってくれます。

targetには、目的変数を渡します。

exp1 = setup(df, target = 'target')

モデルを比較しよう

モデルの比較は**compare_models()**を使うだけです。

compare_models()
スクリーンショット 2020-04-21 0.14.17.png

モデリング

https://pycaret.org/create-model/を参考にして、学習に利用するアルゴリズムの名称を入力します。
今回は、正解率が最も高かった『2次判別分析 (Quadratic Discriminant Analysis)』と決定木を利用します。
Quadratic Discriminant Analysisは、'qda'と入力すれば良いそうなので、今回はqdaと入力します。

qda = create_model('qda')
スクリーンショット 2020-04-21 0.14.38.png

決定木も試してみましょう。

tree = create_model('dt')
スクリーンショット 2020-04-21 0.14.44.png

チューニング

決定木をチューニングしてみます。

tuned_tree = tune_model('dt')
スクリーンショット 2020-04-21 0.14.44.png

パラメータの取得

tuned_tree.get_params

モデルの可視化

tuned_qda = tune_model('qda')
plot_model(tuned_qda)

download.png

plot_model(tuned_tree)

download-1.png

アンサンブル学習

lgbm = create_model('lightgbm')
xgboost = create_model('xgboost')

ensemble = blend_models([lgbm, xgboost])
スクリーンショット 2020-04-21 0.15.43.png

スタッキング

stack = stack_models(estimator_list = [xgboost], meta_model = lgbm)
スクリーンショット 2020-04-21 0.15.48.png

予測

pred = predict_model(qda)

はい、便利。

最後に

数行で、一通り出来ました。。
これから少しずつ使ってみようかと思います。

AI Academy Bootcamp

6ヶ月35,000円にてチャットで質問し放題の環境で、機械学習やデータ分析が学べるサービスを提供しております。
数十名在籍しているデータサイエンティストや機械学習エンジニアに質問し放題の環境でデータ分析、統計、機械学習、SQL等が学べます。AI人材に必要なスキルを効率よく体系的に身に付けたい方は是非ご検討ください!
bootcamp_ad_72ppi.png
https://aiacademy.jp/bootcamp

参考サイト

参考にさせて頂いた記事です。
この記事以外にも是非参考にしてみてください。

参考記事1
参考記事2
参考記事3

この記事を書いた人

株式会社エーアイアカデミー
代表取締役CEO 谷 一徳
フォローお待ちしております!
Twitter
Facebook
5000名以上が参加しいてるAIコミュニティも運営しております。
毎日AIに関する情報を提供しておりますので、こちらのご参加もお待ちしております!
人工知能研究コミュニティ
AI Academy

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
282