For a cost-estimation system in a home improvement construction business, I would recommend using supervised learning.
Supervised learning is suitable for this scenario because it involves training a model on a labeled dataset where the input features (such as project specifications, materials, labor costs, etc.) are paired with the corresponding outputs (the actual costs). This approach allows the model to learn the relationship between the inputs and outputs, enabling it to make accurate predictions on new, unseen data.
Deep learning could also be a potential option if the dataset is very large and complex, but supervised learning is the most straightforward and commonly used method for cost estimation problems. Reinforcement learning and unsupervised learning would not be as appropriate for this particular application.