2 farklı sınıf arasında sınıflandırmak için patternnet sınıflandırıcı kullanıyorum - 0, etiketli 1. Desennet kullanılarak üretilen bazı veriler için Roc Eğri grafikleri oluşturmak için MATLAB kullanmaya çalışıyorum ama koşması gereken parametreleri anlamakta zorlanıyorum.arsa perfcurve kullanarak nöronal ağ sınıflandırıcı için ROC eğrisi
[xTr, yTr, TTr, aucTr] = perfcurve(t, results.Data.y, 1);
I varsayalım: t etiket vektör verilerim ait olduğu sınıf içine durumları (madeni 0 ile 1 arasında oluşur ve boyut olarak 2x834 olan) puanları 'olarak adlandırılan patternnet tarafından oluşturulan değişken olduğunu üretilmesidir results.Data.y '(2x834 boyutunda) posclass 1'dir. Ancak puanlar bir vektör (1x834 boyutunda) olmalı ve hangi satırı seçeceğimi bilmiyorum?
Teşekkürler. Daha sonra, aşağıdaki kodun bir kısmını açıklayabiliyor olsaydım çok memnun olurum: (http://lamda.nju.edu.cn/code_CSNN.ashx) LableFormatConvertion.m dosyasındaki satır 50: 'tahmin = ClassType (İD);'. @ArchitTaneja – ebrahimi
@ebrahimi Girişte tam olarak ne 'etiket' bulunduğumdan emin değilim, ancak sorunuzu yanıtlamak için: max (Etiket) kullanarak 'id' öğesini bulduğunuzda, , maksimum öğenin göründüğü Satır etiketlerini alırsınız. : örn .: A = [1 9 -2; 8 4 -5], id [2, 1, 1] olur, bu da ilk sütunda 8, maksimumdur ve satır indeksi 2'dir. Artık 'id' olarak bir tuple sahipsiniz. 'Id' deki değerleri kullanarak ClassType'ın dizi elemanlarına erişirsiniz. Örneğin: Eğer 'id' iseniz [2,1,1] ve ClassType [0,1] 'tahmin' olacaktır [1,0,0]. i.e id (1) = 2, ClassType (2) = 1, id (2) = 1, ClassType (1) = 0 vb. alır. –
Teşekkürler. Aslında, dengesiz sınıflama ile başa çıkmak için altı algoritma vardır. Örneğin, fazla örneklemeyi düşünün ve daha sonra sample_oversampling'e bakın. m dosyası, bu yüzden etiketin ne olduğu açık. Test verileri için simüle edilmiş çıktıdır. Benim sorunum, eğer ClassType'ı [1,0] olarak değiştirirsek, sonuç terstir ve hangisinin [0, 1] veya [1, 0] 'ın hangisinin doğru olduğu bilinir. @ArchitTaneja – ebrahimi