[機械学習]KNN


1. KNN (K-Nearest neighborhood)


距離データに近いk個の異なるデータのラベルに基づいて分類するアルゴリズム.分類または回帰に使用します.
-選択距離d(a,b)
  • カテゴリ変数:海明街
  • 連続型変数:ユークリディアン通り、マンハッタン通り
  • *および適用可能な問題
    -Test Setでは、トレーニングセットを最も推測できるマシンが使いにくいかもしれません.
    -訓練ミスはミスを過小評価する傾向がある.
    *k-オーバーラップチェック(K-Fold Cross Validation)

    通常使用されるクロス検証方法の1つとして,訓練セットとValidationを複数回分割した後にモデルの学習を検証する.
    通常は、データが独立して分布が同じ場合に使用される回帰モデルに使用されます.上図では、データをK等分(5等分)し、1/5を検証データ、残りの4/5を学習データとした.各1/5を検証データに変換し、パフォーマンスを評価します.その結果,5つの性能結果が得られ,5つの平均値を学習モデルの性能と判断した.
    scikit learningのcross val scoreを用いて,クロス検証によりモデル学習を行い,性能を評価した.
    *階層k再交差検証
    [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
    2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2]
    
    この場合、リストされた順序でデータセットをk個のフォルダに分割するのは必ずしもよくないため、階層化されたk層クロス検証が使用される.(分類用)

    90%がAクラスデータ、10%がBクラスデータの場合、階層クロス検証は9:1の割合で各フォルダで行われます.