Почему функция class_weight.compute_weight() не работает?

#tensorflow #keras #scikit-learn #conv-neural-network

Вопрос:

Здравствуйте, я использую функцию class_wight.compute_class_weight() из модуля sklearn utils.

У меня есть переменная ImageDataGenerator().flow_from_directory (), которая называется train_gen.

вот код:

 from sklearn.utils import class_weight import numpy as np  class_weights = class_weight.compute_class_weight(  'balanced',  np.unique(train_gen.classes),   train_gen.classes)  # train_class_weights = dict(enumerate(class_weights)) # model.fit_generator(..., class_weight=train_class_weights)  

и я получаю эту ошибку:

 TypeError Traceback (most recent call last) lt;ipython-input-50-d468c4be76b8gt; in lt;modulegt;()  5 'balanced',  6 np.unique(train_gen.classes), ----gt; 7 train_gen.classes)  8   9 # train_class_weights = dict(enumerate(class_weights))  TypeError: compute_class_weight() takes 1 positional argument but 3 were given  

Кто-нибудь знает, в чем может быть проблема? Спасибо

Комментарии:

1. Что произойдет, если вы измените вызов на class_weights = class_weight.compute_class_weight( 'balanced', classes=np.unique(train_gen.classes), y=train_gen.classes) ?

2. это работает!! большое спасибо 🙂