о позитивних класифікацій (1 - специфічність). p align="justify"> Частка TP = чутливість = повнота = TP/(TP + FN)
Частка FP = 1 - специфічність = FP/(FP + TN)
В
4. Реалізація векторної моделі в середовищі Matlab
Вхідні дані:
В· terms - безліч термінів;
В· docs - безліч документів;
В· freq - таблиця частот термінів.
Вихідні дані:
В· answer_euc - ранжований список при використанні евклідової заходи;
В· answer_cos - ранжований список при використанні косинусної заходи.
.1 Функція розрахунку евклідової заходи
function SC = euclideanSM (q, d) = 1/(1 + norm (qd));
.2 Функція розрахунку косинусної заходи
SC = cosineSM (q, d) = q '* d/(norm (q) * norm (d));
.3 Розрахунок ранжируваних списків документів
% Розрахунок ваг документів = size (docs, 1);% Кількість документів = size (terms, 1);% Кількість термінів
% Частота термінів у документах = 1 + log (freq);
tf (freq == 0) = 0; = zeros (M, 1); i = 1: M (i) = sum (freq (i, :)> 0); = log (N./df); = zeros (M, N); i = 1: Mj = 1: N (i, j) = tf (i, j) * idf (i);
end
% Запит
q = [1, 0, 0; 1];% Реалізація запиту у разі чотирьох термінів
% Нормалізація векторовj = 1: N
W (:, j) = W (:, j)/norm (W (:, j));
end = q/norm (q); _euc = zeros (1, N); _cos = zeros (1, N); j = 1: N_euc (j) = euclideanSM (q, W ( :, j)); _cos (j) = cosineSM (q, W (:, j));
% Обчислення ранжированного переліку документів
[ranked_score_euc, i_euc] = sort (score_euc, 'descend');
[ranked_score_cos, i_cos] = sort (score_cos, 'descend');
% Розрахунки для виведення результатов_euc = cell (N, 2);
answer_cos = cell (N, 2); j = 1: N
% answer_euc {j, 1} = docs {i_euc (j)};% Висновок назви документа_euc {j, 1} = i_euc (j);% Висновок порядкового номера документа
answer_euc {j, 2} = ranked_score_euc (j);
% answer_cos {j, 1} = docs {i_cos (j)}; _cos {j, 1} = i_cos (j); _cos {j, 2} = ranked_score_cos (j); p>
end
% Висновок результатів ('Евклідова міра:');
Answer_euc ('косинусний міра:'...