使用perfcurve绘制神经网络分类器的ROC曲线

时间:2016-04-02 18:23:04

标签: matlab neural-network roc

我一直在使用patternnet分类器对2个不同的类进行分类 - 标记为0,1。 我尝试使用MATLAB为使用patternnet生成的一些数据生成Roc曲线图,但我无法理解它需要运行的参数。

var client = new Elasticsearch.Net.ElasticLowLevelClient();
var result = client.Index<object>("index", "type", "id", new Elasticsearch.Net.PostData<object>("{\"name\":\"value\"}"));

我认为: t是生成的标签的向量,用于说明我的数据属于哪个类(我的数据包含0和1,大小为2x834) 得分是由patternnet创建的变量,名为'results.Data.y&#39; (2x834尺寸) posclass是1。 但分数应该是一个矢量(大小为1x834)而且我不知道要选择哪一行?

1 个答案:

答案 0 :(得分:0)

有关perfcurve功能的详细信息,请访问: http://in.mathworks.com/help/stats/perfcurve.html 这些例子非常有用。

关于你的具体情况,t不是预测的矢量,而是你自己创建的矢量来标记你的测试数据,显然是1xn(你的情况下n = 834)。

您的分数矩阵为m * n,其中m是数据中的类数(对于您的情况为2)。 由于您说1是您的正面课程,因此您将选择包含正面课程分数的专栏。 类似的东西:

[xTr, yTr, TTr, aucTr] = perfcurve(t, results.Data.y(:,1), 1);
plot(xTr, yTr);