728x90
๋ฐ์ํ
์ค์ฐจ = ์์ธก ๊ฐ- ์ค์ ๊ฐ
์ค์ฐจ๋ค์ ํฉ์ ๋ถํธ๊ฐ ๋ค๋ฅผ ์ ์์ด ๊ฐ ์ค์ฐจ์ ๊ฐ์ ์ ๊ณฑํด์ฃผ์ด์ผ ํ๋ค.
ํ๊ท ์ ๊ณฑ์ค์ฐจ(MSE) = ์ค์ฐจ๋ฅผ ์ ๊ณฑํ์ฌ ํ๊ท ์ ๊ณ์ฐํ ๊ฒ . ๊ฐ์ด ์์์๋ก ์์ธก๋ ฅ์ด ์ข๋ค
์ค์ฐจ์ ํฉ์ n์ผ๋ก ๋๋๋ค.
์ ํ ํ๊ท : ์์์ ์ง์ ์ ๊ทธ์ด ์ด์ ๋ํ ํ๊ท ์ ๊ณฑ ์ค์ฐจ๋ฅผ ๊ตฌํ๊ณ , ์ด ๊ฐ์ ๊ฐ์ฅ ์๊ฒ ๋ง๋ค์ด์ฃผ๋ A์ B์ ๊ฐ์ ์ฐพ์๊ฐ๋ ๊ณผ์
ํ์ด์ฌ์ผ๋ก ๊ตฌํํ๊ธฐ
import numpy as np
#์์๋ก ์ ํ ๊ธฐ์ธ๊ธฐa์ y์ ํธ b๊ฐ์ fake_ab ๋ฆฌ์คํธ์ ์ ์ฅ
fake_ab = [3,76]
#x,y๋ฐ์ดํฐ๊ฐ
data=[[2,81],[4,93],[6,91],[8,97]]
x = [i[0] for i in data]
y = [i[1] for i in data]
#y=ax+b๊ตฌํ
def predict(x):
return fake_ab[0]*x + fake_ab[1]
#mean():ํ๊ท ๊ฐ๊ตฌํ๋ํจ์///ํ๊ท ์ ๊ณฑ๊ตฌํ๊ธฐ
def mse(yi,y):
return ((yi-y)**2),mean())
def mse_val(predict_result,y):
return mse(np,array(predict_result),np.array(y))
#์์ธก๊ฐ๋ฆฌ์คํธ
pedict_result=[]
#๋ชจ๋ x๊ฐ ํ๋ฒ์ฉ ๋์
for i in range(len(x)):
predict_result.append(predict(x[i]))
print("๊ณต๋ถ์๊ฐ=%.f,์ค์ ์ ์=%.f,์์ธก์ ์=%.f"% (x[i],y[i],
predict(x[i])))
print("MSE ์ต์ข
๊ฐ:"+ str(mse_val(predict_result,y))
๋ฐ์ํ
'๋ฅ๋ฌ๋ > Today I learned :' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฅ๋ฌ๋] ๋ก์ง์คํฑ ํ๊ท(logistic regression) (0) | 2021.03.17 |
---|---|
[๋ฅ๋ฌ๋] ๋ค์ค ์ ํ ํ๊ท (Multiple linear regression) (0) | 2021.03.16 |
[๋ฅ๋ฌ๋] ๊ฒฝ์ฌํ๊ฐ๋ฒ(Gradient Descent) (0) | 2021.03.15 |
[๋ฅ๋ฌ๋] ์ ํ ํ๊ท (0) | 2021.03.12 |
๋ฅ๋ฌ๋ ์คํ ์ค๋น (์์ ํ๊ฒฝ ๋ง๋ค๊ธฐ) (0) | 2021.03.10 |