선형 회귀 --Python 코드 구현

NP로 NumPy와 가져

데프 computer_error_for_give_point은 ((a), (b)는 포인트 승 ) : #의 오류가 관찰되고 계산 된 값 사이에서 계산하고, 축적하고, 최종적으로 평균 에러 리턴
손실 = 0
() LEN (점) 범위에서 I를 들어
X = 포인트 [I을 0]
Y = 포인트 [I 1] ,.
** 2 - 손실 + = (Y (W * X + B))
() LEN (포인트) 반사 손실 / float를

그냥 가이드 업데이트 w 기능과 B 아래 # 나중에 반복 절차는 B w 여러 번 업데이트 할 수 있습니다

DEF (w_current, b_current, 포인트, LearningRate)를 get_gradient :
N = LEN (점)
w_gradient = 0
b_gradient = 0
: I 내지 (N)에 대해
[I 0] X = 점
Y = 포인트 [I 1]
w_gradient + = 2 / N * ((w_current X + b_current) -y) X
b_gradient + = 2 / N의 * ((w_current X + b_current) -y)
new_w = w_current - LearningRate
w_gradient
new_b = b_current - LearningRate * b_gradient의
복귀 new_w, new_b #以列表的形式返回

: DEF (W, B 점 learn_rate, 반복) gradeient_descent_run
포인트 = np.array (점)
LearnRate = learn_rate
(반복) 범위에 대해 I :
w, B = get_gradient (w, B 점 LearnRate)
복귀 w 비

만약 이름 == " 메인 "
initialize_w = 0
initialize_b = 0
점 = [10, 10], [9,9], [8,8], [7, 8], [6,6], [5, 5], [4,4], [3,3], [2,2], [1,1]
B, w = gradeient_descent_run (initialize_w, initialize_b, 포인트, 0.005 (100))
프린트 (w)
토너 (b )

추천

출처www.cnblogs.com/Salted-fish-turn-over/p/11448221.html