[機械学習]機械学習ノート整理13-線形回帰簡単実現


概念参考:[機械学習]機械学習ノート整理12-線形回帰概念理解
1.単純な線形回帰モデルの例:
自動車の売り手がテレビの広告をする数量と売る自動車の数量:
1.1単純な線形回帰モデルに適した最適な回帰線をどのように練習しますか?
1.2計算
予測:
1週間の広告数を6と仮定すると、予測される自動車の販売量はいくらですか?
コード実装
x_given = 6

Y_hat = 5*6 + 10 = 40

1.3 Python  :

import numpy as np

def fitSLR(x, y):
    n = len(x)
    dinominator = 0
    numerator = 0
    for i in range(0, n):
        numerator += (x[i] - np.mean(x))*(y[i] - np.mean(y))
        dinominator += (x[i] - np.mean(x))**2
    b1 = numerator/float(dinominator)
    b0 = np.mean(y)/float(np.mean(x))
    return b0, b1

def predict(x, b0, b1):
    return b0 + x*b1

x = [1, 3, 2, 1, 3]
y = [14, 24, 18, 17, 27]    


b0, b1 = fitSLR(x, y)

print "intercept:", b0, " slope:", b1

x_test = 6

y_test = predict(6, b0, b1)

print "y_test:", y_test