丰满人妻熟妇乱又伦精品,最新国产精品精品视频 视频,天堂а√中文最新版在线,成年网站未满十八禁

您現(xiàn)在的位置:首頁(yè) > 資訊 > 國(guó)內(nèi) > 正文

K近鄰KNN模型

時(shí)間:2023-06-29 14:07:03    來(lái)源:嗶哩嗶哩    

SPSSAU-在線SPSS分析軟件


【資料圖】

K近鄰算法 KNN k-nearest neighbor ?SPSSAU

K近鄰KNN模型

K近鄰KNN(k-nearestneighbor)是一種簡(jiǎn)單易懂的機(jī)器學(xué)習(xí)算法,其原理是找出挨著自己最近的K個(gè)鄰居,并且根據(jù)鄰居的類(lèi)別來(lái)確定自己的類(lèi)別情況。比如K為5個(gè),即找出挨著自己最近的5個(gè)鄰居,5個(gè)鄰居中有4個(gè)是‘富人’,那么自己也會(huì)被標(biāo)簽為‘富人’。此處涉及幾個(gè)點(diǎn),一是距離如何計(jì)算,二是K值如何選擇,三是如何歸類(lèi)。接下來(lái)案例部分將具體進(jìn)行說(shuō)明。

除此之外,K近鄰KNN模型與Kmeans有些類(lèi)似,二者目的都是分類(lèi),但Kmeans是事先不知道數(shù)據(jù)如何分類(lèi),KNN事先已經(jīng)知道如何分類(lèi),二者有時(shí)候可以匹配著使用,比如先使用kmeans得到聚類(lèi)類(lèi)別,然后使用KNN模型分析聚類(lèi)效果情況等。

K近鄰KNN模型案例

Contents

1背景2

2理論2

3操作3

4SPSSAU輸出結(jié)果4

5文字分析4

6剖析6

1背景

K近鄰模型依舊經(jīng)典的‘鳶尾花分類(lèi)數(shù)據(jù)集’進(jìn)行案例演示,其數(shù)據(jù)集為150個(gè)樣本,包括4個(gè)特征屬性(4個(gè)自變量X),標(biāo)簽為鳶尾花卉類(lèi)別,其分為3個(gè)類(lèi)別分別是剛毛鳶尾花、變色鳶尾花和弗吉尼亞鳶尾花(下稱(chēng)A、B、C三類(lèi))。

2理論

K近鄰KNN模型的原理上示意如下圖:

比如紅色點(diǎn),挨著其最近的5個(gè)點(diǎn)(K=5時(shí))如上圖,如果該5個(gè)點(diǎn)中多數(shù)均為A類(lèi),那么紅色點(diǎn)就歸為A類(lèi)。需要注意的是,通常情況下K值為奇數(shù),因?yàn)槿绻麨榕紨?shù)比如為6,那么3個(gè)為A類(lèi)3個(gè)為B類(lèi),此時(shí)不好劃分點(diǎn)的類(lèi)別。

上述中關(guān)于挨的最近的距離,如何進(jìn)行衡量呢?距離的計(jì)算方式非常多,比如歐式距離、曼哈頓距離等,通常情況下使用歐式距離,其計(jì)算公式如下:

比如有兩行數(shù)據(jù)分別3列(即3個(gè)X,3個(gè)特征項(xiàng)),兩行數(shù)據(jù)分別是(1,2,3)和(3,4,5),那么=。

另外關(guān)于K值的選擇上,通常建議K介于3~20之間,且一般為奇數(shù)值,SPSSAU默認(rèn)為5,如果說(shuō)K值太大,容易出現(xiàn)‘過(guò)擬合’現(xiàn)象即結(jié)果看著很好但事實(shí)上不好;如果K值過(guò)小,容易出現(xiàn)擬合現(xiàn)象很糟糕(欠擬合)現(xiàn)象。實(shí)際使用時(shí),可考慮分別設(shè)置不同的K值,然后對(duì)模型的優(yōu)劣進(jìn)行匯總和對(duì)比。

