大学授業を個人的にまとめたものです
##K Nearest Neighbors
KNNはClassificationの1つ。
KNNはResponse(Y)がmultiple classesの場合に使用できる。
例) Eye color {Blue, Brown, Green}
もし、変数Xがr attributes含んでいる場合は、r-dimensional spaceを作成する。
KNNはそれぞれの要素の距離を測り、分類する手法である。
そのため、ユークリッド距離を使用する。
dis(x_{i},x_{j})=\sqrt{(x_{i1}-x_{j1})^2+...(x_{in}-x_{jn})^2}
どのようにKを設定するのだろうか?
Kを決定するには、Cross-validationやLOOCV(Leave-one Out Cross-validation)を使用して
最も精度が高いKを適用する。
##Normalizing
KNNを使用する際に気をつけなければならないことは、
Variablesの値の大きさである。
KNNはユークリッド距離を使用して分類を行うため、variable毎の規模が異なると精度が落ちてしまう。
例)
Y: 売上
X1: お店までの距離(km)
X2: 値段
において、
距離は1(km), 5(km), 10(km)という値をとる。
しかし、値段は100, 1500, 10000などと安価なものから高額なものがある。
そのため、距離と値段の規模は異なるため、値段の距離がモデルの結果に大きく影響してしまう。
そこで使うのがNormalizationである。
new x_{i}= \frac{x_{i}-minx_{i}}{maxx_{i}-minx_{i}}\\