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

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.