關(guān)于歸類(lèi)問(wèn)題,上述比如K=5,挨的最近5個(gè)點(diǎn)中有3個(gè)(超過(guò)一半)為A類(lèi),那么該點(diǎn)就分為A類(lèi),此種分類(lèi)方式為‘等比投票權(quán)’,即5個(gè)點(diǎn)的權(quán)重完全一致。但我們知道,挨的最近的5個(gè)點(diǎn),其實(shí)都能計(jì)算出距離值,是否可根據(jù)距離值大小來(lái)加權(quán)判斷呢?比如使用距離值的倒數(shù),即1/距離值作為權(quán)重,如果距離值越大,權(quán)重就越小,并且綜合計(jì)算來(lái)評(píng)估類(lèi)別劃分,此種方式叫‘距離反比投票權(quán)法’。關(guān)于類(lèi)別劃分參數(shù),其叫‘樣本投票權(quán)重’。

關(guān)于K近鄰KNN模型時(shí),通常涉及到以下參數(shù)值,如下:

鄰近樣本個(gè)數(shù)K值,一般為奇數(shù),并且常介于3~20之間,可設(shè)置不同的K值來(lái)對(duì)比不同模型的優(yōu)劣。樣本投票權(quán)重,默認(rèn)是‘等比投票權(quán)’,可選為‘距離反比投票權(quán)’,建議K值較小時(shí)可考慮使用‘距離反比投票權(quán)’法。距離計(jì)算方法上,默認(rèn)是歐式距離,可選曼哈頓距離,通常使用歐式距離即可。鄰近搜索方法上,一種是全局搜索,比如100個(gè)樣本,某個(gè)點(diǎn)分別先計(jì)算出該點(diǎn)離另外100個(gè)樣本的距離,然后找出其中最小的K個(gè),此種方式簡(jiǎn)單易懂,但是計(jì)算費(fèi)資源,因而延伸出KD樹(shù)和ball樹(shù)兩種優(yōu)化算法。默認(rèn)情況下系統(tǒng)會(huì)自動(dòng)結(jié)合數(shù)據(jù)情況選擇鄰近搜索方法,研究者也可自行選擇。

3操作

本例子操作如下:

訓(xùn)練集比例默認(rèn)選擇為:即80%(150*=120個(gè)樣本)進(jìn)行訓(xùn)練K近鄰KNN模型,余下20%即30個(gè)樣本(測(cè)試數(shù)據(jù))用于模型的驗(yàn)證。需要注意的是,多數(shù)情況下,會(huì)首先對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,處理方式一般使用為正態(tài)標(biāo)準(zhǔn)化,此處理目的是讓數(shù)據(jù)保持一致性量綱。當(dāng)然也可使用其它的量綱方式,比如區(qū)間化,歸一化等。

接著對(duì)參數(shù)設(shè)置如下:

鄰近樣本個(gè)數(shù)K值默認(rèn)為5,樣本投票權(quán)重方式為‘等比投票權(quán)’,鄰近搜索方法自動(dòng)讓系統(tǒng)選擇,距離計(jì)算方式為‘歐氏距離’法。

4SPSSAU輸出結(jié)果

SPSSAU共輸出5項(xiàng)結(jié)果,依次為基本信息匯總,訓(xùn)練集或測(cè)試集模型評(píng)估結(jié)果,測(cè)試集結(jié)果混淆矩陣,模型匯總表和模型代碼,如下說(shuō)明:

上述表格中,基本信息匯總表格展示因變量Y的分類(lèi)數(shù)據(jù)分布情況,接著展示訓(xùn)練集和測(cè)試集效果情況,并且單獨(dú)提供測(cè)試集數(shù)據(jù)混淆判斷矩陣,進(jìn)一步分析測(cè)試數(shù)據(jù)的正確效果等,模型匯總表格展示整體模型參數(shù)情況,并且提供sklean進(jìn)行KNN模型構(gòu)建的核心代碼。

5文字分析

上表格中分別針對(duì)訓(xùn)練集和測(cè)試集,提供四個(gè)評(píng)估指標(biāo),分別是精確率、召回率、f1-scrore、準(zhǔn)確率,以及平均指標(biāo)和樣本量指標(biāo)等,如下表格說(shuō)明:

