AIプログラミング

機械学習-部屋の広さから家賃を求めてみる (プログラム)

更新日:

機械学習-部屋の広さから家賃を求めてみる (プログラム)

sklearnで部屋の広さから家賃を求めてみます。今回は学習用のデータと評価を自作のデータを用いて計算してみます。一般的に部屋の広さが広いほど家賃は高くなっていき、狭くなれば狭くなるほど家賃は安くなっていく傾向があります、学習用のモデルとして最も簡単な線形回帰を用いて実装していきます。部屋の広さと、家賃が対応した80個のデータを学習させておき、その後、部屋の広さを入力することで家賃を推定させます。

使用するデータ

全データ :80件 (学習用:80件)
属性データ:部屋の広さ(m2)
正解ラベル:家賃(円)

学習用データの作成

今回は学習用のデータを自作します。以下の内容をファイル名"rent_area.txt"としてソースコードと同じディレクトリ配下に格納してください。

areaとは部屋の広さ(m2)で、rentとは家賃(円)を示しています。

ソースコードの流れ

1、準備作業
2、学習用データの読み込み
3、学習用データの確認
4、matplotlibで学習用データの図示化
5、linear_model(線形回帰)での学習
6、matplotlibで学習結果の図示化
7、#評価(30m2 / 70m2))

ソースコード

ソースコードです。ソースコードの詳細は後で説明します。

ソースコードの詳細

準備作業

図示化を行うためにmatplotlibを線形回帰を用いるためにlinear_modelをインポートします。

学習用データの読み込み

学習用データが入っているrent_area.txtを読み込みます。部屋の広さ(m2)が対応したareaと、家賃(円)が対応しているrentの値を読み込みます。

学習用データの確認

head

head()を用いることで先頭から5件分のデータを表示することが出来ます。先ほど読み込んだrent_area.txtの先頭5行分が入っていることが分かります。

tail

tail()を用いることで最後から5件分のデータを表示することが出来ます。先ほど読み込んだrent_area.txtの最後5行分が入っていることが分かります。

matplotlibで学習用データの図示化

学習用データ

読み込んだ学習用データを図示化してみます。横軸が部屋の広さ(m2)、縦軸が家賃(円)となっています。例外もありますが、部屋の広さ(m2)に比例して家賃(円)も高くなっていることが分かります。

linear_model(線形回帰)での学習

線形回帰で学習していきます。

matplotlibで学習結果の図示化

線形回帰

学習した結果を図示化してみます。赤い線が学習した結果となります。線形回帰はこのような直線上で表すモデルとなります。

評価(30m2 / 70m2)

30m2の場合の家賃を推測してみます。約10万円となっています。
70m2の場合の家賃を推測してみます。約14万円となっています。

 

学習の過程を確認したい場合は以下の記事も参考にして下さい。

 

 

-AIプログラミング
-

Copyright© AI人工知能テクノロジー , 2024 All Rights Reserved.