I have data of renovation jobs - each job requires at least one of 3 skills - carpenter, painter and ceramics. For each row my labels are share of time each skill is required for each job (summed to 1). Sample:
Job Description (free text) Location Estimated Cost Main material Carpenter Painter Ceramics
Paint Smiths' House and Parquet Chicago 4000 Parquet 0.1 0.15 0.75
Total renovation and pool New York 15700 Metal 0.6 0.2 0.2
Pink decorations New York 12000 Wallpaper 0.7 0.05 0.25
I want to train the model to predict the shares of the skills. I was thinking about MultiOutputRegressor of scikit-learn, but my main issue is to oblige the predictions to be >=0 and summed to 1. Is there an off the shelf solution?