Bangladesh is an agricultural country, and it is the backbone of our nation. Agriculture employs over half of Bangladesh's people, and crops occupy more than 70% of the country's territory. More than 12 percent of revenue comes from the agriculture sector. But our lands are limited, and our population is growing day by day. That's it is required to increase the demand for crops continuously. So, it is a huge challenge to increase crop production. But our farmers face different types of problems during cultivation. They cannot justify which crop should be cultivated. Because of this, they did not get the expected yield. Machine learning plays a vital role in agricultural prediction. Crop prediction is a complex process. A massive amount of data is needed, like temperature, humidity, precipitation, wind speed, dew etc. In this system, different types of machine learning algorithms are applied and which algorithm gives better accuracy has been determined. Random Forest is found to give the best accuracy and so it is applied to the dataset. Weather data is collected from NASA Power Access Viewer and crop data from different sources. Then 80% data for training and 20% for testing are applied to this dataset. 91% accuracy has been attained from the Random Forest algorithm, which will help the farmer to decide which crop should be cultivated. It will increase crop production and remove hunger and poverty from our country.