0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

機械学習でPyCaretを使ってみる

Last updated at Posted at 2022-01-02

1はじめに

PyCaretは、Pythonのオープンソースの機械学習ライブラリです。
データの前処理、モデル(アルゴリズム)の比較、チューニングの自動化をしてくれます。

2 環境・バージョン

PyCaret 2.3.5
Google Colaboratory

3 PyCaretのインストール

!pip install pycaret

4 データセットの取得

from pycaret.regression import *
from pycaret.datasets import get_data

・Diamndのデータを取得

dataset = get_data('diamond')

スクリーンショット 2021-12-30 0.09.27.png

5 集計対象を指定

・集計対象をPriceに指定。
・項目のデータタイプがあっているかを確認して下に表示される四角い箱でEnter。
・この操作で前処理が自動でセットアップしてくれている。
・Priceの後ろに,をつけると設定情報が表示されて確認できる。

exp = setup(dataset,target='Price')

スクリーンショット 2021-12-30 0.13.23.png

6 モデリングの比較をする

・モデリングのアルゴリズムを比較してくれる。
・R2 決定係数が高い順で並ぶ。今回は、Extra Trees Regressorが一番良い結果となった。
・一番下にExtra Trees Regressorのパラメーターが表示される。

compare_models()

スクリーンショット 2021-12-30 0.15.31.png

7 モデルを指定する

model = create_model('et')

・交差検証(クロスバリデーション)を行なってくれる。
・それぞれの指標を試してみて平均の結果が出る。createを使うとクロスバリデーションを実行できる。

print(model)

print(model)でmodelのパラメーターが確認できるスクリーンショット 2021-12-30 0.20.51.png

8 ハイパーパラメーターのチューニング

・チューニングしたモデルをtuned_modelに入れる。

tuned_model=tune_model(model)

スクリーンショット 2021-12-30 0.23.01.png

9 学習済みモデルで予測を行う

ここでは、6000行を7:3(1800行)で分けて入っていて実際のPriceに対してLabelがどれくらいずれているか確認する。このデータではおおむね価格を予想できていると言える。

predict_model(tuned_model)

スクリーンショット 2021-12-30 0.26.12.png

10 結果のプロット

実際の値からどれくらい離れているかの誤差について残差で表示される。0を中心にばらつきが少ない良い結果になっている。
スクリーンショット 2021-12-30 0.28.28.png

11 特徴量ごとの重要度をプロット

Carat Weightが一番重要度が高い結果となった。

plot_model(tuned_model, plot='feature')

スクリーンショット 2021-12-31 13.40.10.png

0
2
0

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
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?