Inside of data science
データサイエンスに纏わる様々な視点を発信しています

トピック

最速でPyCaretを使ってみた

当社のデータサイエンティスト福澤がQiitaで執筆した記事について、
当コラムでもご紹介いたします!

先日リリースされた機械学習ライブラリーPyCaretを使用してみました。
誰でも簡単にモデリングができるなと実感しました。本当にめちゃくちゃ簡単でした!
10行もコードを書かずに前処理から、チューニング、予測ができます!
引数などまだ把握できていない部分が多くありますが、PyCaretの記事を1番に書こうと思い書きました。

はじめに

早速ですが、先日リリースされた機械学習ライブラリーPyCaretを使用してみました。
誰でも簡単にモデリングができるなと実感しました。本当にめちゃくちゃ簡単でした!
10行もコードを書かずに前処理から、チューニング、予測ができます!
引数などまだ把握できていない部分が多くありますが、PyCaretの記事を1番に書こうと思い書きました。

環境とversion

PyCaret 1.0.0
Google Colaboratory

1. まずはインストールから

下記のコードを実行しインストールします。
体感ですが、2,3分で終わりました。
ローカルでインストールしたらエラーが出てきたので、一旦断念しています。

2. データの取得

今回はbostonのデータを使用していきます。以下のコードでデータを取得できます。

3. 前処理

前処理を行います。
setup()にデータとターゲット変数を定義し、初期化しています。
今回は回帰問題を解くので、 pycaret.regression を指定しています。
分類問題の場合は、 pycaret.classification を指定してください。
自然言語処理、クラスタリングなどのタスクを行うこともできます。

setup()は欠損値処理や、カテゴリーデータのエンコーディング、train-test-splitなどを行なってくれます。
詳しくは、こちらを参照ください。

実行するとセットアップが完了します。


4. モデルの比較

モデルの比較し選択していきましょう。
モデルの比較については、下記の1行で行えます。2、3分で終了しました。
評価指標も一覧で確認できて便利ですね!デフォルトで、k-foldを10分割で行なっています。引数で、fold数や、ソートする指標を指定できます。(実行はデフォルトで行なっています。)

実行結果はこちら

5.モデリング

モデルを選択してモデリングを行います。今回はRandom Forestを使用しています。(完全に気分ですね。)
この関数は、k-foldしたスコアとトレーニング済みモデルオブジェクトを含むテーブルを返します。
SDも確認できてとても便利ですね!

トレーニング済みオブジェクトの後ろにピリオドで指定することで、下記に様に確認できます。

6.チューニング

チューニングも1行で行えます。

パラメータの取得は下記でできます。

7.モデルの可視化

モデルの精度を可視化してみましょう。回帰のプロットは以下の図ですが、分類問題の場合は、指標に合わせてアウトプットを選択できます。
分類問題の可視化のバリエーションが豊富なので、ここにきて分類問題を選択しておけばよかったと少し後悔しました。。。

8.モデルの解釈

モデルの解釈はSHAPを用いて行なっております。
グラフの見方や、モデルの解釈方法については、SHAPのgitを確認ください。

9.予測

testデータに対しての予測は下記の様に書きます。
実行結果は、setup()でtrain-test-splitした30%のテストデータに対して予測した結果を返してくれます。

新たなデータに対して予測を行う際には、dataの引数にデータセットを渡します。
※今回は元のデータを使い回しています。

一番右に予測結果が追加されます。

最後に

最後までお読みいただきありがとうございました。

原文:https://qiita.com/s_fukuzawa/items/5dd40a008dac76595eea

参考サイト

Announcing PyCaret 1.0.0
PyCaret
PyCaret git
SHAP git

 

Pythonのライブラリ「PyCaret」についてご紹介しました。
当社ではデータサイエンティスト育成コースを始めとするデータサイエンス分野の講座や各種イベントを開催しております。
データミックスにご興味のある方は、ぜひ説明会にお申込みください!
お申込はこちらからお願いします。

«
»

ブログ一覧