Machine Learning For Soil and Crop Management