Классификация с несбалансированным набором данных с использованием Keras - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь классифицировать изображения с несколькими метками (опухоль головного мозга). Каждый тип опухоли помечен от 0 до 4 для категорий классификации. У меня очень несбалансированный набор данных. Чтобы преодолеть это, согласно моим исследованиям в stackoverflow, я использовал class_weight в Keras.

y_integers = np.argmax(allY, axis=1) class_weights = compute_class_weight('balanced', np.unique(y_integers), y_integers) d_class_weights = dict(enumerate(class_weights))

model.fit(X_train,y_train,epochs=1,verbose=1,class_weight=d_class_weights ,validation_data=(X_val, y_val))

Мои данные разделены следующим образом:

количество обучающих примеров = 72086

количество примеров разработки = 12015

количество тестовых примеров = 12014

После модели скомпилирован, мой отчет о классификации: :

             precision    recall  f1-score   support

       0       0.89      0.84      0.87      2612
       1       0.86      0.85      0.86      2224
       2       0.87      0.78      0.82      1537
       3       1.00      1.00      1.00      3842
       4       0.78      0.93      0.85      1799
accuracy                           0.90     12014

Я не понимаю, как насчет номеров поддержки отчета о классификации. Номера поддержки разные. Я хочу, чтобы мои номера поддержки были такими же. Есть проблема с реализацией? Если это так, следует ли мне балансировать классы в массиве numpy перед компиляцией модели?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...