Two codes for the same dataset have different root mean square error values

40 次查看(过去 30 天)
Hello, i am working on wknn for localization, the first code requires input of the rss values and the error is less than 5m but the second code has a training and a test set and the error is above 500m, i cannot figure why this is happening. I have attached the code and the dataset. Thank you.

回答(1 个)

Drishti
Drishti 2024-10-1,11:38
Hi Chinaza,
On reproducing the code on my end, I encountered a similar issue ‘error value exceeding 500’ for file named ‘havershinewknntest’.
The file 'wknntestwithinput' localizes a single point, which is not a recommended method for assessing performance and calculating errors. On the other hand, the 'havershinewknntest' file employs an iterative method throughout the dataset, providing enhancements over the initial code.
The ‘havershinewknntest’ approach can be improved by utilizing techniques like normalization of RSS values and distributing dataset in robust manner.
You can refer to the below code snippet to get an overview of the same.
% Normalize the RSS values (feature scaling)
rss_values = (rss_values - mean(rss_values)) ./ std(rss_values);
% Split data into training and testing sets
train_ratio = 0.7;
Additionally, you can also utilize the ‘cvpartition’ function for partioning data for cross-validation.
Refer to the implementation below:
% Create a cross-validation partition object
cv = cvpartition(n_train, 'KFold', 5);
Refer to the MATLAB Documentation of the ‘cvpartition’ function:
I hope this helps.

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by