〔概要〕アイスと気温の関係の表示を行うプログラムです。

〔参考〕

〔技法〕散布図、単回帰分析(sklearn )、ローカルファイル(CSV)の読み込み、pandas

データの例:ice_temperature.csv

x,y
18.6,510
18.2,482
24.6,610
24.2,689
28.7,1040
32.6,1123
32.5,1155
37.3,1658
35.1,1025
26.7,649
24.9,573
17.2,599

【Excelで試す】

 はじめにExcelで試してみます。

(1) 「ice_temperature.csv」をExcel形式で保存

(2) メニューから[挿入]→[散布図]を選択して、グラフを作成する。

(3) メニューから[グラフのデザイン]→[グラフ要素を追加]→[近似曲線]→[線形]を選択して、回帰直線を表示する。

(4) メニューから[グラフのデザイン]→[グラフ要素を追加]→[近似曲線]→[その他の近似曲線オプション]→[グラフに数式を表示する]を選択して、回帰式を表示する。

(5) 回帰式が「y = 47.183x – 417.81」と表示されました。

【Python】

 次にExcelで同様の処理を行います。

〔実行例〕

 コマンドラインに、次のように回帰変数と切片が表示されます。Excelの結果と一致していることが確認できます。

[[47.18265165]]
[-417.81317647]

〔プログラム〕

# アイスと気温の関係(単回帰分析)

import pandas as pd
import matplotlib.pyplot as plt
from sklearn import linear_model

df = pd.read_csv('ice_temperature.csv')

x = df[['x']]
y = df[['y']]

model = linear_model.LinearRegression()
model.fit(x, y)
print(model.coef_)
print(model.intercept_)

# グラフ表示
plt.plot(x,y,'o')
plt.plot(x,model.predict(x))
plt.show()

Copyright (C) 2022 Easy Programming