knn算法是一種監(jiān)督學(xué)習(xí)的算法年堆,用于解決分類(lèi)問(wèn)題避诽。
對(duì)于訓(xùn)練集是已經(jīng)知道類(lèi)別標(biāo)簽的數(shù)據(jù)风皿,而測(cè)試集是需要分類(lèi)的數(shù)據(jù)河爹。
通過(guò)計(jì)算訓(xùn)練數(shù)據(jù)中到一個(gè)測(cè)試樣本最近的k個(gè)測(cè)試數(shù)據(jù),這k個(gè)數(shù)據(jù)中類(lèi)別最多的那個(gè)類(lèi)作為這一個(gè)測(cè)試數(shù)據(jù)新的類(lèi)別桐款。
關(guān)于評(píng)價(jià)測(cè)試集與訓(xùn)練集最近或者最相似的方法:
1.最常用的是歐氏距離咸这,通過(guò)計(jì)算歐氏距離的方法,在計(jì)算之前要進(jìn)行歸一化魔眨,以減少不同特征之間量綱的差距
2.余弦相識(shí)度媳维,計(jì)算兩個(gè)向量之間的余弦值,這個(gè)值在-1到 1之間遏暴,有時(shí)候可能要對(duì)求的余弦相識(shí)度求絕對(duì)值侄刽,因?yàn)閮蓚€(gè)向量是相反的方向,可能對(duì)類(lèi)別無(wú)影響朋凉。
3.相關(guān)系數(shù)
4.曼哈頓距離:兩個(gè)向量對(duì)于坐標(biāo)差的絕對(duì)值的和
5.兩個(gè)向量中對(duì)于坐標(biāo)州丹,差的絕對(duì)值的最大值
k值得選取:
過(guò)大,可能預(yù)測(cè)類(lèi)別是訓(xùn)練集中類(lèi)別數(shù)據(jù)量最多對(duì)應(yīng)的類(lèi)別
過(guò)小墓毒,可能不能代表要預(yù)測(cè)數(shù)據(jù)的類(lèi)別吓揪,當(dāng)這k個(gè)樣本中有錯(cuò)誤數(shù)據(jù)時(shí)候,預(yù)測(cè)類(lèi)別受到影響
一般k的選取可以通過(guò)交叉驗(yàn)證來(lái)實(shí)現(xiàn)
當(dāng)數(shù)據(jù)量比較大的時(shí)候所计,計(jì)算量將會(huì)很大
KD樹(shù)自己還不是很了解的磺芭。
核心思想就是對(duì)數(shù)據(jù)進(jìn)行劃分到不同的區(qū)間