線形回帰

Pythonで学ぶ確率の基礎

Alexander A. Ramírez M.

CEO @ Synergy Vision

一次関数

一次関数のプロット

Pythonで学ぶ確率の基礎

一次関数のパラメータ

一次関数のプロット

$$ y = \color{red}{slope}*x + \color{blue}{intercept} $$

Pythonで学ぶ確率の基礎

ランダム摂動を加えた一次関数

ランダム摂動を含む一次関数のプロット

$$ y = slope*x + intercept + \color{red}{random\_number} $$

Pythonで学ぶ確率の基礎

データから始め、適合するモデルを見つける

学習時間 vs スコアのプロット

Pythonで学ぶ確率の基礎

どのモデルがデータに適合しますか

定数・線形・二次・対数モデルでの当てはめ

最適なモデルを判断する基準は何でしょうか。

Pythonで学ぶ確率の基礎

どのモデルがデータに適合しますか(続き)

線形モデルのアニメーションプロット

Pythonで学ぶ確率の基礎

残差プロット

Pythonで学ぶ確率の基礎

残差プロットと誤差の最小化

Pythonで学ぶ確率の基礎

確率・統計の実践

線形モデルの残差プロット

Pythonで学ぶ確率の基礎

線形モデルのパラメータを計算する

# Import LinearRegression
from sklearn.linear_model import LinearRegression
# sklearn linear model
model = LinearRegression()
model.fit(hours_of_study, scores)
# Get parameters
slope = model.coef_[0]
intercept = model.intercept_
# Print parameters
print(slope, intercept)
(1.496703900384545, 52.44845266434719)
Pythonで学ぶ確率の基礎

学習時間からスコアを予測する

# Score prediction
score = model.predict(np.array([[15]]))
print(score)
[74.89901117]
Pythonで学ぶ確率の基礎

線形モデルをプロットする

$$ $$

import matplotlib.pyplot as plt
plt.scatter(hours_of_study, scores)
plt.plot(hours_of_study_values, model.predict(hours_of_study_values))
plt.show()
Pythonで学ぶ確率の基礎

線形モデルの当てはめプロット

Pythonで学ぶ確率の基礎

線形モデルで練習しましょう

Pythonで学ぶ確率の基礎

Preparing Video For Download...