ML |線形回帰によるボストン住宅Kaggleチャレンジ

住宅の価格を予測する線形回帰モデルを作成しましょう

ライブラリの入力とデータセット。


#ライブラリをインポートする

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt


#データimport

from sklearn.datasets import load_boston

boston = load_boston()

ボストンのデータ入力とfunction_namesフォーム


boston.data.shape

boston.feature_names

nd配列データをデータに変換するフレームとデータへのデータ名の追加


データ = pd.DataFrame(boston.data)

data.columns = boston.feature_names


data.head( 10

データセットに「価格」列を追加する


# "Price、"列(ターゲット)を追加データへ
boston.target.shape


データ[`価格` ] = boston.target

data.head()

ボストンデータセットの説明


data.describe()

ボストンのデータデータ情報



data.info()

入力データと出力データを取得し、さらにデータを次のデータに分割するトレーニングとテスト。


#入力データ

x = boston.data


#出力

y = boston.target



#データをトレーニングスイートとテストスイートのデータに分割します。

from sklearn.cross_validation import train_test_split

xtrain、xtest、ytrain、ytest = train_test_split(x、y、test_size = 0.2

random_state = 0

print "xtrain shape:" 、xtrain.shape)

print "xtest shape:" 、xtest.shape)

print "ytrain shape:" 、ytrain.shape)

print "ytest shape:" 、ytest.shape)

線形回帰モデルをデータセットに適用して価格を予測します。


#フィッティングML回帰モデルから学習モデルへ

from sklearn.linear_model import LinearRegression

リグレッサ = LinearRegression( )

regressor.fit(xtrain、ytrain)


#テストケースの結果を予測する

y_pred = regressor.predict(xtest)

表示するスキャッタープロットを作成する予測結果— ytrue値とy_pred値


#予測を表示する散布図
#結果-ytrue値とy_pred値

plt.scatter(ytest、y_pred、c = `green`

plt.xlabel "価格:$1000で"

plt.ylabel( "予測値"

plt .title( "真の値と予測値:線形回帰"

plt.show()


線形回帰の結果、つまり二乗平均平方根誤差。


#線形回帰の結果。

from sklearn.metrics import mean_squared_error

mse = mean_squared_error(ytest、y_pred)

print "Mean Square Error:" 、mse)