Birden fazla sinif için etiketleme nasil yapilir


#1

10 Sınıflı bir modelim var etiketlemeyi fotoğraf adlarını kullanarak böyle yaptım;
def etiket_olustur(img):
obje_turu = img.split(’.’)[-3]
if obje_turu == ‘cat’:
return np.array([1, 0, 0, 0, 0, 0, 0, 0, 0, 0])
elif obje_turu == ‘dog’:
return np.array([0, 1, 0, 0, 0, 0, 0, 0, 0, 0])
elif obje_turu == ‘att’:
return np.array([0, 0, 1, 0, 0, 0, 0, 0, 0, 0])
elif obje_turu == ‘fly’:
return np.array([0, 0, 0, 1, 0, 0, 0, 0, 0, 0])
elif obje_turu == ‘fil’:
return np.array([0, 0, 0, 0, 1, 0, 0, 0, 0, 0])
elif obje_turu == ‘cow’:
return np.array([0, 0, 0, 0, 0, 1, 0, 0, 0, 0])
elif obje_turu == ‘koy’:
return np.array([0, 0, 0, 0, 0, 0, 1, 0, 0, 0])
elif obje_turu == ‘sin’:
return np.array([0, 0, 0, 0, 0, 0, 0, 1, 0, 0])
elif obje_turu == ‘orc’:
return np.array([0, 0, 0, 0, 0, 0, 0, 0, 1, 0])
elif obje_turu == ‘tav’:
return np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 1])

sonucu ise böyle yazdırıyorum ;
if np.argmax(ag_cikisi) == 0:
str_label = ‘Kedi’
elif np.argmax(ag_cikisi) == 1:
str_label = ‘Köpek’
elif np.argmax(ag_cikisi) == 2:
str_label = ‘At’
elif np.argmax(ag_cikisi) == 3:
str_label = ‘Kelebek’
elif np.argmax(ag_cikisi) == 4:
str_label = ‘Fil’
elif np.argmax(ag_cikisi) == 5:
str_label = ‘İnek’
elif np.argmax(ag_cikisi) == 6:
str_label = ‘Koyun’
elif np.argmax(ag_cikisi) == 7:
str_label = ‘Sincap’
elif np.argmax(ag_cikisi) == 8:
str_label = ‘Örümcek’
elif np.argmax(ag_cikisi) == 9:
str_label = ‘Tavuk’

modelimin accuracy %91 ama test ettiğimde %60 larda bir başarı ile tahmin yapıyorum
etikeltlememde bir hata mı var ?


Accuracy ve test accuracy değerli arasında neden çok fark oluyor
#2

Hayır, modelin kötü çalışıyor.


#3

Bide accuracy %91 validation accuracy %61 civarında sebebi bu o zaman