How to make cosine Distance classify

24 visualizaciones (últimos 30 días)
Kong
Kong el 13 de Mzo. de 2020
Comentada: Kong el 17 de Mzo. de 2020
Hello! I am a beginner in Matlab.
I have dataset that consisted of 90 data (10 label x 9 data).
Can I get an idea to make classify based on cosine distance or euclidean distance, etc?
  2 comentarios
Ameer Hamza
Ameer Hamza el 13 de Mzo. de 2020
Can you show an example of your dataset. For example, attach a small dataset and describe what is your expected output.
Kong
Kong el 13 de Mzo. de 2020
Hello.
I attached the file. The dataset is consisted of 120 x 2353 (column 2353 is label, 0~6).
I want to calculate each rows using cosine distance or euclidean distance and classify the result.
Thank you!

Iniciar sesión para comentar.

Respuesta aceptada

Ameer Hamza
Ameer Hamza el 14 de Mzo. de 2020
If you want to classify a new vector by using the Euclidean or cosine distance between the rows of your matrix and the new vector the try this
data = readmatrix('geo01_KTH.csv');
predictors = data(:, 1:end-1);
labels = data(:, end);
predictors = normalize(predictors, 2, 'range'); % normalize each row to be in range 0-1
x = rand(1, 2352); % generate a random vector
euclidean_dist = pdist2(predictors, x, 'euclidean');
cosine_dist = pdist2(predictors, x, 'cosine');
[~, euclidean_index] = min(euclidean_dist);
[~, cosine_index] = min(cosine_dist);
euclidean_prediction = labels(euclidean_index);
cosine_prediction = labels(cosine_index);
  11 comentarios
Ameer Hamza
Ameer Hamza el 17 de Mzo. de 2020
What is the size of predictors_train and x?
Kong
Kong el 17 de Mzo. de 2020
I am sorry that I was mistaken.
predictors_train : 80 x 2856, predictors_test : 10 x 2856,
When I modify the code as below, I got this value.
How can I compare this prediction with real labels to calculate accuracy?
for i = 1:10
euclidean_dist{i} = pdist2(predictors_train, predictors_test(i,:), 'euclidean');
[~, euclidean_index{i}] = min(euclidean_dist{i});
euclidean_prediction{i} = labels(euclidean_index{i});
end

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Classification en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by