21 lines
498 B
Matlab
Executable File
21 lines
498 B
Matlab
Executable File
function [label, energy] = knKmeansPred(model, Xt)
|
|
% Prediction for kernel kmeans clusterng
|
|
% Input:
|
|
% model: trained model structure
|
|
% Xt: d x n testing data
|
|
% Ouput:
|
|
% label: 1 x n predict label
|
|
% engery: optimization target value
|
|
% Written by Mo Chen (sth4nth@gmail.com).
|
|
X = model.X;
|
|
t = model.label;
|
|
kn = model.kn;
|
|
|
|
n = size(X,2);
|
|
k = max(t);
|
|
E = sparse(t,1:n,1,k,n,n);
|
|
E = E./sum(E,2);
|
|
Z = E*kn(X,Xt)-dot(E*kn(X,X),E,2)/2;
|
|
[val, label] = max(Z,[],1);
|
|
energy = sum(kn(Xt))-2*sum(val);
|