Machine Learning - Linear Regression
- Previous Page Scatter Plot
- Next Page Polynomial Regression
regression
Kai kowa ake da samu irin wucin gadi na yawan abin da ke da yawa, ana amfani da kalmar 'regression' (regression).
A kan ilimi da fannin da kaiyaki da fannin da bayyana cikin nuna abubuwa da zai zama
ren xian huihua
ren xian huihua shi yong shu ju dian de guan xi zai suan zhong de shu ju dian zhong hua yi tiao xian.
zhe tiao xian neng yong yu yuce wei lai de zhi.

zai ji zhi xue zhong, yuce wei lai fei chang zhong yao.
gong zuo yuan li
Python ti gao le xie fang fa lai cha xun shu ju dian de guan xi hen shi hui hua yin xian huihua xian. women jiang xiang ni xian shi ru he shi yong zhe xie fang fa er bu shi tong guo shu xue gong shi.
zai xia mian de shi li, x zhou biao shi che nian, y zhou biao biao shi suodi. women yijing jili 13 liu qiche guo guo shou fei zhan de che nian he suodi. rang women kan kan women shouji de shu ju shi fu yong yu yin xian huihua ma:
Misali
shou xian hui hua san dian tu:
import matplotlib.pyplot as plt x = [5,7,8,7,2,17,2,9,4,11,12,9,6] y = [99,86,87,88,111,86,103,87,94,78,77,85,86] plt.scatter(x, y) plt.show()
Result:

Misali
da impot scipy
bing hui hua yin xian huihua xian:
import matplotlib.pyplot as plt from scipy import stats x = [5,7,8,7,2,17,2,9,4,11,12,9,6] y = [99,86,87,88,111,86,103,87,94,78,77,85,86] slope, intercept, r, p, std_err = stats.linregress(x, y) def myfunc(x): return slope * x + intercept mymodel = list(map(myfunc, x)) plt.scatter(x, y) plt.plot(x, mymodel) plt.show()
Result:

li mao shi jie
da impot
import matplotlib.pyplot as plt from scipy import stats
chuang jian bao shi x he y zhi de zhi shu zu:
x = [5,7,8,7,2,17,2,9,4,11,12,9,6] y = [99,86,87,88,111,86,103,87,94,78,77,85,86]
zhxing yi ge fang fa, na ge fang fa hui fan hui yin xian huihua de yi xie zhong yao jian zhi:
slope, intercept, r, p, std_err = stats.linregress(x, y)
chuang jian yi ge shi yong slope
he intercept
zhi de hanshu hui fan hui xin zhi.
def myfunc(x): return slope * x + intercept
tong guo hanshu yun xing x shu zu de me ge zhi.
mymodel = list(map(myfunc, x))
hui hua yuan shi san dian tu:
plt.scatter(x, y)
hui hua yin xian huihua xian:
plt.plot(x, mymodel)
xian shi tu:
plt.show()
R-Squared
zhong yao de shi dian bi zhi xie de zhi he y zhi de zhi zhi jian guan xi you duo hao, ru guo mei you guan xi, ren xian huihua bu neng yong yu yuce ren shi.
cun zai zhe ge guan xi de yi ge zhi jian, jing zhi wei r ping fu (r-squared).
r ping fu zhi de fan wei shi 0 dao 1, qing 0 biao shi bu xiang guan, er 1 biao shi 100% xiang guan.
Python he Scipy mo ku jiang wei ni jisuan zhe ge zhi, ni yao zuo de shi jing xian x he y zhi jiao gei ta:
Misali
wo de shu ju zai yin xian huihua zhong de pi tin du ru he?
from scipy import stats x = [5,7,8,7,2,17,2,9,4,11,12,9,6] y = [99,86,87,88,111,86,103,87,94,78,77,85,86] slope, intercept, r, p, std_err = stats.linregress(x, y) print(r)
zhu shi:jie guo -0.76 biao ming cun zai zhongguo me gan guan xi, dan bu shi huan hua de guan xi, dan ta biao ming women neng zai jing wei de yuce zhong shi yong yin xian huihua.
yuce wei lai zhi jia
xianzai, women neng shi yong shouji de xinxi lai yuce wei lai de zhi.
ligi: ruzu nali, women neng shi shi yuce yi liang you 10 nian lishi de qiche de suodi.
weili, women xuyao yu shang li cai li de myfunc()
hanshu:
def myfunc(x): return slope * x + intercept
Misali
yuce yi liang you 10 nian che nian de qiche de suodi:
from scipy import stats x = [5,7,8,7,2,17,2,9,4,11,12,9,6] y = [99,86,87,88,111,86,103,87,94,78,77,85,86] slope, intercept, r, p, std_err = stats.linregress(x, y) def myfunc(x): return slope * x + intercept speed = myfunc(10) print(speed)
caini yuce suodi weili 85.6, women ye neng cong tu zhong du du:

cuo zao de pi tin du?
a na kai dama cinna, cinna kai yinshu huihua bu shi yuce weili de zui jia fangfa.
Misali
Daga x da y axis da su wa zai karewa linear regression yana da kama a baya:}
import matplotlib.pyplot as plt from scipy import stats x = [89,43,36,36,95,10,66,34,38,20,26,29,48,64,6,5,36,66,72,40] y = [21,46,3,35,67,95,53,72,58,10,26,34,90,33,38,20,56,2,47,15] slope, intercept, r, p, std_err = stats.linregress(x, y) def myfunc(x): return slope * x + intercept mymodel = list(map(myfunc, x)) plt.scatter(x, y) plt.plot(x, mymodel) plt.show()
Result:

da kwararrun r-squared?
Misali
An gana shi da kwararrun r-squared da yake da kama a baya.
import numpy from scipy import stats x = [89,43,36,36,95,10,66,34,38,20,26,29,48,64,6,5,36,66,72,40] y = [21,46,3,35,67,95,53,72,58,10,26,34,90,33,38,20,56,2,47,15] slope, intercept, r, p, std_err = stats.linregress(x, y) print(r)
Result: 0.013 yana nufin watsi a baya, kuma yana nufin data set yana da kama yana da tsawon yanayi ko kuma yana da tsawon yanayi da yake da tsawon yanayi.
- Previous Page Scatter Plot
- Next Page Polynomial Regression