把腿张开老子臊烂你多p视频软件,free性国产高清videos,av在线亚洲男人的天堂,hdsexvideos中国少妇,俄罗斯真人性做爰

會員中心 |  會員注冊  |  兼職信息發(fā)布    瀏覽手機版!    超值滿減    人工翻譯    英語IT服務 貧困兒童資助 | 留言板 | 設為首頁 | 加入收藏  繁體中文
當前位置:首頁 > 機翻技術 > 識別技術 > 正文

局部加權線性回歸

發(fā)布時間: 2023-03-16 09:28:40   作者:etogether.net   來源: 網(wǎng)絡   瀏覽次數(shù):


程序清單1-1中的另一個函數(shù)是1wlrTest(),用于為數(shù)據(jù)集中每個點調用1wlr(),這有助于求解k的大小。


下面看看實際效果,將程序清單1-1的代碼加入到regression.py中并保存,然后在Python提示符下輸入如下命令:


>>> reload(regression)

<module 'regression' from 'regression.py'>


如果需要重新載入數(shù)據(jù)集,則輸入:

>>>xArr,yArr=regression.loadDataSet('ex0.txt')


可以對單點進行估計:

>>> yArr[0]

3.1765129999999999

>>> regression.lwlr(xArr[0],xArr,yArr,1.0)

matrix([[ 3.12204471]])

>>> regression.lwlr (xArr [0],xArr,yArr,0.001)

matrix([[ 3.20175729]])


為了得到數(shù)據(jù)集里所有點的估計,可以調用1wlrTest()函數(shù):

>>> yHat = regression.lwlrTest (xArr, xArr, yArr,0.003)



下面繪出這些估計值和原始值,看看yHat的擬合效果。所用的繪圖函數(shù)需要將數(shù)據(jù)點按序排列,首先對xArr排序:

xMat=mat(xArr)

>>> srtInd = xMat[:,1].argsort(0)

>>> xSort=xMat [srtInd][:,0,:]


然后用Matplotlib繪圖:

>>> import matplotlib.pyplot as plt

>>> fig =plt.figure()

>>> ax = fig.add_subplot(111)

>>> ax.plot(xSort [:,1],yHat[srtInd])

[<matplotlib.lines.Line2D object at 0x03639550>]

>>> ax.scatter(xMat [:,1].flatten().A[0], mat (yArr).T.flatten().A[0] , s=2, C='red')

<matplotlib.collections.PathCollection object at 0x03859110>

>>> plt.show()


可以觀察到如圖2所示的效果。圖2 給出了k在三種不同取值下的結果圖。當k=1.0時權重很大,如同將所有的數(shù)據(jù)視為等權重,得出的最佳擬合直線與標準的回歸一致。使用k=0.01得到了非常好的效果,抓住了數(shù)據(jù)的潛在模式。下圖使用k=0.003納入了太多的噪聲點,擬合的直線與數(shù)據(jù)點過于貼近。所以,圖2 中的最下圖是過擬合的一個例子,而最上圖則是欠擬合的一個例子。


圖2.png


圖2 使用3種不同平滑值繪出的局部加權線性回歸結果。上圖中的平滑參數(shù)k=1.0,中圖k=0.01,下圖k=0.003??梢钥吹?,k=1.0時的模型效果與最小二乘法差不多,k=0.01時該模型可以挖出數(shù)據(jù)的潛在規(guī)律,而k=0.003時則考慮了太多的噪聲,進而導致了過擬合現(xiàn)象



局部加權線性回歸也存在一個問題,即增加了計算量,因為它對每個點做預測時都必須使用整個數(shù)據(jù)集。從圖2 可以看出,k=0.01時可以得到很好的估計,但是同時看一下圖1 中k=0.01的情況,就會發(fā)現(xiàn)大多數(shù)據(jù)點的權重都接近零。如果避免這些計算將可以減少程序運行時間,從而緩解

因計算量增加帶來的問題。


責任編輯:admin


微信公眾號

[上一頁][1] [2] 【歡迎大家踴躍評論】
我來說兩句
評論列表
已有 0 條評論(查看更多評論)