前回までの記事で中古不動産価格予測の回帰モデル作成について紹介してきました。幸いlightGBMでそれなりのモデルが作成できましたので、このモデルを用いた不動産価格の予測アプリをtkinterで作成してみました。
まずは必要なライブラリーの読み込みです。今回はtkinterでアプリを作成するので、これまでに読み込んでいたsklearn関連のライブラリーに加えて、tkinter関係のライブラリーも読み込んでいます。
続いてはtkinter アプリのフレームサイズとタイトルを設定してます。
次に予測用の関数の設定を行っています。予測モデルは前回の記事で紹介した方法で保存したpickle形式のものを利用しています。予測モデルとともに標準化データも合わせて読み込んでおく必要があるようです。
続いて予測用の入力データ値の設定で、今回は駅からの距離、間口、土地面積、建物全体面積、接道道路幅、築年数が入力値となります。
入力したデータをnumpyのアレイ形式のデータ群として予測用入力データとして形を整えた後、標準化処理したものを入力データとしています。
前回の記事で紹介した事前保存モデルで予測を行い、予測結果を表示させているのがその次のコードです。
以上が一連の予測の関数に関するコードです。
以下はtkinter の表示設定になります。
それぞれの値の入力用にテキストボックスを作成し、そこで入力された値は整数値を保持するWidget変数に設定したdist_iv, maguchi_ivなどに入るよう設定しています。
上記コード7も入力値の表示設定の続きです。
上記コードで予測については、入力値の入力が完了した後、「予測」ボタンを押すことで関数「予測(predict)」が動作するように設定してます。
実際にアプリを立ち上げると以下のような画面が立ち上がります。
それぞれの入力値のところは最初は「0」が入力されていますが、調査したい住宅データからそれぞれの数値を入力し、下の予測ボタンを押すことで、機械学習で学習した予測モデルに基づいて予測価格が表示されます。
実際に中古物件のデータを入力して予測した結果が上図のような結果となります。
あくまで目安程度ですが、不動産購入の参考程度にはなるかと思います。
私自身もネットで公開されている不動産物件がこれまでの相場くらべて、どのような位置にあるのかの参考に使っていたりします。皆さんの参考になれば幸いです。