LoginSignup
8
3

More than 1 year has passed since last update.

Lazypredictを使ってみた

Posted at
  • 製造業出身のデータサイエンティストがお送りする記事
  • 今回はLazypredictを使ってみました。

Lazypredictとは

Lazypredictは、AutoMLではないですが複数行のコードで数十のモデルを構築して比較する事が可能なライブラリーです。回帰問題と分類問題に使用する事ができます。
細かい内容はGithubリポジトリを参照して頂けますと幸いです。

Lazypredictの実装

今回もUCI Machine Learning Repositoryで公開されているボストン住宅の価格データを用いて予測モデルを構築します。

最初にライブラリーをインストールしますが、pipで簡単にインストール可能です。

pip install lazypredict

ここから、普通にライブラリーをインポートして行きます。


# ライブラリーのインポート
import os

import pandas as pd
import numpy as np

import seaborn as sns
import matplotlib.pyplot as plt

%matplotlib inline

# ボストンの住宅価格データ
from sklearn.datasets import load_boston

# 前処理
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split

# Lazypredict Regressor
from lazypredict.Supervised import LazyRegressor
import lazypredict

# データセットの読込み
boston = load_boston()

# 説明変数の格納
df = pd.DataFrame(boston.data, columns = boston.feature_names)
# 目的変数の追加
df['MEDV'] = boston.target

# データの中身を確認
df.head()

スクリーンショット 2020-11-09 20.33.13.png

次にデータセットを分割します(train, valid, test)。

# ランダムシード値
RANDOM_STATE = 10

# 学習データと評価データの割合
TEST_SIZE = 0.2

# 学習データと評価データを作成
x_train, x_test, y_train, y_test = train_test_split(
    df.iloc[:, 0 : df.shape[1] - 1],
    df.iloc[:, df.shape[1] - 1],
    test_size=TEST_SIZE,
    random_state=RANDOM_STATE,
)

次にモデルの学習を行います。

# Lazy Predict(回帰)の設定と実行
reg = LazyRegressor(
    verbose=0,
    ignore_warnings=False,
    custom_metric=None,
    predictions=True,
    random_state=RANDOM_STATE,
)
models, predictions = reg.fit(x_train, x_test, y_train, y_test)

構築したモデルのtestデータに対する評価指標一覧はmodelsに格納されております。

# 検証結果
models

一部だけをアップしますが、下記のようにDataFrame形式で格納されております。

スクリーンショット 2021-08-10 13.07.20.jpg

各モデルの予測結果も簡単に確認することができます。

# 予測値
predictions

スクリーンショット 2021-08-10 13.09.19.jpg

さいごに

最後まで読んで頂き、ありがとうございました。
今回はLazypredictを使ってみました。
機能的には他のAutoMLライブラリーの方が良いですが、簡単に実装する上では数行で済むため良いなと思いました。

訂正要望がありましたら、ご連絡頂けますと幸いです。

8
3
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
8
3