У меня есть порядковые категориальные метки, которые я хочу использовать в ImageDataBunch .
В моем фрейме данных я задаю это так:
from pandas.api.types import CategoricalDtype
cat_type = CategoricalDtype(categories=['L', 'M', 'H'], ordered=True)
label_df["adj_gr"] = label_df["adj_gr"].astype(cat_type)
#Series shows as: Categories (3, object): [L < M < H]
Однако, когда я сделал ImageDataBunch
из этого столбца возвращает категории в алфавитном порядке:
data = ImageDataBunch.from_df("", df=label_df, fn_col="path", label_col="adj_gr", valid_pct=0.2,
ds_tfms=tfms, size=224, num_workers=4, padding_mode='border').normalize(imagenet_stats)
data.classes
OUT: [H, L, M]
Не имеет ли значение порядок для нейронных net, как для моделей ML?
Это расстраивает, когда у меня есть несколько категорий, и у меня plot_confusion_matrix()
метки вышли из строя, и трудно понять, насколько хороша модель в этом.
Настройка: python==3.7, pytorch==1.4, fastai==1.0.60