LoginSignup
0
0

More than 3 years have passed since last update.

【線形回帰】わかるけど、線形回帰をコードで書いてみる

Posted at

はじめに

線形回帰なんてExcel使えば一発ですよ。という声があるかもしれませんが、Pythonで書いてみます。
使うデータは前にも使ったアボカドデータです。
https://qiita.com/iwasaki_kenichi/items/ea580fd9498ad6950a75

コード

main1.py

#ライブラリインポート
%matplotlib inline
import numpy as np
from pylab import *
import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats

#データ読み込み
df = pd.read_csv("hogehoge.csv")

#散布図
scatter(df["Total Volume"],df["4046"])

1.png

main2.py

#順番に、「slope:傾き」「intercept:切片」「r_value:相関係数」「p_value:p値」「std_err:推定値の標準誤差」を求める。
slope,intercept, r_value,p_value, std_err = stats.linregress(df["Total Volume"],df["4046"])

#決定係数を算出する。
r_value **2
#(ここでは0.95という高い値がでた)

#y=ax+bのyを計算する関数
def predict(x):
    return slope * x + intercept

#yを計算
fitline = predict(df["Total Volume"])

プロット
plt.scatter(df["Total Volume"],df["4046"])
plt.plot(df["Total Volume"],fitline,c='r')
plt.show()

2.png

おわりに

これぐらいのレベルのものはササッと書けるようになりたい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0