Quest 賃貸物件の家賃推定

難易度:★★★★☆

  • 業種
  • 建設・不動産
  • テーブル
  • 回帰問題
  • RANDOM FOREST

不動産業界には、自動化、効率化、客観化の余地がまだまだたくさんあります。例えば、不動産の物件価格推定などです。物件価格は公示地価や路線価などをベースに算定されていますが、他の要因もあるため、人の経験や勘に依るところが多いです。そのため、価格を決定するのに時間がかかったり、人によってばらつきが生じたり、妥当な価格になっていない場合があります。AIが妥当で客観的な物件価格を算出してくれれば、大きな作業効率化につながります。そこで、本Questでは不動産業界でのAI活用の一例として、賃貸物件の家賃推定に取り組みます。

  • 7 時間
  • 3,050 Exp
  • 0 Videos
  • 13 Slides
  • 5 Missions
  • 11 Tasks
  • 48 Operations

Introduction 50 Exp

あなたは不動産会社のマネージャーとして、社員の生産性を高めるために、社内業務の効率化に取り組んでいます。どの業務にどれくらいの時間がかかっているのかを調べたところ、どうやら物件の家賃を決めるのに時間がかかっていることが分かりました。家賃決めは、担当者の勘と経験をベースとした相場感によって決めていた部分が大きいため、人によって金額にばらつきが生じていました。そのため、一つの家賃に決めるのに時間がかかっていたのです。そこで、過去の物件データを用いて、妥当な家賃を予測するAIを作成することにしました。妥当な家賃が自動的に決まれば、家賃決めの時間削減に繋がるからです。

Slideを見る

Mission 1

物件データの読み込み・整形

まず初めに、データ管理部に依頼し過去の物件情報と家賃のデータを用意してもらいました。しかしデータの中身を見てみると、一つの箇所に複数の情報が記載されていたり、記入漏れがあったりと、綺麗な状態ではありませんでした。このままでは扱いづらいので、まずはデータを綺麗な形に整形していきましょう。

