How to apply the nearest neighbor using rangesearch function for different range/scale of X and Y data

1 回表示 (過去 30 日間)
Hi, I would like to find the nearest neighbors data using the rangesearch function specifically euclidean distance for the data that has different range/ scale data in X and Y.
For instance, the range for X is between 1.5 and 5.5, while Y has range between 40 and 100.
This is my data:
fData = [ 3.6 79; 1.8 54; 3.333 74 ;2.283 62; 4.533 85; 2.883 55; 4.7 88 ;3.6 85 ;1.95 51 ;4.35 85 ;1.833 54; 3.917 84; 4.2 78; 1.75 47; 4.7 83; 2.167 52; 1.75 62; 4.8 84; 1.6 52; 4.25 79; 1.8 51; 1.75 47; 3.45 78; 3.067 69; 4.533 74; 3.6 83; 1.967 55; 4.083 76; 3.85 78; 4.433 79; 4.3 73; 4.467 77; 3.367 66; 4.033 80; 3.833 74; 2.017 52; 1.867 48; 4.833 80; 1.833 59; 4.783 90 ]
If i apply the max/min or zscore normalization funcion and apply the normalized data in the rangesearch function, how i'm going to get back my original data and plot in a graph I would appreciate if anyone can give some ideas
If i do not concern about the range, i will get inaccurate nearest data points.
  2 件のコメント
Walter Roberson
Walter Roberson 2018 年 3 月 18 日
You have not defined which distance function you want to use.
amj
amj 2018 年 3 月 18 日
hi Walter Roberson, I want to apply the euclidean distance Thanks

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2018 年 3 月 18 日
rangesearch returns indices. You can use them to index the original data.
  4 件のコメント
Walter Roberson
Walter Roberson 2018 年 3 月 18 日
When you do
plot(X([idrx1{j}],1),X([idrx1{j}],2),'*b','MarkerSize',5,'MarkerFaceColor','b','DisplayName','Imputed Data');
it is not obvious to me why the second argument is X rather than Y ?
amj
amj 2018 年 3 月 19 日
Hi Walter, Sorry for late respond. In my code, the Y is used for the target / center data points.

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by