【发布时间】:2016-02-05 01:40:56
【问题描述】:
我有一些测试数据和标签:
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(true positive) - 正确标记为 1 的元素
- FP(误报) - 元素错误地标记为 1
- TN(真负) - 正确标记为 2 的元素
- FN(假阴性) - 元素错误地标记为 2
这样做的目的是让我可以为分类器创建 ROC 曲线,作为学校工作的一部分。
【问题讨论】:
-
当你说:'每个点向左'时,代表多少个点?
testY中的点数与1s相同吗? -
@BillBokeey 第一个点左边应该没有元素,右边应该有13个(sY中元素的数量),然后找到混淆矩阵,然后对其余部分重复相同的过程点数
-
好的,我正在发布答案
-
你会有非常大的数据集吗?
-
@BillBokeey 不,数据集的大小应该与测试数据大致相同
标签: matlab classification roc