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

2 views (last 30 days)
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
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)

Community Treasure Hunt

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

Start Hunting!