統計的学習ノート(a)の-k最近傍原則とPythonを達成

入力:トレーニングセット
$$ T = \ {(X_1、 Y_1)、(X_2、Y_2)、...、(x_nに関する、y_N)\} $$
請求$ X_I \で\ mathcal { X} \ subseteq \ mathcal {R ^ N} $は、特徴ベクトルの一例であり、$ Y_I \で\ mathcal { Y} = \ {C_1、C_2、...、c_K \} $ 、$ i = 1,2、クラスの一例です.. 。、N $; $ X $例の特徴ベクトル;

出力:X $ $ $ Yの例としては、クラス$に属する
メトリック所与の距離に応じて(1)、$ K $を覆うトレーニングセット$ Tの$の$点における最寄りの$ X $の$ kを、特定; $ X $近傍ベースの$ n_k(X)$ポイント
:(x)が分類カテゴリ決定規則の$ Yの$に応じて(2)(例えば多数決など)$は、$ X $ $ n_kので決定
$$ Y = \のarg \ MAX_ {CJ } \ sum_ {X_I \でn_k(X)} I(Y_I = C_I)、i = 1,2、...、N; J = 1,2、...、K $$

上記の式、$ I $は指数関数であり、すなわち、$ $ Y_I = C_I $ I $ 1に、$ I $は、そうでなければ0です。

注:$ k = 1 $、また、特別なケースの$ K $最近傍アルゴリズムである最近傍アルゴリズムとして知ら$ K $最近傍方法。

 

インポート数学
 から itertoolsをインポート組み合わせ

定义距离
DEF距離(X、Y、P = 2 場合でlen(X)== LEN(Y)及び LEN(X)> 1  = 0
         のI における範囲(LEN( X)): + = math.pow(ABS(X [I] - Y [i])と、P)
         リターン math.pow(和、1 / P)
     戻り 0

 

おすすめ

転載: www.cnblogs.com/RoseVorchid/p/11426093.html