python sklearnを使用して回帰分析を行う
pythonで、sklearnを使用して回帰分析を行うサンプルコードを記述してます。pythonのバージョンは3.10.0を使用してます。
環境
- OS windows11 home
- python 3.10.0
sklearn・numpy・matplotlibインストール
以下をインストールされていない方は必要なので、pipでインストールしておきます。
pip install numpy
pip install sklearn
pip install matplotlib
回帰分析を行う
まずは、sklearnを使用して傾きと切片を計算して回帰直線を引いたグラフを作成してみます。
import matplotlib.pyplot as plt
import numpy as np
from sklearn.linear_model import LinearRegression
x = np.array([100, 200, 300, 700, 900, 1100, 1200, 1500])
y = np.array([300, 450, 550, 800, 1100, 2000, 2400, 3100])
# クラスからオブジェクトを作成
reg = LinearRegression()
# 2次元配列な必要があるので変換しておく[[100],[200]...]
X = x.reshape((len(x), 1))
# モデルにフィットさせる
reg.fit(X,y)
print('傾き=',reg.coef_,'切片=',reg.intercept_)
# グラフ描画
def f():
z = reg.coef_ * x + reg.intercept_
plt.scatter(x, y)
plt.plot(x, z, color='green')
plt.xlim(0, 2000) # x軸の表示範囲
plt.ylim(0, 3500) # y軸の表示範囲
plt.xlabel("x", fontsize=10) # x軸のラベル
plt.ylabel("y", fontsize=10) # y軸のラベル
plt.grid(True) # 目盛線の表示
plt.tick_params(labelsize = 8) # 目盛線のサイズ
plt.show()
f()
実行結果
予測値も、以下のようにして求めることが可能です。
# 予測値
print('150の予測値=',reg.predict([[150]]))
実行結果
150の予測値= [183.15217391]
-
前の記事
Redis リストの先頭から値を取り出す 2022.10.03
-
次の記事
Dart 文字列をdouble型に変換する 2022.10.03
コメントを書く