Jupyter notebook(Python3)を使ってみようを使ってみようと思っても慣れていないうちは、どうしても処理に躓いてしまうものです。
例えば。Pythonのpandas機能やscilit-learn機能によって、回帰分析を行い、その回帰直線(回帰式)を求めていくにはどのような処理をすればいいのか理解していますか。
ここではpythonの各機能によって回帰分析(単回帰分析)を行う方法について解説していきます。
Pythonにて回帰分析を行う方法(回帰直線(回帰式)を求める)【scikit-learn、pandas】
Pythonにて単回帰分析を行うためのデータとして、以下を用いるとします(csvを読みこみ)。
以下サンプルコードでプロットすると以下のようなグラフが得られます。
import pandas as pd
df = pd.read_csv(“sample13.csv”,encoding=”SHIFT_JIS”)
x = df[[“x”]]
y = df[[“y”]]
import matplotlib.pyplot as plt
plt.scatter(x,y)
なお、近似直線は以下のコードで対応できます(点線で色は赤)。
plt.plot(x, sample.predict(x), linestyle=”dashed”, color=”red”)
Scikit-learnの導入と回帰分析(線形回帰)の実施
このモデル名sampleとして、読み込ませていきます。
from sklearn.linear_model import LinearRegression
sample = LinearRegression()
sample.fit(x,y)
各係数の有効数字は小数点第2桁までとしましょう。以下の%.2fで%に対応する数値を小数点第2桁までにしています。
print(‘回帰係数 = %.2f’ %sample.coef_)
print(‘切片 = %.2f’ %sample.intercept_)
print(“回帰直線の式 y = %.2fx + %.2f” %(sample.coef_,sample.intercept_))
print(‘決定係数 = %.2f’ %sample.score(x, y))
これで、pythonのscikit-learnにおける単回帰分析を行う方法です。
まとめ python(skicit-learn、pandas)にて回帰直線を求める方法【回帰分析】
ここではpythonにおいて、単回帰分析を行う方法について解説しました。
・pythonにおける機能のscikit-learn、pandasを活用していけば回帰式の計算、可視化を容易に行える
ことを理解しておくといいです。
改めて以下にscikit-leranを活用した回帰分析のためのコードをおいておきます。
from sklearn.linear_model import LinearRegression
sample = LinearRegression()
sample.fit(x,y)
print(‘回帰係数 = %.2f’ %sample.coef_)
print(‘切片 = %.2f’ %sample.intercept_)
print(“回帰直線の式 y = %.2fx + %.2f” %(sample.coef_,sample.intercept_))
print(‘決定係数 = %.2f’ %sample.score(x, y))
pythonを用いて、より効率よいデータ処理を実行していきましょう。
コメント