Regression チュートリアル

ここではJubatusの線形回帰機能(Regression)である jubaregression を使用した、Jubatus Clientの使い方を説明します。

線形回帰機能(Regression)とは、入力データから、出力データを推定する機能であり、株価予測や消費電力予測などに利用することができます。

サンプルプログラムの概要

サンプルとして、駅からの距離、専有面積、築年数等の条件から家賃を推測するプログラム「 rent 」を用いて説明していきます。

最初に、賃貸情報サイトから取得した「S町の1Rマンション」の賃貸情報 (rent-data.csv) をクライアント側で用意し、推定するためのモデルを jubaregression に学習させます。

次に、推定用の入力データとして外部ファイル(今回はYAML形式を使用する)に物件の条件を入力し、 jubaregression に与えます。 jubaregression は先ほど学習したモデルを用い、条件にふさわしい家賃を推定して返却するので、クライアント側で受け取った結果を出力します。

例えば、推定用の入力データとして「駅からの距離は5分、占有面積は32.0㎡、築年数は15年」と入力すると、8.0万円と推定家賃が出力されます。

処理の流れ

Jubatus Client を使ったコーディングは、主に以下の流れになります。

  1. jubaregression への接続設定
    jubaregression のホストやポート番号を指定し、接続設定をします。
  2. 学習用データの準備
    賃貸情報CSVから家賃(rent)ごとに学習用データを作成します。
  3. データの学習(学習モデルの更新)
    2. で作成した学習用データを train メソッドで jubaregression に与え、学習を行います。
  4. 推定用データの準備
    jubaregression に推定させる物件情報のデータを作成します。
  5. 学習モデルに基づく推定
    4. で作成した推定用データを入力値とし、 estimate メソッドで 3. の学習に基づいた推定をします。
  6. 結果の出力
    estimate メソッドの戻り値である推定結果を出力します。

サンプルプログラム

現在、Python 以外の言語のサンプルプログラムはありません。(みなさまのコントリビューションをお待ちしています!)