Machine learning, specifically deep learning models, has gained considerable popular- ity because of the flexibility they provide to answer different questions. One problem with these models is that they only provide a point estimate without any “wiggle room”, or un- certainty quantification. For example, if we wanted to predict someone’s income based on their age and college education, we could use a neural network. Though, the output would only be a single number that would almost certainly be different than the truth. Instead of a single point estimate, we want to focus on sets that provide a range of plausible values. In this dissertation we develop two methods that provide prediction sets for many types of models, including deep learning models. We then develop a method to provide uncertainty quantification when what we are predicting has multiple dimensions, for example systolic and diastolic blood pressures. Finally, we extend some of these prediction methods from associational relationships to cause and effect relationships. For example, “if you take 75 milligrams of aspirin, the aspirin will cause your fever to decrease between 2 and 3 degrees,” instead of, “when people take 75 milligrams of aspirin, for whatever reason their fevers will decrease an average of 1 to 2 degrees.”