現在、私は計算された距離を持つ私の "距離"配列から最小の距離値を取ることによって私に最短/それからそれはそれがそれが属する患者を私に示すインデックスを追跡する別の検索を行います。K-最近接アルゴリズム(Java)で最短の 'K'距離を取得
しかし、私は3つの最近隣を探していましたが、どうすればいいですか?これに対応するためにコードを完全に変更する必要がありますか?
感謝
int min = 99;
int d = 1;
String diagnosis;
//Finding smallest value from an array containing distance to new 'patient'
for(d=1; d<= numberOFinstances; d++){
if(distance[d] < min)
min = distance[d];
}
for (int p = 1; p < numberOFinstances; p++)
{
if (distance[p] == min){
System.out.println("Nearest patient to new patient is Patient "+p+ " with a distance of: " + min);
//Here I'm saying 6 because the diagnosis is in column 6 within the matrix
diagnosis = data[p][6];
System.out.println("The new patient's diagnosis is: " + diagnosis);
}
}
配列の最初の要素は要素である([] INT)[0]。あなたはこれに慣れるべきです。 – ControlAltDel
'distance'をソートし、最初の3つの要素を使うのはどうですか?たとえば、最初の4つの要素が同じ距離を持つ場合、結びつきを処理するコードがあります。 –
@ControlAltDel、入力いただきありがとうございます。 CSVファイルのヘッダーが0行目になっているため、1から始まっています。 – AnthonyJ