Flood forecasting using machine learning