У меня есть некоторые тестовые данные и метки:MATLAB - генерировать матрицу путаницы с классификатором
testZ = [0.25, 0.29, 0.62, 0.27, 0.82, 1.18, 0.93, 0.54, 0.78, 0.31, 1.11, 1.08, 1.02];
testY = [1 1 1 1 1 2 2 2 2 2 2 2 2];
Я тогда сортировать их:
[sZ, ind] = sort(testZ); %%Sorts Z, and gets indexes of Z
sY = testY(ind); %%Sorts Y by index
[N, n] = size(testZ');
Это будет давать отсортированные данные Y. На каждом элементе отсортированных данных Y я хочу классифицировать каждую точку слева как имеющую тип 1, а все справа - класс 2; Затем это будет повторяться для каждой точки данных. Как я могу это сделать, и выяснить для каждого элемента переменные:
- TP (правда, положительные) - элементы правильно помечены как 1
- FP (ложноположительный) - элементы неправильно отмечены как 1
- TN (истинная отрицательный) - элементы правильно отмечен как 2
- FN (ложные) - элементы неправильно отмечен как 2
цель этого настолько, что я могу создать кривую ROC для классификатора как часть некоторых школ Я работаю.
Когда вы говорите: «каждая точка слева», сколько очков это что? Такое же количество очков, что и 1s в 'testY'? – BillBokeey
@BillBokeey В первой точке не должно быть элементов слева и 13 (количество элементов в sY) справа, тогда найдена матрица замешательства, то тот же процесс повторяется для остальных точек – hjalpmig
Хорошо, i 'm сообщение ответа – BillBokeey