(6)線形回帰アルゴリズム

1.パッケージをインポートします

import numpy as np
import matplotlib.pylab as plt
from sklearn import datasets
boston = datasets.load_boston()
boston.keys()

 dict_keys(['data'、 'target'、 'feature_names'、 'DESCR'、 'filename'])

print(boston.DESCR)

 

2.データの取得:ここではデータのクリーニングは行われません。

x = boston.data
y = boston.target

x.shape   # (506, 13)
y.shape   # (506,)

3.データセグメンテーション 

from sklearn.model_selection  import train_test_split

X_train, X_test, y_train, y_test = train_test_split(x,y,test_size=0.2,random_state=666)
from  sklearn.linear_model import LinearRegression

reg = LinearRegression()

4.モデルトレーニング 

reg.fit(X_train, y_train)

 LinearRegression(copy_X = True、fit_intercept = True、n_jobs = None、normalize = False)

5.特徴パラメーター、つまり、各特徴次元のモデルの係数 

# 每一个特征对应的参数
reg.coef_
array([-7.56857766e-02、4.93306230e-02、6.85902135e-02、2.55876122e + 00、
       -1.60400649e + 01、4.09692993e + 00、6.55718540e-03、-1.41742836e + 
        00、2.92373287e-01 、-1.41859462e-02、-9.68019957e-01、1.16809189e-02、
       -5.33536333e-01])
# 截距
reg.intercept_
32.926954792283404

6.モデル精度評価指標:R二乗

# R Squared(r2 score)
reg.score(X_test, y_test)
0.6336069713055628

R2_scoreは、ベンチマーク(平均)誤差を基準として、モデルの適合特性の比率として理解できます。

  • R2_score = 1、予測値はエラーなしで真の値とまったく同じです。
  • R2_score = 0。このとき、分子は分母と等しく、モデルはベンチマークモデルと同じです。
  • R2_score <0の場合、愚かなモデルは平均的なベンチマークモデルの予測ほど良くありません。現時点では、データには線形相関がありません。

おすすめ

転載: blog.csdn.net/qq_29644709/article/details/115055553