Project Report
Project Report
on
APPLICATION OF MACHINE LEARNING TO ENHANCE CROP
PRODUCTION
Bachelor of Technology
in
Information Technology
by
DECLARATION
We hereby declare that the project work presented in this project report entitled
“Application of Machine Learning to Enhance Crop Production” in partial
fulfillment of the requirement for the award of the degree of Bachelor of Technology
in Information Technology, submitted to A.P.J. Abdul Kalam Technical University,
Lucknow, is based on our work carried out at Department of Information Technology,
Galgotias College of Engineering and Technology, Greater Noida. The work
contained in the report is original and project work reported in this report has not
been submitted by us for the award of any other degree or diploma.
Signature
Purushottam Varshney
2000970130087
Signature
Paras Chandra
2000970130074
Signature
Date:
Place: Greater Noida
i
GALGOTIAS COLLEGE OF ENGINEERING &
TECHNOLOGY, GREATER NOIDA, 201306, UTTAR
PRADESH, INDIA.
ACKNOWLEDGEMENT
We have taken efforts in this project. However, it would not have been possible
without the kind support and help of many individuals and organizations. We would
like to extend our sincere thanks to all of them. We are highly indebted to Ms. Sakshi
Malhotra for their guidance and constant supervision. We are extremely indebted to
Dr. Sanjeev Kumar Singh (HoD-IT), Dr. Javed Miya (Project Coordinator),
Department of Information Technology, GCET for their valuable suggestions and
constant support throughout our project tenure.
We would also like to express our sincere thanks to all faculty and staff members of
the Department of Information Technology, GCET for their support in completing
this project on time. We also express gratitude towards our parents for their kind
cooperation and encouragement which helped us in the completion of this project.
Our thanks and appreciation also go to our friends in developing the project and all
the people who have willingly helped us out with their abilities.
Purushottam Varshney
(2000970130087)
Paras Chandra
(2000970130074)
ii
GALGOTIAS COLLEGE OF ENGINEERING &
TECHNOLOGY, GREATER NOIDA, 201306, UTTAR
PRADESH, INDIA.
CERTIFICATE
This is to certify that the project report entitled “Application of Machine Learning
to Enhance Crop Production” submitted by Purushottam Varshney
(2000970130087), Paras Chandra (2000970130074), Rohan Kumar Sinha
(2000970130095) to the Galgotias College of Engineering and Technology, Uttar
Pradesh in partial fulfilment for the award of Degree of Bachelor of Technology in
Information Technology is a bonafide record of the project work carried out by them
under my supervision during the year 2023-2024.
Dept. of IT
iii
ABSTRACT
Agriculture is the main source of earning for various farmers. Their earning largely
depends on the crop yield and the amount paid for their crops. In India, the crop yield
is not up to the expectation. This happens due to low soil fertility, not growing desired
crops according to the need of the soil, exhaustive over use of fertilizer. This low crop
yield adversely affects the famers living condition. The low crop yield is the major
reason for the plight of the farmers.
Our present work aims to address the low crop yield problem and offering farmers
choices to grow one or more crops out of four to five crops suitable for the particular
soil i.e. companion cropping so that they could make high profit and also maintains
soil fertility.
iv
CONTENTS
DECLARATION ……………………………………………………………………. i
ACKNOWLEDGEMENT …………………………………………………………. ii
CERTIFICATE ……………………………………………………………………. iii
ABSTRACT ...……………………………………………………………………… iv
CONTENTS ………………………………………………………………………… v
LIST OF FIGURES ...……………………………………………………………... vi
LIST OF TABLES ………………………………………………………………... vii
CHAPTER 1: INTRODUCTION 1-10
1.1 PRECISION AGRICULTURE 1-3
1.1.1 How does Precision Agriculture work? 2
1.1.2 Benefits of Precision Agriculture 2-3
1.1.3 Use cases of Precision Agriculture 3-4
1.2 MOTIVATION 4
1.3 PROJECT DESCRIPTION 4-10
1.3.1 Description of the Theoritical Concepts 5-10
REFERENCES 50-52
LIST OF FIGURES
vi
FIG. 3.1: ARCHITECTURE FOR BACKEND MODEL 20
FIG. 3.2: ARCHITECTURE FOR FRONTEND MODULE 20
FIG. 3.3: DATA FLOW DIAGRAM 21
FIG. 3.4: USE CASE DIAGRAM 22
FIG. 3.5: COMPONENT DIAGRAM 22
FIG. 3.6: STATE CHART DIAGRAM 23
FIG. 3.7: WORKFLOW DIAGRAM 24
FIG. 3.8: FOLDER STRUCTURE OF FRONTEND MODULE. 30
FIG. 3.9: CODE FILE FOR MAIN.JS WITH ROUTING. 31
FIG. 3.10: CODE FILE OF APP.JS COMPONENT. 31
FIG. 3.11: CODE FILE OF HEADER.JSX COMPONENT 32
FIG. 3.12: CODE FILE OF HOME.JSX COMPONENT. 33
FIG. 3.13: CODE FILE OF CROP RECOMMENDATION COMPONENT. 34
FIG. 3.14: CODE FILE FOR FERTILIZER COMPONENT. 37
FIG. 3.15: CODE FILE FOR NAÏVE BAYES ALGORITHM. ERROR! BOOKMARK NOT
DEFINED.
FIG. 3.16: CODE FILE FOR FERTILIZER COMPONENT. ERROR! BOOKMARK NOT
DEFINED.
LIST OF TABLES
vii
TABLE No. TABLE NAME PAGE No.
Table.1 Literature Survey Table 17
viii
CHAPTER 1
INTRODUCTION
Food is a fuel that our body requires to carry day to day functions. Food directly
relates to crop farming. Cultivations of crops encompasses many agricultural practices
taken care by farmers. The economists failed to evolve a system fair to farmers. As
farmers are not technically skilled, so they require a smart solution that can assist
them in increases the efficiency and profitability of cultivation. And those solutions
can be produced by smart agriculture.
1.1 PRECISION AGRICULTURE
1
companion planting practice of agriculture adhering to land limitations or for home
gardening.
Overall, the system enables the farmers to maximize the use of their resources like
land, seeds, water, etc., so that they can perform effective farming and can increase
their production as well as their profits using smart solutions. This system can also
help to promote sustainable agriculture practices by reducing the use of harmful
chemicals and promoting efficient use of resources. Also, it helps farmers make
informed decisions by providing recommendations and information based on data
collected.
1.1.1 How Does Precision Agriculture Work?
After the data is collected, predictive analytics software uses the collected data to
provide guidance to farmers regarding crop rotation, optimal planting times,
harvesting, and soil management.
Agricultural control centres can integrate sensor data and imaging inputs with other
data to enable farmers to identify fields that need treatment and determine the optimal
amount of water, fertilizer and pesticides to apply.
This helps farmers avoid wasting resources and prevent runoff, ensuring the soil
contains the right number of nutrients for optimal health while reducing costs and
controlling the farm's environmental impact.
Cost reduction- The ability to precisely reduce the amount of fertilizer, herbicide or
seed in areas where it will not be economical to use is one of the key benefits of
precision agriculture.
Increased profitability- Increasing yields through the use of high-resolution
agronomic principles while reducing costs increases overall profitability. Farmers
Edge offers one of the lowest priced, high value packages in the industry through our
unique application of technology.
Increased sustainability- Ensuring that applied plant-based products actually reach the
plant and do not impact the environment elsewhere not only delivers better results, but
also promotes a safer environment and may even give you access to new markets for
your crops in the future. Using our accurate services, we have been able to quantify
2
that on average a Farmers Edge Variable Rate (VR) customer has reduced their
carbon footprint by over 10% while increasing production.
Better harvest- One of the most significant benefits of precision farming is the ability
to understand the nutrient levels on the farm and the soil types on the farm. We know
that fields and geographies are not created equal, and this can affect the amount of
nitrogen mineralization, water holding capacity, and much more. By understanding
these differences, we can make sure we don't overdo nitrogen, which can lead to
lodging, or we can increase nutrients like potassium that help with stability in areas
where it's low. To top it all off, we can do VR desiccation, which means we can have
lower desiccant on hilltops or sandy areas and higher rates on low-lying areas to
ensure your crop is easily harvested.
Increased land values- We know that accuracy is an excellent practice from an
agronomic point of view, but it can also affect the value of land prices, as shown here.
Higher resolution Understanding your farm- Farmers know their soil better than
anyone else. Precision farming gives you the ability to understand why certain areas
of your farm are not producing or producing better, giving you a basis for making
decisions that continually improve the farm.
Better understanding of yield in season- Using accurate imagery or accurate weather
services can not only help you understand areas of your farm that are facing problems
or need more attention, but with this combination of farm and field information, we
can provide an accurate yield forecast for the season. , enabling better decision-
making both from an agronomic point of view and for marketing or asset purchase
purposes.
They are all interconnected, but they are only the beginning of the value that precision
agriculture brings. As technology improves, the use of technology improves and we
continue to improve products, experiences and outcomes for farmers from the High
Level of Canada to the Deep South of Australia.
1.1.3 Use Cases for Precision Agriculture
In the past, precision agriculture was limited to larger operations that could support
the IT infrastructure and other technology resources needed to fully implement and
reap the benefits of precision agriculture.
Today, however, mobile apps, smart sensors, drones and cloud computing make
precision farming possible for agricultural cooperatives and even small family farms.
Some of the most popular applications for precision agriculture today include:
• Agricultural mapping and field survey. Camera-equipped drones can create
high-resolution field maps. This data can identify problem areas, monitor
crops and assess yield potential.
• Soil sampling and analysis. Mobile apps can collect data on soil type, fertility,
moisture content and more. This information can inform decisions about
irrigation, fertilization and other aspects of crop management.
3
• Weather monitoring. Hyperlocal weather data can help users decide when to
plant, how much to water crops, and when to harvest.
• Work management. GPS-enabled mobile applications can track the location
and activity of field workers. This data can optimize workflows and ensure
that tasks are performed efficiently.
• Device management. Farming equipment is expensive, and precision
agriculture can help farmers track their equipment, schedule maintenance, and
schedule repairs.
1.2 MOTIVATION
Our motivation towards building this project is to provide farmers a solution that is
backed by machine learning and data analysis which can be implemented by them
without any difficulties and that can be scalable. Our project will assist the farmers in
the following aspects:
Sustainable Agriculture: The solution promotes sustainable agriculture practices by
reducing the use of harmful chemicals and resources, such as water and fertilizer.
Additionally, by using data-driven approaches, our solution can help farmers to
minimize environmental impact and enhance biodiversity.
4
either can enter the details of the N, P, K, pH values or select the district. The system
will recommend four to five crops according to the details entered by the farmers or
will recommend the crops suitable for particular districts if the farmer is unaware the
details of N, P, K values. Our work also recommends the required amount of fertiliser
needed in the particular soil for specified crop. The whole front end is user friendly
and very easy to navigate. As we know that generally farmers have low technical
knowledge that’s why we have developed a user-friendly interface so that farmers
could easily navigate through the portal.
5
1.3.1.2 Naïve Bayes Algorithm
Over the past year, the strategic integration of Random Forest into our analytical
repertoire has proven to be a critical advancement in our data-driven decision-making
framework. Random Forest, a powerful ensemble learning technique, leverages the
collective intelligence of multiple decision trees to produce superior predictive
accuracy and resilience. Random Forest reduces overfitting concerns and improves
generalization capabilities through the bagging process, in which each decision tree is
trained on a distinct subset of the data, and the introduction of randomness in feature
selection at each split. This has been especially helpful in navigating the complexities
of our datasets, allowing for a more nuanced understanding of complex relationships.
6
Random Forest's adaptability is evident in its ability to perform well in a variety of
applications, including classification and regression tasks. Its ability to handle high-
dimensional data and its robustness in the face of outliers are perfectly aligned with
the requirements of our analytical endeavours. Notably, the ensemble nature of
Random Forest contributes to a heightened level of model robustness, ensuring
reliable predictions even in the presence of noise or outliers.
As we approach the one-year anniversary of incorporating Random Forest into our
analytical toolkit, the tangible impact on predictive accuracy and model resilience is
clear. This ensemble learning technique has become a cornerstone in our data-driven
decision-making processes, offering a sophisticated and dependable solution to the
challenges posed by complex datasets.
1.3.1.4 SVM
Support Vector Machines (SVM) integration has significantly improved our analytical
capabilities over the last year, particularly in classification and regression tasks. SVM
is a powerful supervised learning algorithm that is well-known for its ability to handle
both linear and non-linear relationships in our datasets. SVM works by determining
the optimal hyperplane that best separates data points from different classes while
maximizing the margin between them. This robust margin maximization helps SVM
generalize well to new, previously unseen data.
One of SVM's notable strengths is its adaptability, as it can be used for a variety of
tasks such as image classification, text categorization, and anomaly detection. The
addition of kernel functions broadens the applicability of SVM, allowing it to capture
intricate non-linear relationships in data. This adaptability fits in perfectly with the
variety of our analytical challenges.
Furthermore, SVM has been shown to be especially effective in high-dimensional
spaces, making it well-suited to our complex datasets. The ability to handle sparse
data and the potential for fine-tuning through kernel selection and regularization
parameters further enhance SVM's versatility.
As we commemorate the one-year milestone of integrating SVM into our analytical
toolkit, its impact on achieving accurate classifications and robust regression models
is evident.
7
visually accessible tree structure. The interpretability of decision trees has proven
especially useful in communicating insights to stakeholders and facilitating informed
decision-making. Our use of decision trees spans a wide range of domains, from
financial forecasting to risk assessment and customer segmentation. The adaptability
of decision trees in dealing with both categorical and numerical data is noteworthy,
providing a versatile solution to our analytical needs. As we approach the one-year
mark since incorporating decision trees into our methodology, the impact on the
accuracy and interpretability of our analyses is clear, cementing their role as a
cornerstone in our data-driven approach."
Over the last year, the incorporation of Logistic Regression into our analytical
framework has played a critical role in improving our understanding of binary and
multi-class classification tasks. Despite its name, Logistic Regression is primarily
used for classification rather than regression. It uses the logistic function to estimate
the probability of a specific outcome by modelling the relationship between the
dependent binary or categorical variable and one or more independent variables.
One of Logistic Regression's distinguishing features is its ease of use and
interpretability. The algorithm provides a clear understanding of how each
independent variable affects the probability of a given outcome, making it a useful
tool for feature selection and model explanation. This transparency is especially
important in situations where interpretability is required.
Logistic Regression is a reliable and interpretable component in our data-driven
decision-making processes, contributing to the success of various projects across
various domains.
Furthermore, Logistic Regression seamlessly adapts to situations with imbalanced
datasets and offers insights into the odds ratios, aiding in risk assessment and decision
support. As we mark the one-year milestone of incorporating Logistic Regression into
our analytical arsenal, its impact on accurate classifications and the interpretability of
our models is undeniable. Logistic Regression stands as a reliable and interpretable
component in our data-driven decision-making processes, contributing to the success
of various projects across diverse domains.
Nowadays the small-scale farmers struggle to survive. More often they attempt for
suicide due to heavy loss and debt incurred by them. The main reason for their plight
is the low crop yield. Low crop yield happens due to not sowing exact seeds of the
crops which are suitable for their soil or agricultural land and the other reason is over
use of fertiliser. Over use of fertiliser leads to crop damage and thus resulting in low
8
crop yield. Sometimes over use of fertiliser decreases the quality of crops and
ultimately such crops remain unsold and thus got wasted.
So, our project aims to eliminate or minimise the loss incurred by farmers by assisting
farmers to grow crops which are suitable for that particular soil. Our project will
recommend four to five crops to farmers and farmers can have a choice to grow crops
which is feasible for them. By recommending four to five crops, we gave farmer the
choice for companion farming so that they can profits out of their agricultural
produce. Our project is also endorsing farmers to use optimal fertiliser for their crops
so that quality of crops can be improved and farmers can timely harvest.
9
effective solutions that are affordable to small and medium-sized
farmers. This research could involve exploring the use of low-cost
sensors, open-source technologies, and collaborative approaches to
implementing smart agricultural solutions.
10
CHAPTER 2
LITERATURE SURVEY
Precision agriculture can be traced back to the 1950s and 1960s, when the first GPS
(global positioning system) satellites were launched.
However, it wasn't until the 1980s and 1990s that precision ag technology became
widely used by farmers. This was due to the development of more affordable and
user-friendly GPS receivers and mapping software, as well as the availability of
satellite imagery and other remote sensing data.
Since then, the field of precision agriculture has continued to evolve and expand with
the introduction of new technologies such as sensors, drones and autonomous
vehicles, as well as advances in data management and analytics tools. Today,
precision agriculture is used by farmers around the world to improve the efficiency,
productivity and sustainability of their operations.
The world is on the verge of a third modern agricultural revolution, and precision
agriculture is an important part of it. The first agricultural revolution, which took
place from 1900 to the 1930s, mechanized agriculture allowed each farmer to produce
enough for 26 people. Long after that, it was the 1990s when the second revolution
known as the Green Revolution took place. Scientific advances have introduced
genetically modified newer sets of crops that are resistant to pests and need less water,
so each farmer can feed 155 people.
The world population is expected to reach 9.6 billion by 2050, and food production
must double from current levels to feed every person. Key elements of the third
revolution will be advanced analytics and ever-improving IoT capabilities such as
drones for precision agriculture.
But how is precision agriculture different from what farmers and farms have already
been doing?
Precision agriculture and traditional cultivation differ greatly in practice. In traditional
agriculture, farmers apply the same amount of pesticides, fertilizers and irrigation
11
across the field, at prescribed times and frequencies, according to general
recommendations for the region.
However, there are always differences in biological, physical and chemical
parameters even within one field. Treating fields uniformly without considering
inherent differences leads to overuse of inputs in fertile land and underuse in poor
areas. This inefficient use of land, water, fuel, fertilizers and pesticides increases costs
and impacts the environment.
Precision agriculture focuses on internal differences in farmland and optimizes input
through variable rate application (VRA). To implement VRA, detailed spatial data
across fields and sites need to be collected through geographic information systems
(GIS) and crop life cycle using GPS and remote sensing. Precision agriculture tools in
use include precision irrigation systems, yield mapping and monitoring tools, and
information management systems. Using advanced descriptive, predictive and
prescriptive analytics engines to analyse data, precision agriculture makes data-driven
management decisions and implements cost-effective and environmentally friendly
solutions for sustainable modern agriculture.
[1] Dr. S. Usha Kiruthika, Dr. S. Kanaga Suba Raja. “Design and
Implementation of Fertiliser Recommendation System for Farmer”. This paper
aims to estimate nutrient dimension of soil and suggest appropriate fertilizer.
Their methodologies comprise of four stages-
(i) Soil analysis
(ii) Data preprocessing
(iii) Data Analysis
(iv) Recommendation.
They have collected the NPK ratio of the soil nutrient using NPK sensor. The
gathered data are processed using machine algorithm to identify the correct fertiliser
required for that soil. Their proposed model computes the ratio of NPK for the given
soil sample and thereby recommends the required fertiliser for the given soil.
Their proposed model estimates the content of nutrient through sensor and then
recommends the desired amount of fertiliser. They have used Java API for data
processing and for calculating the factors of the soil.
[2] Suresh, G., A. Senthil Kumar, S. Lekashri, and R. Manikandan. “Efficient
Crop Yield Recommendation System Using Machine Learning for Digital
Farming”. This proposed system uses the data acquired by the location of the land
and suggests the effective crops based on the soil fertility of that area. The system also
provides the required quantity of fertilizers.
The work mainly used two datasets to produce the required output. One dataset is the
sample dataset of location and its soil fertility parameters and the other one is for the
12
crop data according to soil parameters. In order to suggest crops and fertilizer, the
framework utilizes the calculations of support vector machine.
This proposed work utilizes supervised machine learning algorithm to suggest
appropriate crops to maximize the yield. The system recommended particular crops
based on nutrients (N, P, K and pH) values of the soil for the crops like rice, maize,
black gram, carrot and radish.
[3] Aqeel-ur-Rehman, Abu Zafar Abbasi, Noman Islam and Zubair Ahmed
Shaikh, “A Review of Wireless Sensors and Networks’ Applications in
Agriculture”. This particular paper reviewed the applications of wireless sensors,
WSN technology and its network application in various aspects of agriculture. Also,
this paper presented the different systems available for this particular domain.
This paper presented the use case of different technologies in different aspects of
agriculture such as irrigation, fertilization, pest control, horticulture and greenhouse.
For the irrigation purpose, they reviewed the work of Damas et al. [4] in which they
developed and tested remotely controlled, automatic irrigation system which utilizes
WLAN network to connect all the regions and control them from a control system.
And also, the work of Morais et al. [5] which implemented wireless data acquisition
network to collect climate and soil moisture data for smart irrigation in Portugal.
Similarly, for fertilization they reviewed different works in which GPS technology,
sensors and Bluetooth technology was used to collect the data of soil and its nutrients
to maximize crop yield.
The paper concluded that there are various applications of technologies in different
aspects of agriculture but are very complex to implement and require major technical
support. Also, the use of WSAN based solutions requires the development and
utilization of low-cost sensor nodes and architecture.
[6] Dhruvi Gosai, Chintal Raval, Rikin Nayak, Hardik Jayswal, Axat Patel,
“Crop Recommendation System using Machine Learning”. The bad quality of
crop is also due to the either excessive fertilizer or using not enough fertilizer. This
proposed system of IoT and ML is using the soil sensors and collecting the
information by observing the soil parameters. This lowers the probability of the
degradation of the soil and helps maintain crop health.
By the use of Kaggle dataset based on different soil and climate parameter for
different crops has been picked and pre-processed means removal of the noise and
also identifying most suitable and relevant attribute from the dataset. Then by the help
of the Decision Tree classifier methodology, the model was trained and by the help of
SVM crops are classified as well as regression challenge. It is mainly used in
classification challenge and using logistic regression for the model binary dependent
variables. XG boost is used to maintain the accuracy.
This gives an intelligent crop recommendation system which can be used by farmer
all over the India. This also help them in making better decision according to the
different parameters.
13
[7] Qiming Zhou & Ali Ismaeel, “Integration of maximum crop response with
machine learning regression model to timely estimate crop yield”. This literature
utilizes the satellite remote sensing data to predict crop yield. The collected data is
then utilized by machine learning models to predict the yield.
In the study, they integrated the maximum Enhanced Vegetation Index (EVI) during
the crop growing season with the Machine Learning Regression (MLR) models to
estimate the crop yield for wheat and rice in Pakistan’s Punjab province. They utilized
the five-fold cross-validation model for predictive accuracy.
The proposed system was able to predict the crop yield 6-8 weeks before he harvests.
The prediction then further can be utilized in the formulation of agricultural policies
for social, environmental and economic progress.
[8] N. Bhavya, K. Govinda, “Targeted Yield Approach of Fertiliser
Recommendation for Sustaining Soil and Crop Productivity.” This research paper
aims to focus on fertilizer recommendation to increase crop production. This research
uses STCR (Soil Test Crop Response) technique, which uses the test values of soil
and targeted yield equation. STCR is one of the most scientific approaches to nitrogen
application for crops among the different types of fertilizer recommendation.
They used STCR Approach as:
i. To develop a relationship between soil test values and crop response to
chemical fertilizer and organic manures.
ii. To obtain a basis for making fertilizer recommendations for targeted yield.
iii. To evaluate various soil test methods for their suitability under field
conditions.
iv. To evaluate the targeted yield equations in the farmer’s field through
follow-up trials.
Their research came to find that STCR approach is significant and economically
viable than the STL (Soil Test Laboratory) technique. Their model also predicts soil
test values after harvesting which ultimately serves as the initial value of soil test
value for next crop to grown in that field. In this way they reduce the effort as well as
saves time.
[9] Dr. N. Suma, Sandra Rhea Samson, S. Saranya, G. Shanmugapriya, R.
Subhashri, “IOT Based Smart Agriculture Monitoring System”. This literature
describes about the proposed system that makes the use of various sensors and Wi-Fi
and cameras with microcontroller.
The proposed system includes various features like GPS based remote controlled
monitoring, security, leaf moisture, irrigation facilities, moisture and temperature
sensing. In the framework, they deployed various sensors in different regions of the
field such as moisture sensor, temperature sensor and PIR sensor. And the data
collected through these sensors are connected to the microcontroller through RS232.
The system includes both automatic and manual modes.
14
Remote controlled monitoring can be done from anywhere with the help of the
application developed which determines temperature, humidity, moisture and intruder
detection. The system only supports small fields and it can be enhanced with cost
effective architecture.
[10] Abhinav Sharma, Arpit Jain, Prateek Gupta, Vinay Chowdary, “Machine
Learning Application for Precision Agriculture”. This research paper presented a
review of application of machine learning in the dimension of agriculture. Their
research focussed on the prediction of different soil parameters. The different soil
parameters are organic carbon and moisture content, crop yield prediction, species
detection and weed detection. They have used computer vision of machine learning
for classifying different sets of images of crops to assess crop yield and quality.
In their research paper they have also analysed the performance of different machine
learning algorithms. They have also depicted the different types of learning algorithm
used for soil and weather prediction.
[11] M Vetrivel, U. Bagavathi Ammal, “Soil Test Based Fertiliser Prescription
Equation for Rice in Inceptisols of Puducherry, India” This paper uses the STCR
study data conducted during 2015-16 in Karikkaklampakkam village of U.T
Puducherry for rice under IPNS to develop the fertiliser adjustment equation for
different target yield. They calibrated the different fertiliser adjustment equation of
target yield of 6t per ha and 7t per ha of rice.
They also disclose the N, P, k value for the soil after harvest so that the farmer can
have idea of the required fertiliser to be used for next crops.
Their research also concluded that for getting higher yield and better nutrient uptake
by rice IPNS Treatment is mor better than NPK alone treatment. Their research also
demonstrated that cost of production can be reduced through IPNS treatment and also
highlighted the optimal use of fertiliser for targeted Yield. Their research also focused
on improving soil fertility of soil through optimal use of fertiliser.
[12] Ramesh, Vijay, “Data mining techniques for crop yield prediction” This
paper presents different crop yield forecasting strategies using information mining
methods.
The agrarian framework is unpredictable because it handles huge informational
circumstances that comes from different components. The expected harvest yield was
the subject of interest for producers, specialists and agricultural associations. In this
post, the creators focus on the use of information mining methods in the agrarian
field. Characteristic data mining methods such as K-Means, K-Nearest Neighbour
(KNN), Artificial Neural Networks (ANN) and Support Vector Machines (SVM) for
continued use of agribusiness information mining practices.
Innovation in information mining has seen incredible progress due to rapid
improvement software engineering, artificial intelligence. Information mining is an
emerging research field investigation of yields of horticultural crops. Information
mining is a way to recognize the hidden examples from a huge amount of
15
information. Expected yield is a crucial rural issue that needs to be resolved
depending on available information. The problem of expected return can be solved
using information mining methods.
[13] Satish Babu, “A Software Model for Precision Agriculture for Small and
Marginal Farmers”. The article outlines the requirements and planning needed to
develop a software model for precision agriculture. He discusses the basics of
precision agriculture in depth. The author starts from the basics of precision
agriculture and moves towards the development of a model that would support it. This
paper describes a model that applies Precision Agriculture (PA) principles to small,
open farms at the individual farmer and crop levels to influence the degree of
variability control. The comprehensive goal of the model is to provide direct advisory
services to even the smallest farmer at the level of his smallest crop plot using the
most available technologies such as SMS and email. This model was designed for the
scenario in the state of Kerala, where the average farm size is much lower than most
of India. Therefore, this model can be deployed elsewhere in India with only minor
modifications.
[14] Anshal Salva, Parul Dhawan, Himatanya Bhadada, Nivedita Israni, Alisha
Mandholia, Sanya Bhardwaj, “Survey of Classification Algorithm for
Formulating Yield prediction Accuracy in Precision Agriculture”. The article
conducts a comparative study of classification algorithms and their performance in
predicting yields in precision agriculture. These algorithms are implemented in the
dataset collected over several years in soybean crop yield prediction. The algorithms
used for yield prediction in this paper are Support Vector Machine, Random Forest,
Neural Network, REPTree, Bagging and Bayes. The conclusion made at the end is
that bagging is the best yield prediction algorithm out of the above algorithms because
the error variance of bagging is minimal with a mean absolute error of 18985.
[15] R.Harine Rajashree, C.Kavya, S.Pudumular, E.Ramanujam, “Crop
Recommendation System for Precision Agriculture”. This paper focuses
recommending crops based on the soil condition through an ensemble model with
majority voting using techniques using random tree, CHAID, KNN and naïve bayes
algorithm. In this paper they have used ensembling technique for prediction with high
accuracy.
Ensemble is a data mining model also known as the Committee Methods or Model
Combiners, that combine the power of multiple models to acquire greater prediction,
efficiency than any of its models could achieve alone.
In this research, they have used Random Tree Model for decision tree, CHAID
(another type of decision tree technique) etc.
[16] S. Kulkarni, S. N. Mandal, G. S. Sharma, M. R. Mundada and Meeradevi,
"Predictive analysis to improve crop yield using a neural network model". This
research paper utilized DL models to predict rice crop yield. The authors utilized soil
properties and nutrients measurements recorded over 31 years and historic rainfall
16
data. The input data was fed to recurrent neural network models for crop yield
prediction. For effective prediction the authors explored different activation functions
viz. sigmoid, reLu, and linear in the neural network.
[17] Priyadharshni A, Swapneel Chakraborty, Aayush Kumar, “Intelligent Crop
Recommendation System using Machine Learning”. This research work has
proposed a system to assist the farmers in crop selection by considering all the factors
like sowing season, soil, and geographical location. Furthermore, precision agriculture
is being implemented with a modern agricultural technology and it is evolving in
developing countries that concentrates on site-specific crop management.
2.3 PROBLEM STATEMENT
17
Literature Survey Comparison Table
Paper Name Date/ Problem Methodology Outcomes
Volume/ Statement
Issue
Design and Vol.83, Estimate nutrient Collection of NPK Analysis of
Implementation of March- dimensions of soil ratio of soil through soil nutrients
Fertiliser April. and suggest sensors and fertilizer and
Recommendation 2020 appropriate estimation through estimation of
System for Farmer fertilizer. ML algorithms. required
Used Java API for fertilizers.
data processing.
18
Soil Test Based Volume: 6 Develop and Gather the STCR Results of
Fertiliser Prescription Issue: 3, calibrate the study data and NPK values
Equation for Rice in December fertilizer calibrate the of soil before
Inceptisols of 2017 adjustment fertilizer adjustment and after
Puducherry, India equations for rice equations for the harvest and
crop. target yield of 6 – 7 STCR
t per ha of rice. adjustment
equations.
CHAPTER 3
Machine learning is a versatile tool that can be applied to a wide range of problems. It
is important to note, however, that ML algorithms are not perfect. They are human,
and they can make mistakes and be biased. It is critical to carefully evaluate and use
machine learning algorithms.
Over the last year, the integration of various machine learning techniques into our
analytical framework has marked a transformative journey in leveraging data to make
informed decisions. Machine learning algorithms have been critical in extracting
patterns, predicting outcomes, and uncovering insights from large datasets. Several
key algorithms have been critical to our data-driven efforts.
Machine learning is a subset of AI that allows computers to learn without being
explicitly programmed. It accomplishes this by allowing computers to recognize
patterns and make predictions based on data. Machine learning is used in numerous
applications, including:
Machine learning algorithms can be used to analyse data and predict future events in
predictive analytics. For example, machine learning can be used to forecast customer
churn, fraud, or stock prices.
Machine learning algorithms can be used to recommend products, movies, or music to
users based on their previous actions and preferences.
Natural language processing (NLP) is the use of machine learning algorithms to
understand and generate human language. For example, machine learning can be used
to translate languages, create chatbots, and more.
Just like every model, our model also consists of various modules. In this model there
are four modules and they are-:
a. Data Preparation Module
b. Backend Module
19
c. Frontend Module
d. Integration Module
The system design of our project typically involves several key components and steps.
Here's an overview of the system design:
1. Dataset Preparation Module - The data is collected from previous research
work and Kaggle dataset repository. Further, data cleaning and modification is
done to prepare final dataset preparation.
2. Backend Module - Various ML algorithm’s is tested along with their accuracy
and the finally the model is trained with highest accuracy algorithm.
3. Frontend Module - Various libraries is used such as React JS, React-Router-
Dom, Tailwind CSS and other libraries. Designing of Application UI/UX and
its implementation.
4. Integration Module - In this module, synchronisation of backend and frontend
is done. We have used Flask to connect frontend with backend through API.
1. BACKEND MODULE
2. FRONTEND MODULE
20
Fig 3.2: Architecture for Frontend Module
3.2 STRUCTURAL AND DYNAMIC MODELLING SYSTEM
DFD (Data flow diagram) is a diagram that shows how data moves through a system.
It is a visual tool that shows the flow of information and processes in an organization
or institution regarding the transformation of materials into products through various
processes.
Precision farming technology uses machine learning to follow a simple flow of data.
First, collect important information about the soil, such as nitrogen, phosphorus,
potassium concentrations, and climactic characteristics from the user. Then that data
is passed through the Machine Learning algorithm and predicted the output and based
on the predicted output the module provides efficient solution for the soil based on the
amount to N, P, K in terms of the fertilizer. The predicted crop and solution are
presented to users through an interface, enabling them to make informed decisions.
21
3.2.2 USE CASE DIAGRAM:
Component Diagram is a UML (Unified Modelling Language) diagram that shows the
organization and relationship between components in a system. A component is a
modular, flexible and independent part of a system that encapsulates functionality
and/or data. Diagrams are useful for visualizing the decision-making structure of a
system and how components interact.
Our Precision agriculture consist of the mainly 3 important components user interface,
machine learning module, dataset. Dataset is associated with the machine learning
module and which works for recommendations of the crops and fertilizer based on the
input received from the user through user interface and present it using the user
interface for the right decision of the user.
22
Fig 3. 5 Component diagram
3.2.4 STATE CHART DIAGRAM
A state chart is a UML (Unified Modelling Language) diagram that represents the
various states an object or process can be in and the transitions between those states. It
is particularly useful to model the dynamic aspects of a system, showing how the
system responds to events and changes its state accordingly.
State chart diagram of precision agriculture consist of the different states where user
input’s the enter N, P, K, and other climatic characteristics and then process the data
and pass through naïve bayes algorithm predict the crop and fertilizer a/c soil nature
and the present it using user interface and stop the process.
23
3.2.5 WORKFLOW DIAGRAM
24
3.4 METHODOLOGY AND TOOLS USED
3.4.1 Approach
Our approach towards building this project was that first we discussed and selected an
appropriate problem statement to work upon keeping in mind it’s relevancy and
practicality. While analysing the problem and selecting it we ensured that it should
remain in accordance with the need of project and curriculum.
After this, our next step was to search for the various resources and information
required for our project from different sources available. We browsed on web and
gone through several sites and documentations and also discussed from teachers and
our seniors for problem analysis and work required.
Then after, we searched for the solutions to our problem statement. We researched
and discussed the various approaches already available and what our solution should
be and we collected relevant data regarding the development of our project.
Then we distributed the work among us regarding various phases of development of
our project. First, we’ve done the designing part of the app and then gained some
basic knowledge about the topics to be used like frontend technologies, ML
algorithms, APIs and various Python libraries to be used and then we studied tutorials
and documentations present on the web related to our project.
At the point of studying tutorials, we’re also coding, implementing, testing, and
debugging to develop our intended application.
Finally, at the later stages of this project when the project was almost completed, we
did tests and analysed our model if it is working as intended or not and fixed some
minor bugs to avoid the malfunctioning of the system. Also, we’ve tested the
application on real world data available.
25
Table.2: Crop dataset sample
Backend Module –
The backend module consists of model selection and model training part. In
model selection, different ML algorithms as discussed before in the introduction
chapter are trained on the dataset to compare their accuracies. Naïve Bayes
algorithm shown the highest accuracy of 96.14% among other four algorithms, so
it is selected for utilizing in the project for recommendations. After the model is
trained, it is tested on test dataset. The model was found to be correctly
recommending the crops.
For fertilizer recommendation, the module utilizes the STCR adjusted fertilizer
recommendation equations to provide the quantity of fertilizer required to produce
the targeted yield of the crop provided. The module estimates the soil nutrient
content as provided by the user and recommends the suitable fertilizer content
26
required for targeted yield by utilizing the particular STCR fertilizer
recommendation equations for the provided field location and soil type.
FN = ( NR
CF
×100 ×T )−(
CS
CF
× SN ) (1.1)
F P 2 O 5= ( CF
NR
× 100× T )−(
CS
CF
×S P O )
2 5 (1.2)
F K 2 O= ( NR
CF
× 100 ×T )−(
CS
CF
× S K O)
2 (1.3)
Where, FN: fertilizer N (kg ha-1); FP2O5: fertilizer P2O5 (kg ha-1); FK2O:
fertilizer K2O (kg ha-1); SN: soil test value of available N (kg ha-1); SP2O5: soil
test value for available P2O5 (kg ha-1); SK2O: soil test value for available K2O
(kg ha-1); NR: nutrient requirement; CF: contribution of nutrients from fertilizer;
CS: contribution of nutrient from soil. [8]
The ratios ( CF
NR
) and ( CF
CS
) varies according to vivid crops, soil type and
locations. So, we’ve substituted them variables ai and bi respectively for above
three equations as:
The user inputs the crop he wants with soil nutrients content and the location of
field. Now, with the details of location and crop, variables ‘a’ and ‘b’ are fetched
from the dataset prepared and fertilizers are calculated and recommended.
Frontend Module –
The frontend module functioning is to collect the parameters required for
recommendations from user through the UI and send it to backend to process it
and then to display the results to the user. The UI/UX is built using React JS and
Tailwind CSS along with some other libraries like- React-router-dom, html-
27
parser, etc. The functionalities and wiring of components are also done using
React. To connect the frontend module with backend and establish
communication between them an API is crafted with the help of Flask.
Integration Module –
The integration module is developed using Flask web framework for Python. The
working of integration module is to synchronise the frontend with backend for
proper transfer of data and functions. This module works as an API for the project
and all communications are done using API calls.
28
3.4.3.4 React JS
React JS was created by Jordan Walke and deployed first at Facebook in May 2013. It
is based on open-source JavaScript library. It is also known as React JavaScript
library, which is used for the developing of User Interfaces (UI).
It consists of independent, isolated and reusable components which are pieces of UI.
Every React JS project has a main root component called as Application (App).
Application root component contains other related child components. React JS
application comprises of React element and React component. React component is the
function or class which renders React element or HTML element. [4]
The frontend module is completely developed using React and its libraries. All the
reusable components and UI/UX is done using React.
3.4.3.5 Tailwind CSS
A utility-first CSS framework packed with classes like flex, and pt-4 that can be
composed to build any design, directly in your markup. Tailwind CSS works by
scanning all of your HTML files, JavaScript components, and any other templates for
class names, generating the corresponding styles and then writing them to a static CSS
file. It's fast, flexible, and reliable — with zero-runtime. [5]
In this project tailwind is used to design the responsive UI of the application.
3.4.3.6 Vite
Vite is a build tool that aims to provide a faster and leaner development experience
for modern web projects. Vite is opinionated and comes with sensible defaults out of
the box. Vite is also highly extensible via its Plugin API and JavaScript API with full
typing support. [6]
Vite is used in this project to make the application light-weight by removing useless
dependencies.
3.4.3.7 Open Weather API
The open weather API is based on OpenWeather model. OpenWeather model allows
to calculate weather data for any location. OpenWeather’s advanced ML-based
numerical weather model performs at up to 500 m resolution and allows its users to
consider highly local nuances of climate and build accurate, efficient products.
The model uses a number of data sources - radars, models from global meteorological
agencies (e.g., Met Office, NOAA, ECMWF), weather satellites, and a vast network
of weather stations.[7]
This API is used by the backend module to collect live data of weather as a parameter
for crop recommendations.
3.4.3.8 Seaborn
Seaborn, this is a Python documentation library. Seaborn is often used to create infor
mative an-D interesting graphics.
29
Seaborn is a library for creating graphics in Python. It is developed by Matplotlib and
is tightly integrated with pandas data structure.
Seaborn helps you search and understand your data. Its program operates on data fram
es and arrays containing entire data sets and internally performs the graphs and calcul
ations necessary to create data reports. API declaration of data allows you to focus on
their meaning, not the details of how to draw different elements in the image.
3.4.3.9 Matplotlib
Matplotlib is a versatile and adaptable platform for creating a wide range of plots,
such as line plots, scatter plots, bar plots, histograms, and more. Its adaptability
enables us to tailor visualizations to the specific needs of various projects and
stakeholders. Matplotlib's incorporation into our data analysis workflow has
significantly improved our ability to explore and present data in a meaningful and
understandable manner.
3.4.3.10 Scikit-Learn
Scikit-Learn, also known as sklearn, is an open-source machine learning library for
Python. Scikit-Learn is widely used for various machine learning tasks, including
classification, regression, clustering, dimensionality reduction, and more.
Scikit-Learn, also known as sklearn, is an open-source Python learning library. Scikit-
Learn provides classification, regression, clustering, dimensionality reduction, etc. It
is widely used for many machine learning tasks.
Scikit-Learn, also known as Sklearn, is a free and opensource machine learning
library for the Python programming language. It contains a variety of classifications,
iterations, and integrations, including support vector machines, random forests,
gradient boosting, k-means, and DBSCAN, and is designed to collaborate with
Python's math and science libraries NumPy and SciPy.
Scikit-Learn is a popular choice for machine learning due to its ease of use,
efficiency, and data quality. It is also highly scalable and has a large developer
community that constantly contributes new algorithms and features.
3.4.3.11 Pandas
Pandas is an open-source Python package widely used for data science/data analysis
and machine learning. It is built on top of another package called NumPy, which
provides support for multiple arrays. One of the most popular data manipulation
packages, Pandas works well with many other data science modules in the Python
ecosystem, and Active State is often included as the operating system by default in all
Python distributions for Active Python and other commercial products.
Pandas simplifies many time-consuming, repetitive tasks associated with working
with data; for example: Data maintenance, Data Filling, Data Normalization, Merges
and joins, Data Visualization, Statistical Analysis, Data Review, Data Loading and
Storage.
30
3.4.3.12 NumPy
NumPy is a central package for scientific computing in Python. It is a Python library th
at provides many different objects, many derived objects (such as masks and matrices),
and many functions for fast operations, including arithmetic, logic, efficient operations
sorting, selection, I/O, discrete Fourier transform, simple operation, etc. linear algebra,
simple statistical operations, stochastic simulation, etc.
The core of the NumPy package is the n-D array object. It encompasses an N-
dimensional array of homogeneous data types, and many tasks are performed in
compiled code to improve performance.
3.5 IMPLEMENTATION
3.5.1 Environment Setup
This project requires the environment setup for both backend and frontend modules
that includes the installation of different libraries and frameworks.
3.5.1.1 Backend Environment Setup
3.5.1.1a Jupyter Notebook
You can use the open-source web application Jupyter Notebook to create and share
files containing time codes, equations, visualizations, and annotations. Python, R,
Julia, and other programming languages are supported.
You can create and run code in cells in the Jupyter Notebook interactive environment.
Units can be completed individually or in a predetermined order. To give your code a
clearer description, you can fill it with text, images, equations, and other rich
information.
Jupyter Notebook has many important features, including:
Interactive: Jupyter Notebook supports interactive data exploration and coding
experiments without the need for a separate session.
Code Execution: Jupyter Notebook allows you to execute code on the fly and see
results immediately. This makes it easy to iterate on your code and see results
immediately.
Charts, charts, and maps, as well as other types of data visualization, can be done
through the capabilities of Jupyter Notebook.
Jupyter Books allows you to share your files with others and collaborate instantly
between them. Git or other management software can also be used to manage your
library
31
3.5.1.2 Frontend Environment Setup
3.5.1.2a Node JS & NPM Installation
NodeJS is JavaScript runtime open-source environment which helps developers to
build web applications with the help of frameworks like web pages, images, video
clips, social network sites and application forms. The Chrome’s V8 engine compiles
the JavaScript code into machine code that makes our program code runs smoother
and faster. [10]
Npm stands for Node Package Managers. It is the world´s largest open-source library
which is used for Nodejs. [11]
To install Node JS, we went to the official website i.e., http://nodejs.org. NPM comes
with the installation of Node JS. After the installation check for the versions –
C:\Users\paras>node -v
v20.9.0
C:\Users\paras>npm -v
10.1.0
The above commands show that npm and node is installed with the latest version.
3.5.1.2b Create React App
For creating the project, open the terminal and follow the steps:
1. $npm create vite@latest – to create a vite + react project.
>Project name: …frontend
>Select a framework: React
>Select a variant: JavaScript
2. $npm i – to install project dependencies.
3.5.1.2c Tailwind CSS Installation
To configure tailwind, open terminal and follow the commands:
1. npm install -D tailwindcss postcss autoprefixer
2. npx tailwindcss init -p
3. Add the paths to all of your template files in your tailwind.config.js file.
4. Add the @tailwind directives for each of Tailwind’s layers to your
./src/index.css file.
Now, run command: $npm run dev to run the project.
32
Fig. 3.8: Folder structure of frontend module.
3.5.2.1 main.js
React provides index.html and main.js file in basic file structure. In React, the app
components are passed into the main.js file which provides the output through a html
div. Following is the code file of main.js:
33
3.5.2.2 Components
This component renders the header on all pages of application. It consists route links
to other pages also.
34
Fig. 3.12: Code for routing in header component
This is the landing page of the application. It consists the information about the
project and links to other pages.
35
Fig. 3.13: Code file of hero section of home component
36
Fig. 3.15: Code for services section in home component
This component consists of a form to take parameters from user and also displays the
result of crop recommendation.
The results of crop prediction are fetched from API in JSON format and are shown in
the component by parsing it to HTML.
37
Fig. 3.17: Code for fetching result from API
38
Fig. 3.19: Code for form with required fields.
39
3.5.2.2e Fertilizer Recommendation Component
This component consists of a form to take soil parameters from user and displays the
fertilizer recommendation.
40
Fig. 3.22: Code for displaying fertilizer recommendations.
Naïve Bayes model training module splits the dataset in training and testing data and
then using GaussianNB classifier from sklearn library trains the Naïve Bayes
Classifier model.
Accuracy and cross validation scores are also checked following the training and
testing.
41
Fig. 3.24: Code for Naïve Bayes model training and testing.
Fig. 3.25: Code for saving the model in pickle file format.
42
3.5.2.4 API Modules
This module loads the trained Naïve Bayes model and uses weather API to fetch
temperature and humidity. The module then uses this information to predict crops
from model and sends it to the frontend module.
43
The following flask API method communicates to frontend and collects data from
user request and utilizes that data to get the crop recommendations using the pre-
loaded model.
After getting the results from the model, this method posts these results to frontend
module in JSON format.
Fig. 3.28: API method to fetch data and post crop recommendations
44
3.5.2.4b Fertilizer Recommendation Module
The fertilizer recommendation module utilizes the STCR fertilizer recommendation
equation to calculate the results and posts it to the frontend module.
Fig. 3.29: API method to fetch request and post fertilizer recommendations.
45
CHAPTER 4
RESULTS / SNAPSHOTS
46
4.2 Crop Recommendation Page
47
4.4 Classifiers’ Accuracy Comparison
48
CHAPTER 5
5.1 CONCLUSION
We proposed a crop and fertiliser recommendation system in this report using
machine learning and artificial intelligence techniques. The system is intended to
assist farmers in making informed crop and fertiliser management decisions, which
can improve crop yield while reducing environmental impact.
Our Work demonstrated the application of machine learning in the field of agriculture
to improve the efficiency, productivity, profitability and quality of crops. Our research
also focuses on the accuracy check of all algorithm and use the best algorithm for
recommendation of crops. Our research also aims to recommend suggestion and
solution for the required deficiency of fertiliser using STCR equation.
Our results showed that the proposed system predicted crops with high accuracy and
precision, used companion farming techniques, and recommended the appropriate
amount of fertiliser for the targeted yield. Recommending fertiliser follows target
yield approach in which farmers can get information about require amount of fertiliser
for their target yield from the given area of soil. The system outperformed other
approaches and demonstrated the potential for crop improvement, companion farming
techniques, and fertiliser reduction.
Our research helps to advance precision agriculture and sustainable crop management
practises. Farmers can use the system to optimise crop and fertiliser management,
reduce environmental impact, and increase profitability.
The dataset used here come up with no guarantee from the source. If the original and
authentic data is obtained then our model can be implemented in real time condition
and can have significant impact in the field of agriculture on ground level. The scope
of this project will be the using the model upon the real and authenticated data so that
its application can be seen on the ground level. The dataset for fertiliser
recommendation can be extended for more areas for this project to be scaled up.
49
Overall, our research shows the potential of machine learning and artificial
intelligence techniques for improving crop and fertiliser management, and it
contributes to the development of sustainable agricultural practises.
50
REFERENCES
51
[20] Aqeel-ur-Rehman, Abu Zafar Abbasi, Noman Islam and Zubair Ahmed
Shaikh, “A Review of Wireless Sensors and Networks’ Applications in
Agriculture”, Computer Standards & Interfaces, Volume 36, Issue 2, 2014, Pages
263-270, ISSN 0920-5489
[21] Dhruvi Gosai, Chintal Raval, Rikin Nayak, Hardik Jayswal, Axat Patel, “Crop
Recommendation System using Machine Learning”, International Journal of
Scientific Research in Computer Science, Engineering and Information
Technology, May-June - 2021, 7 (3): 554-557
[22] Dr. N. Suma, Sandra Rhea Samson, S.Saranya, G.Shanmugapriya,
R.Subhashri, “IOT Based Smart Agriculture Monitoring System”, International
Journal on Recent and Innovation Trends in Computing and Communication,
ISSN: 2321-8169, Volume: 5 Issue: 2, February 2017, 177 – 181.
[23] https://curatti.com/pros-cons-reactjs/
[24] https://reactjs.org/docs/getting-started.html
[25] https://www.peerbits.com/blog/reasons-to-choose-reactjs-for-your-
webdevelopment-
[26] M. Damas, A.M. Prados, F. Gómez, G. Olivares, HidroBus system: fieldbus
for integrated management of extensive areas of irrigated land, Microprocessors
and Microsystems, 25 (2001) 177-184.
[27] Nikesh Gondchawar, Prof. Dr. R.S. Kwaitkar, “IoT Based Smart Culture”.
[28] OpenWeather API- https://openweathermap.org/guide
[29] Piyush Anand, Shorya Aggarwal, Sachin Sharma Song Recommendation
Using Emotion
[30] Priyadharshni A, Swapneel Chakraborty, Aayush Kumar, “Intelligent Crop
Recommendation System using Machine Learning”. International Conference on
Computing Methodologies and Communication (ICCMC) 6may 2021
[31] project.html
[32] Python- https://docs.python.org/3/tutorial/index.html
[33] ¬Qiming Zhou & Ali Ismaeel, “Integration of maximum crop response with
machine learning regression model to timely estimate crop yield”, Geo-spatial
Information Science, 24:3, 474-483, DOI: 10.1080/10095020.2021.1957723
[34] R. Morais, A. Valente, C. Serôdio, A wireless sensor network for smart
irrigation and environmental monitoring, in: EFITA/WCCA Joint Congress on IT
in Agriculture, Portugal, 2005, pp. 845-850.
[35] Ramesh A, Vijay. S. Rajpurohit, “A survey on Data Mining Techniques for
Crop Yield Prediction”, “International Journal of Advance Research in Volume 2,
Issue 9, September 2014”.
[36] React JS- React JS Features and documentation
[37] S. Kulkarni, S. N. Mandal, G. S. Sharma, M. R. Mundada and Meeradevi,
"Predictive analysis to improve crop yield using a neural network model", Proc.
Int. Conf. Adv. Comput. Commun. Informat. (ICACCI), pp. 74-79, Sep. 2018
[38] Suporn Pongnumkul, Pimwadee Chaovalit, and Navaporn Surasvadi,
“Applications of Smartphone-Based Sensors in Agriculture: A Systematic Review
52
of Research”, Hindawi Publishing Corporation Journal of Sensors, Volume 2015,
Article ID 195308, http://dx.doi.org/10.1155/2015/195308
[39] Suresh, G., A. Senthil Kumar, S. Lekashri, and R. Manikandan. “Efficient
Crop Yield Recommendation System Using Machine Learning for Digital
Farming”, International Journal of Modern Agriculture, Volume 10, No.1, 2021
[40] Tailwind CSS- https://tailwindcss.com/docs/installation
[41] Tom M. Mitchell. Machine Learning. McGraw-Hill, 1997
[42] Visual Studio Code- https://code.visualstudio.com/
53