У меня есть две матрицы Xval (прогнозируемые значения) и Sv (тест проверки), одна с выходными данными классификатора, а другая с данными проверки для тех же выборок. Каждый столбец представляет прогнозируемое значение, например, [0 0 1 0 0 0 0 0 0 0] представляет di git 3 (1 в di git, то есть). Я хотел бы знать, если возможно вычислить матрицу беспорядка векторизованным способом или со встроенной функцией, размеры обеих матриц 12000x10. Код, который генерирует обе матрицы:
load data;
load test;
[N, m] = size(X);
X = [ones(N, 1) X];
[Nt, mt] = size(Xt);
Xt = [ones(Nt, 1) Xt];
new_order = randperm(N);
X = X(new_order,: );
S = S(new_order,: );
part = 0.8;
Xtr = X(1: (part * N),: );
Xv = X((part * N + 1): N,: );
Str = S(1: (part * N),: );
Sv = S((part * N + 1): N,: );
v_c = [];
v_tx_acerto = [];
tx_acerto_max = 0;
c = 250;
w = (X'*X+c*eye(m+1))\X' * S;
Xval = Xv*w;
for i=1:12000
aux = Xval(i,:);
aux(aux == max(aux)) = 1;
aux(aux<1) = 0;
Xval(i,:) = aux;
end