Theano kullanarak Keras için özel bir AUC kayıp işlevi yazma konusunda herhangi bir şansı oldu mu?AUC, keras için kayıp fonksiyonu olarak ekle
dokümanları buradadır: http://keras.io/objectives/
Örnek kod burada: Ben (gerçekten sklearn etrafında sarıcı) pylearn2 bir uygulama vardır gördüm ama limana bu kullanmak edemedi https://github.com/fchollet/keras/blob/master/keras/objectives.py
keras
yılındahttps://github.com/lisa-lab/pylearn2/blob/master/pylearn2/train_extensions/roc_auc.py
Yani ben, benim sorum tahmin herkes bu fonksiyonu yazmak mümkün olmuştur? ve paylaşmaya istekli olur musun? AUC, ayırt edilemez, dolayısıyla bir değişiklik yapmadan, bir kayıp işlevi olarak kullanamazsınız.
Kolayca pylearn2 kütüphanesinde tanımlanan RocAUCOp'u sarabilirsiniz. Keras imzaları ile uyumlu olarak, (test edilmemiş) def (roc_auc) (y_true, y_hat) gibi bir şeye benzeyecektir: dönüş RocAucScoreOp() (y_true, y_hat) ' – user2805751
[RocAucScoreOp'dan pylearn2.] (Https. : //github.com/lisa-lab/pylearn2/blob/master/pylearn2/train_extensions/roc_auc.py) Bunu, model.compile için kayıp işlevi olarak iletmeye çalışırken aşağıdaki hatayı aldım:> AttributeError: 'RocAucScoreOp' nesnenin "grad" özelliği yoktur. RocaucScoreOp'un pylearn2'deki kaynak kod dökümantasyonu, yalnızca optimizasyon için objektif/kayıp işlevi yerine izleme kanalında kullanılması için tasarlandığını gösterir. Bir gradyan tanımlamak için bir yol olmadığı sürece, Keras bunu bir – kwarnick
kullanamaz. Pylearn2 sürümü temelde AUC'yi hesaplamak için bir geri aramadır. AUC'yi bir ağın modelleme hedefi olarak (Keras'ta veya başka bir yerde) kullanamazsınız, çünkü bu ayırt edilemez değildir. – DanB