KNN メソッドで距離測定の一連の重みを識別したいと考えています。MATLAB のヘルプを読んだところ、逆または二乗逆 (距離に関して) の重みの関数があることがわかりましたが、ユーザー定義の重みは次の形式の関数でなければなりません@ fnc
。
fcn
は、非負の距離の行列を受け取り、非負の距離の重みを含む同じサイズの行列を返す関数です。たとえば、inversesquared
は と同等@(d)d.^(-2)
です。
重みのランダムなセットを提供する関数を定義しました。
function WGT=gene
weights=round(rand(a,b))
WGT=T
end
ただし、KNN を適用すると、重みは変更されず、均等に分散されます。