How to handle partial labels in multi output classifier using Keras API?
I am training a model with multiple categorical inputs/outputs. Some samples have partial labels. Currently, I am dropping samples with any missing label but I am wasting a lot of data. I would like to train using all the labels I have. If I pass the partial samples for training, I get an error message.
My model looks like this:
Model: model_5
__________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
==================================================================================================
input_6 (InputLayer) [(None, 15654)] 0
__________________________________________________________________________________________________
u_type_manual_1 (Dense) (None, 64) 1001920 input_6[0][0]
__________________________________________________________________________________________________
dv_location_country_city_1 (Den (None, 64) 1001920 input_6[0][0]
__________________________________________________________________________________________________
u_os_infra_software_type_1 (Den (None, 64) 1001920 input_6[0][0]
__________________________________________________________________________________________________
u_type_manual_2 (Dense) (None, 64) 4160 u_type_manual_1[0][0]
__________________________________________________________________________________________________
dv_location_country_city_2 (Den (None, 64) 4160 dv_location_country_city_1[0][0]
__________________________________________________________________________________________________
u_os_infra_software_type_2 (Den (None, 64) 4160 u_os_infra_software_type_1[0][0]
__________________________________________________________________________________________________
u_type_manual_output (Dense) (None, 13) 845 u_type_manual_2[0][0]
__________________________________________________________________________________________________
dv_location_country_city_output (None, 19) 1235 dv_location_country_city_2[0][0]
__________________________________________________________________________________________________
u_os_infra_software_type_output (None, 5) 325 u_os_infra_software_type_2[0][0]
==================================================================================================
Total params: 3,020,645
Trainable params: 3,020,645
Non-trainable params: 0
__________________________________________________________________________________________________
Aside from training separately a model for each outputs, how can I use all the labels?
Topic multi-output keras
Category Data Science