Context: In agriculture, the main role is to access soil fertility which determines crop suitability and optimizes yields. Soil fertility is the foremost criterion to decide whether a crop can be grown on a certain type of soil or not. Farmers often struggle to find which crop to grow when they have a variety of choices. We have to provide soil data which will play a major role in deciding whether the soil is fertile or not.
Objective: The main objective of this research work is to check whether the soil provided is fertile enough to cultivate our desired crop or not. The data provided should contain basic deterministic features such as pH value, electric conductivity, and Nitrogen (N), Phosphorus (P), Potassium (K), Sulphur (S), Zinc (Zn), Iron (Fe), Copper (Cu), Manganese (Mn) and Boron (B) content ratios or values. We can only predict the approximate fertility rate with the help of one or more machine learning algorithms. Their accuracy will be displayed in percentage.
Material/Methods: In this work, we have used 21 machine learning classifiers (including SVC, RF, LR, NB, KNN, and DT) to identify the fertility of the soil. From our experimental observation, it is concluded that the Random Forest Classifier and Naïve Bayes Classifier have the highest accuracy compared to the other algorithms.
Result: The nature of the dataset indicates that the result is a binary value, i.e., either “Fertile” or “Non-Fertile”, along with the accuracy percentages of each machine learning algorithm. The accuracy of RF is 95%, which tells us how accurate the output is. We can then decide which crop to grow based on the provided data.