Slide 1
物件データの読み込み
    50 Exp
    Task 1
    データ読み込み
    200 Exp

    Task 1

    データ読み込み

    • 1 時間
    • 3 Operations
    • 200 Exp

    データ分析を始めるにあたって、まずはPython上で扱えるようにデータを取り込まなくてはなりません。
    このタスクでは、ライブラリのimport方法と、データ分析のための様々なツールが用意されているライブラリ`pandas`を使ったcsvデータの読み込み方法を学びます。

    Task 2
    データ精査
    150 Exp

    Task 2

    データ精査

    • 1 時間
    • 3 Operations
    • 150 Exp

    `DataFrame`形式で読み込むことで、各種データについて様々な処理を行う準備ができました。
    このタスクでは、読み込んだデータについて、その大きさを調べたり、データの形式を確認する方法を学びます。

    Task 3
    データの整形
    300 Exp

    Task 3

    データの整形

    • 1 時間
    • 5 Operations
    • 300 Exp

    このタスクではデータの整形方法について学びます。読み込んだデータが分析しやすい綺麗なデータばかりとは限りません。その場合はデータを扱いやすい形に整形する必要があります。

    Mission 2

    家賃に影響のある要素を探索

    家賃を推定するために、どのような要素が家賃に影響するのかを調べてみましょう。
    その際に重要となるのは仮説を立てることです。
    なぜなら、あらかじめ仮説を立てておくことで、闇雲に探索するのを避け、効率の良い探索ができるからです。例えば面積や築年数は家賃に影響するだろうといった仮説を立てることができます。家賃に影響する要素の仮説を立て、正しいかどうか確認していきましょう。その為の方法論として本ミッションでは、探索的分析について学びます。データ分析ではデータの分布や数値等からデータの特徴を抽出し、それに基づき仮説を立てたり仮説の検証を行います。基本統計量や可視化の方法論についても学んでいきましょう。

    Slide 1
    家賃に影響のある要素を探索
      50 Exp
      Task 1
      変数の分布・値の確認
      400 Exp

      Task 1

      変数の分布・値の確認

      • 1 時間
      • 7 Operations
      • 400 Exp

      このタスクでは、データに含まれる各変数について、基本統計量を確認したりヒストグラムを描画することで、その分布の特徴を知る方法を学びます。

      良い分析を行うにあたって、データの特徴を知ることは不可欠です。このタスクを通してその基本的な方法を学び、未知のデータに対しても活用できるようになりましょう。

      Task 2
      変数間の相関
      550 Exp

      Task 2

      変数間の相関

      • 1 時間
      • 10 Operations
      • 550 Exp

      予測に使えそうな説明変数を決めるためにも、目的変数と説明変数の間にどのような関係性があるかを見る必要があります。
      2変数間の関係性を相関といい、関係性が強いことを相関が強いと言います。
      目的変数と説明変数間の相関の確認方法を学びましょう。

      Mission 3

      外部データの使用

      物件データから家賃に影響がある要素が分かりました。次は今ある物件データだけではなく、新しく緯度経度情報を使用することにしました。手元にあるデータだけでなく、新しくデータを取得することは精度の良いモデル作成に役立つ場合があります。本ミッションでは緯度経度の使用方法を学びます。

      Slide 1
      外部データの使用
        50 Exp
        Task 1
        緯度・経度の使用
        250 Exp

        Task 1

        緯度・経度の使用

        • 1 時間
        • 5 Operations
        • 250 Exp

        ここまでは与えられたデータのみを使用してきました。しかし、データ分析やモデル作成において、与えられたデータのみを使用するのではなく、自分で新しくデータを取得したり、一般に公開されているデータを使用することも可能です。このタスクでは、外部データの取得方法や扱い方に関して学んでいきましょう。

        Mission 4

        家賃予測モデルの作成

        いよいよ本クエストのメインである、家賃の予測をする為のモデル作成を実施することになりました。本ミッションではモデリング手法の1つ、ランダムフォレストモデルについて学びます。モデルを作成することで、過去の実績から将来の値を予測することができるようになります。具体的なモデルの作り方や作ったモデルの正しい評価方法、予測値の可視化方法について学んでいきましょう。

        Slide 1
        家賃予測モデルの作成
          50 Exp
          Task 1
          学習・評価データの準備
          150 Exp

          Task 1

          学習・評価データの準備

          • 1 時間
          • 3 Operations
          • 150 Exp

          このタスクでは、機械学習を行う前の最後のステップとして、利用できるデータを学習用と評価用に分割したうえで、モデリングを行える形に加工する方法を学びます。

          Task 2
          評価関数の定義
          150 Exp

          Task 2

          評価関数の定義

          • 1 時間
          • 2 Operations
          • 150 Exp

          このタスクでは、予測モデルの評価指標として幅広く用いられるRMSE(Root Mean Squared Error, 二乗平均平方根誤差)について学びます。

          RMSEは最もよく用いられる評価指標です。定義とPython上での計算方法をしっかり覚えていきましょう。

          Task 3
          モデルの学習・予測
          200 Exp

          Task 3

          モデルの学習・予測

          • 1 時間
          • 3 Operations
          • 200 Exp

          このタスクでは、決定木モデルの一つであるランダムフォレストの概念を学び、その`scikit-learn`上の実装である`RandomForestRegressor`を用いて実際に学習を行います。

          これまで長々と前処理や下準備の話をしてきましたが、ついに、本格的な統計分析、機械学習の第一歩を踏み出すことになります。

          Task 4
          予測値の可視化
          150 Exp

          Task 4

          予測値の可視化

          • 1 時間
          • 3 Operations
          • 150 Exp

          このタスクでは、予測した値を可視化して、どのような予測が行われたのかを確認する方法を学びます。予測傾向を可視化することで、モデル改善の手がかりを得れる場合があります。

          Mission 5

          家賃予測モデルの改善

          家賃を予測するモデルを作成することができましたが、高額物件を過小評価してしまっているなど、実務に使用するのに十分な精度には達しませんでした。そこで、目的変数を変更することで、精度を上げる方法を学びましょう。

          Slide 1
          家賃予測モデルの改善
            50 Exp
            Task 1
            目的変数の変換
            200 Exp

            Task 1

            目的変数の変換

            • 1 時間
            • 4 Operations
            • 200 Exp

            目的変数を直接予測するのではなく、別の値を予測して、間接的に予測値を算出する方法があります。このタスクでは目的変数を変更することにより精度を向上させる方法を学んでいきましょう。

            Conclusion 50 Exp

            本クエストでは、家賃を予測するモデルを作成しました。ただ予測モデルを作るだけでなく、予測値を可視化してどのような値が予測できていないのかを確認し、それに合わせて目的変数を変更することで予測精度の改善も行いました。クエストを通じて学んだこと、そしてクエストの成果をおさらいしましょう。

            Slideを見る

            Competition

            【SOTA】マイナビ × SIGNATE Student Cup 2019: 賃貸物件の家賃予測

            これまで学習したことを元に、SIGNATEのSOTAコンペティションに挑戦してみましょう。

            Competitionに挑戦する