Predict-Crop-Yield Random forest, linear regression, guassian process, and nearest neighbor designed from scratch to predict crop yield from year-round weather data