演算法:給乙個點x
0x_0
x0,我們在訓練集中找到k個最近鄰近的店,根據這k個點的分類來決定x
0x_0
x0的類別
距離度量
minkovski距離:對於x=(x1,x2,…xn)y=(y1,y2…yn)
∣ ∣x
−y∣∣
p=[(
x1−y
1)p+
(x2−
y2)p
+...
(xn−
yn)p
]1
p||x-y||_p = [(x1-y1)^p+(x2-y2)^p+...(xn-yn)^p]^}
∣∣x−y∣
∣p=
[(x1
−y1)
p+(x
2−y2
)p+.
..(x
n−yn
)p]p
1相當於這個是一般情況
p=2時是歐氏距離對吧,平方和開根號
p=1時是曼哈頓距離
∣ ∣x
−y∣∣
1=∣x
1−y1
∣+..
....
∣xn−
yn
∣||x-y||_1 = |x1-y1|+......|xn-yn|
∣∣x−y∣
∣1=
∣x1−
y1∣+
....
..∣x
n−yn
∣ k的選擇?
如果是二分類問題,k一般選擇奇數
k值越小,噪音對結果的影響越大。因為如果你要選的那個點正好離雜訊點很近,那不就歸為雜訊類別了。
那是不是k值取越大越好?也不是!因為本來的正確分類類別資料就不多時,把其他的資料點也考慮進來,相當於被歸為其他的類別了。
那麼如何選擇k值?
交叉驗證是選取k值得有效方法
knn優點:
缺點:
知識點總結
1,迴圈中的中斷 continue 跳出此次迴圈,繼續for迴圈 break 跳出當前for迴圈 return 跳出當前方法 2,字串的操作 componentseparatedbystring stringbyreplacingoccurencesofstring withstring iskin...
知識點總結
oncreate onstrat onresume onpause onstop onrestart ondestroy standard 啟動activity都會產生乙個新的activity 預設模式 singletop 啟動activity允許多個,但不允許重疊 singletask 只允許有乙...
知識點總結
function go go 呼叫 go為變數名 setinterval go,1000 1000ms clearinterval 關閉定時器 function abc a,b 2,3 5undefined 未定義 null 空 nan 非數值 string 字串 var a 123 數字型別 va...