MATLAB Answers

How to make code to split, compute mean, apply Softmax

3 views (last 30 days)
Kong
Kong on 16 Mar 2020
Commented: Gaurav Garg on 23 Mar 2020
I have 90 datasets (9 data x 10 labels)
1. split the dataset into support(80dataset) and query(10dataset)
2. Compute each mean of examples(9 means)
3. Compute the Euclidean distance between each mean and query(10dataset)
4. apply Softmax and calculate probabilities
5. compute accuracy

Accepted Answer

Gaurav Garg
Gaurav Garg on 20 Mar 2020
Edited: Gaurav Garg on 20 Mar 2020
Hi,
You can use splitapply function to split your whole data into 9 groups and apply the mean function to each group. It would return you an array of 9 elements, where each element is a mean to one group. You can now, carry on with the third step to compute the Euclidean distance between each mean and the query set, and proceed with steps 4 and 5.
Algo:
Y=splitapply (mean, X, G); % G is a vector of group numbers, X is the whole data
for i=1:8
% compute Euclidean distance between Y[i] and query dataset
end
% Steps 4 and 5

  3 Comments

Kong
Kong on 20 Mar 2020
Thank you so much.
Could you let me know how to find Group (G)?
I have a dataset (90 x 2857), The last column (2857) is class.
Sindar
Sindar on 23 Mar 2020
If your dataset is X and the last column is not part of the data:
G = findgroups(X(:,end));
Y = splitapply(mean, X(:,1:end-1), G);

Sign in to comment.

More Answers (0)


Translated by