Introduction: The fertile soil is having a balanced nutrient value of pH, potassium, phosphorous, nitrogen, water retention capability, and organic substances. A fertile soil allows for better growth of plants and in turn leads to better production. The soil fertility needs vary from crop to crop such as nutrient needs, pH requirements, soil texture availability, etc . It is essential to identify the soil fertile level as per the crop.
Objective: Our objective of this paper is to develop a robust model that is capable of predicting soil fertility. The model is integrated with the IoT-generated data and federated learning-based feature selection techniques to improve the accuracy of the dataset.
Material/Methods: A soil mineral dataset was collected through the IoT sensors of different agricultural fields. It collects the parameters of the soil and these are moisture, pH, nutrient levels, etc. Further, it is transformed into the dataset which is divided into several parts(partitions). We used federated learning for the training of the ML model on the partitioned datasets which are collected from the IoT sensors. The model updates are aggregated centrally without sharing raw data, preserving data privacy. Initially, we applied different feature selection techniques on the dataset such as Variance Threshold, Chi-Square, Recursive Feature Elimination (RFE), PCA Loadings, Random Forest (RF) Importance, Mutual Information, and Lasso Coefficients) to suggest the best model. Then we applied machine learning algorithms such as Logistic Regression, Decision Trees, Naive Bayes, and their ensemble to analyze and improve the performance.
Result: From our experimental observation, we analyzed the performance metrics of different ML classifiers and it revealed that the ensemble of logistic regression and decision tree has better performance compared to other models. The model achieved a precision of 87%, accuracy of 87%, recall of 87%, and F1-Score of 86%.