一般來(lái)說(shuō),f1-score指標(biāo)值最適合,因?yàn)槠渚C合精確率和召回率兩個(gè)指標(biāo),并且可查看其平均值(綜合)指標(biāo),本案例為,并且測(cè)試數(shù)據(jù)的表現(xiàn)上為,意味著評(píng)估效果好,當(dāng)前的KNN模型(基于K值為5時(shí))表現(xiàn)良好。當(dāng)然也可以更新K值個(gè)數(shù),比如設(shè)置為7,重新運(yùn)行結(jié)果并且對(duì)比選擇最優(yōu)模型。事實(shí)上當(dāng)前設(shè)置K=7時(shí),訓(xùn)練集的f1-scroe由上升到有點(diǎn)提升,但這并不重要,因?yàn)楫?dāng)K值更大時(shí),理論上模型就會(huì)變的更好,反倒訓(xùn)練集時(shí)太好了反倒有‘過(guò)擬合’現(xiàn)象,因而應(yīng)該更多關(guān)注于測(cè)試集數(shù)據(jù),測(cè)試集數(shù)據(jù)的f1-score值為,說(shuō)明測(cè)試集表現(xiàn)基本一致(測(cè)試集數(shù)據(jù)的擬合表現(xiàn)非常關(guān)鍵)。

進(jìn)一步地,可查看測(cè)試數(shù)據(jù)的‘混淆矩陣’,即模型預(yù)測(cè)和事實(shí)情況的交叉集合,如下圖:

‘混淆矩陣’時(shí),右下三角對(duì)角線的值越大越好,其表示預(yù)測(cè)值和真實(shí)值完全一致。上圖中B類(lèi)時(shí)有2個(gè)測(cè)試數(shù)據(jù)被預(yù)測(cè)為C類(lèi),錯(cuò)誤率較低。

最后針對(duì)模型匯總表,其展示構(gòu)建K近鄰KNN的各項(xiàng)參數(shù)設(shè)置,包括針對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化正態(tài)處理,參數(shù)值為norm,訓(xùn)練集占比和K值設(shè)置等。最后,SPSSAU輸出使用python中slearn包構(gòu)建本次K近鄰KNN模型的核心代碼如下:

model= KNeighborsClassifier(n_neighbors=5, weights=uniform,algorithm=auto, p=2)

(x_train,y_train)

6剖析

涉及以下幾個(gè)關(guān)鍵點(diǎn),分別如下:

K近鄰KNN模型時(shí)是否需要標(biāo)準(zhǔn)化處理?

一般建議是進(jìn)行標(biāo)準(zhǔn)化處理,通常使用正態(tài)標(biāo)準(zhǔn)化處理方式即可,當(dāng)然也可使用比如歸一化處理等,其目的是處理特征的單位量綱問(wèn)題,試想身高為與體重為50公斤,這單位不同計(jì)算距離時(shí)會(huì)有嚴(yán)重影響。

訓(xùn)練集比例應(yīng)該選擇多少?

如果數(shù)據(jù)量很大,比如1萬(wàn),那么訓(xùn)練集比例可以較高比如,如果數(shù)據(jù)量較小,此時(shí)訓(xùn)練集比例選擇較小預(yù)留出較多數(shù)據(jù)進(jìn)行測(cè)試即可。

保存預(yù)測(cè)值

保存預(yù)測(cè)值時(shí),SPSSAU會(huì)新生成一個(gè)標(biāo)題用于存儲(chǔ)模型預(yù)測(cè)的類(lèi)別信息,其數(shù)字的意義與模型中標(biāo)簽項(xiàng)(因變量Y)的數(shù)字保持一致意義。

SPSSAU進(jìn)行K近鄰KNN模型構(gòu)建時(shí),自變量X(特征項(xiàng))中包括定類(lèi)數(shù)據(jù)如何處理?

K近鄰KNN模型時(shí),如果有定類(lèi)數(shù)據(jù),建議對(duì)其啞變量處理后放入,關(guān)于啞變量可點(diǎn)擊查看。

/front/spssau/helps/otherdocuments/

SPSSAU進(jìn)行KNN時(shí)提示數(shù)據(jù)質(zhì)量異常?

當(dāng)前KNN支持分類(lèi)任務(wù),需要確保標(biāo)簽項(xiàng)(因變量Y)為定類(lèi)數(shù)據(jù),如果為定量連續(xù)數(shù)據(jù),也或者樣本量較少(或者非會(huì)員僅分析前100個(gè)樣本)時(shí)可能出現(xiàn)無(wú)法計(jì)算因而提示數(shù)據(jù)質(zhì)量異常。

關(guān)鍵詞:
相關(guān)新聞

最近更新

凡本網(wǎng)注明“XXX(非汪清新聞網(wǎng))提供”的作品,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和其真實(shí)性負(fù)責(zé)。

特別關(guān)注