2017-02-15 4 views
0

J'ai 7 classes d'images que je dois classer. Chaque classe a un nombre différent d'échantillon.Classer les images avec un nombre différent de données pour chaque classe

  1. 75 Images
  2. 70 Images
  3. 98 Images
  4. 182 Images
  5. 146 Images
  6. 197 Images
  7. 150 Images

Je fini par enlever toutes les images dans toutes les classes jusqu'à 70 images (50 formation et 20 validation). En utilisant Keras et le générateur et la méthode flow_from_directory, je peux les classer tous, mais il est évident que je n'aurai pas une bonne précision. J'ai un plan pour augmenter les données trop tard.

Ma question est, puis-je utiliser un nombre différent de données d'apprentissage pour chaque classe en utilisant la méthode flow_from_directory? Et y a-t-il un inconvénient potentiel avec cette méthode?

Par exemple:

  1. 55 Formation - 20 Validation
  2. 50 Formation - 20 Validation
  3. 78 Formation - 20 Validation
  4. ......

Merci

+0

Je crois qu'un nombre différent d'échantillons fonctionnera, mais votre modèle sera orienté vers des classes plus fréquentes. Aux ratios que vous avez, cela ne devrait pas poser de problème. –

Répondre

0

Vous pouvez, mais il vaut mieux égaler ix le nombre d'échantillons d'apprentissage dans chaque classe, ou le classificateur peut avoir tendance à classer une image dans la classe dans laquelle il y a le plus d'échantillons d'apprentissage. Par exemple, peut-être pouvez-vous doubler les échantillons d'apprentissage en classe 2 (en copiant-collant)? Et pour l'augmentation des données, vous pouvez ajouter des bruits à votre échantillon d'apprentissage, par exemple ajouter des bruits gaussiens, recadrer et redimensionner les images, et ainsi de suite. En faisant cela, le modèle sera plus robuste.