あるケミストの独り言(winchemwinの日記)

ケミスト(化学者)の視点で、面白そうな情報(シミュレーション関係など)を発信

機械学習による(中古)不動産価格の予測 その6(tkinter アプリ)

 


前回までの記事で中古不動産価格予測の回帰モデル作成について紹介してきました。幸いlightGBMでそれなりのモデルが作成できましたので、このモデルを用いた不動産価格の予測アプリをtkinterで作成してみました。

コード1 ライブラリーの読み込み

 まずは必要なライブラリーの読み込みです。今回はtkinterでアプリを作成するので、これまでに読み込んでいたsklearn関連のライブラリーに加えて、tkinter関係のライブラリーも読み込んでいます。

コード2 フレームサイズ等の設定

 続いてはtkinter アプリのフレームサイズとタイトルを設定してます。

コード3 関数の設定その1(予測)

 次に予測用の関数の設定を行っています。予測モデルは前回の記事で紹介した方法で保存したpickle形式のものを利用しています。予測モデルとともに標準化データも合わせて読み込んでおく必要があるようです。

 続いて予測用の入力データ値の設定で、今回は駅からの距離、間口、土地面積、建物全体面積、接道道路幅、築年数が入力値となります。

コード4 関数の設定その2(予測)

 入力したデータをnumpyのアレイ形式のデータ群として予測用入力データとして形を整えた後、標準化処理したものを入力データとしています。

 前回の記事で紹介した事前保存モデルで予測を行い、予測結果を表示させているのがその次のコードです。

 以上が一連の予測の関数に関するコードです。

 以下はtkinter の表示設定になります。

 

コード6 tkineter 表示設定1

  それぞれの値の入力用にテキストボックスを作成し、そこで入力された値は整数値を保持するWidget変数に設定したdist_iv, maguchi_ivなどに入るよう設定しています。

コード7 tkinter 表示設定2

  上記コード7も入力値の表示設定の続きです。

コード8 tkinter 表示設定3

コード9 

 上記コードで予測については、入力値の入力が完了した後、「予測」ボタンを押すことで関数「予測(predict)」が動作するように設定してます。

 

  実際にアプリを立ち上げると以下のような画面が立ち上がります。

tikinter アプリ 立ち上げ画面

 それぞれの入力値のところは最初は「0」が入力されていますが、調査したい住宅データからそれぞれの数値を入力し、下の予測ボタンを押すことで、機械学習で学習した予測モデルに基づいて予測価格が表示されます。

 

結果表示画面

 実際に中古物件のデータを入力して予測した結果が上図のような結果となります。

あくまで目安程度ですが、不動産購入の参考程度にはなるかと思います。

 私自身もネットで公開されている不動産物件がこれまでの相場くらべて、どのような位置にあるのかの参考に使っていたりします。皆さんの参考になれば幸いです。