0% found this document useful (0 votes)
25 views

documentation

Uploaded by

arvapalliakshaya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

documentation

Uploaded by

arvapalliakshaya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 41

“CROP RECOMMENDER SYSTEM USING MACHINE

LEARNING APPROACH”
A Industrial Oriented Mini Project Report Submitted
In partial fulfillment of the Requirements for the award of the degree of
Bachelor of Technology
in
Computer Science and Engineering

by

A.AKSHAYA ( Regd No: 21QP1A6602)


B.SHIVANI ( Regd No: 21QP1A6604)

DEPARTMENT OF COMPUTER SCIENCE AND


ENGINEERING
SRI CHAITANYA INSTITTUE OF TECHNOLOGY
AND RESEARCH

Ponnekal (V), Khammam(R), Khammam– 507 170


Telangana-India

DECEMBER - 2024
SRI CHAITANYA INSTITTUE OF TECHNOLOGY & RESEARCH
(Approved by AICTE,New Delhi, Affiliated to JNTUH)
Ponnekal village,Khammam-507170

CERTIFICATE
This is to certify that an Industrial Oriented Mini Project Report
report entitled Crop Recommender System Using Machine
Learning Approach being submitted by A.Akshaya (Regd
No:21QP1A6602) B.Shivani (Regd No: 21QP1A6604) in partial
fulfillment for the award of the Degree of Bachelor of Technology in
Computer Science and Engineering to the Jawaharlal Nehru
Technological University, Hyderabad is a record of bonafied work carried
out under my guidance and supervision.

The results embodied in this project report have not been submitted to any
other University or Institute for the award of any Degree or Diploma.

Internal Guide Head of the


Department

External Examiner PRINCIPAL


DECLARATION

We hereby declare that the work described in this thesis entitled Crop

Recommender System Using Machine Learning Approach which is

being submitted by them in partial fulfillment for the award of Bachelor

of Technology (B.Tech.) in the Department of Computer Science and

Engineering, Sri Chaitanya Institute of Technology and Research,

affiliated to the Jawaharlal Nehru Technological University Hyderabad,

Kukatpally, Hyderabad (T.S)-500085, is the result of investigations

carried out by them under the supervision of Guide Name,

Asst.Professor, Dept of Computer Science and Engineering, Sri Chaitanya

Institute of Technology and Research(SCIT),Khammam.

The report and work is original and has not been submitted for any

Degree or Diploma of this or any other university.

A.Akshaya (Regd No: 21QP1A6602)


B.Shivani (Regd No: 21QP1A6604)
ACKNOWLEDGEMENT
First and foremost, we express our sincere thanks for the guidance and
encouragement rendered by Dr. V. Sudhrshan, HoD & Assoc. Professor in
Computer Science & Engineering, Sri Chaitanya Institute Of
Technology & Research(SCIT), Khammam.

We extend our gratitude for his advice and guidance during the
progress of this Industrial Oriented Mini Project. We express my sincere
thanks to _______, Asst.Professor , Department of Computer Science &
Engineering, Sri Chaitanya Institute of Technology and Research(SCIT),
who stood as silent inspiration behind this Industrial Oriented Mini
Project. Our heartfelt thanks for his endorsement and valuable
suggestions.

We wish to express my profound thanks to Dr.Pannala Krishnamurthy,


Principal, Sri Chaitanya Institute Of Technology & Research (SCIT),
Khammam for providing necessary facilities to make this Industrial
Oriented Mini Project a success.

We thank all the members of teaching and non-teaching staff members,


and also who have assisted us directly or indirectly for successful
completion of this Industrial Oriented Mini Project.

Finally, we would like to express our sincere gratitude to our parents


who are constantly encouraging us throughout our life and for
completion of this Industrial Oriented Mini Project
A.Akshaya (Regd No:
21QP1A6602)

B.Shivani (Regd No:


21QP1A6604)

CONTENTS

S.NO DESCRIPTION

CHAPTER-I Introduction

CHAPTER-II Literature Survey

CHAPTER-III System Analysis

3.1 Existing System

3.1 Disadvantages

3.2 Proposed System

3.1 Advantages

CHAPTER-IV System Study

CHAPTER-V Functional Requirements

5.1 Hardware Requirements

5.2 Software Requirements

CHAPTER-VI System Design

6.1 System Architecture

6.2 Flowchart: Remote user


6.3 Flowchart: Admin

6.4 UML Diagrams

6.4.1 Use case Diagram

6.4.2 Sequence Diagram

6.4.3 Class Diagram

6.4.4Dataflow Diagram

CHAPTER-VII System Development

CHAPTER-VIII Implementation

8.1 Technologies used

8.1.1 About Python

CHAPTER-IX Source Code

CHAPTER-X Screenshots

CHAPTER-XI System Testing

CHAPTER-XII Conclusion

CHAPTER-XIII References
1.INTRODUCTION

Agriculture has an extensive history in India. Recently, India is ranked


second in the farm output worldwide. Agriculture-related industries such
as forestry and fisheries contributed for 16.6% of 2009 GDP and around
50% of the total workforce. Agriculture's monetary contribution to India's
GDP is decreasing. The crop yield depends on multiple factors such as
climatic, geographic, organic, and financial elements. Citing to Wikipedia
figures India's suicide rate ranges from 1.4-1.8% per 100,000
populations, over the last 10 years. Farmers are unaware of which crop
to grow, and what is the right time and place to start due to uncertainty
in climatic conditions. The usage of various fertilizers is also uncertain
due to changes in seasonal climatic conditions and basic assets such as
soil, water, and air. In this scenario, the crop yield rate is steadily
declining. The solution to the problem is to provide a smart user-friendly
recommender system to the farmers. The model also recommends the
most profitable crop and suggests the right time to use the fertilizers
The major contributions of the paper are enlisted below
1. Prediction of the crop yield for specific regions by executing various
Machine Learning algorithms, with a comparison of error rate and
accuracy.
2. A user-friendly mobile application to recommend the most profitable
crop.
3. A GPS based location identifier to retrieve the rainfall estimation at
the given area.
4. A recommender system to suggest the right time for using fertilizers.

2.LITERATURE SURVEY

1.Title: A Review on Data Mining Techniques for Fertilizer


Recommendation 2018.

Authors : Jignasha M. Jethva, Nikhil Gondaliya, Vinita Shah

To keep up nutrition levels in the soil in case of deficiency, fertilizers are


added to soil. The standard issue existing among the Indian
agriculturists choose approximate amount of fertilizers and add them
manually. Excess or deficient extension of fertilizers can harm the plants
life and reduce the yield. This paper gives overview of various data
mining frameworks used on cultivating soil dataset for fertilizer
recommendation.

2. Title: A Survey on Data Mining Techniques in Agriculture,


2015.

Authors : M.C.S.Geetha

Agriculture is the most critical application area especially in the


developing nations like India .Use of information technology in
agriculture can change the situation of decision making and farmers can
yield in better way.. This paper integrates the work of several authors in
a single place so it is valuable for specialists to get data of current
situation of data mining systems and applications in context to farming
field.

3.Title : AgroNutri Android Application,2016.

Authors : S. Srija, R. Geetha Chanda, S.Lavanya, Dr. M. Kalpana Ph.D


This paper communicates the idea regarding the making of AgroNutri an
android application that helps in conveying the harvest particular
fertilizer amount to be applied. The idea is to calculate the measure of
NPK composts to be applied depend on the blanked proposal of the crop
of interest. This application works depend on the product chosen by the
farmer and that is taken as input, thus providing the farmers. The future
scope of the AgroNutri is that GPRS can be included so that according to
location nutrients are suggested.

4.Title: Machine Learning Facilitated Rice Prediction in


Bangladesh, 2015.

Authors: Mohammad Motiur Rahman, Naheena Haq, Rashedur

In this examination, self organising map (SOM) was utilized to group the
information relationship between the information factors. After that chi-
square test strategy was utilized to set up the level of reliance between
the related variable qualities. It was discovered that the day by day
outrageous climate conditions, for example, most extreme and least
fluctuation in temperature, precipitation, dampness and wind speed
were the principle drivers of product development, yield and wine
quality

5.Title: Support Vector Machine-Based Classification Scheme of


Maize Crop, 2017.

Authors: Suhas S Athani, CH Tejeshwar

This paper says about, advancement of a mechanized framework to


distinguish and group weeds from the products would be of
extraordinary help and we have proposed a set-up that decreases
labour. We have considered pictures of maize edits as the informational
index. Separating surface highlights of the picture and applying SVM
(support vector machine) to arrange whether the given picture is a weed
or a yield brought about a precision of 82%. The proposed framework
gives a chance to investigate more about element extraction methods.
6.Title: With Machine Learning Algorithms For Estimating Winter
Wheat Area, 2017.

Authors: Y.Z. Pan2

We utilize different kernel functions in the CPPI models to depict the


connection between fractional winter wheat area and MODIS EVI time
series data. We tried three straight and non-direct kernel functions,
including linear regression, artificial neural system, and support vector
machine.. For areas like DT where multiple crop types have comparative
phenology cycles, ANN-CPPI is found to play out the best. The two crop
types to be specific winter wheat and rapeseed, can be separated well.
These tests give elective answers for the uses of CPPI in mixed areas.

3. SYSTEM ANALYSIS

3.1 EXISTING SYSTEM


 One of the early works developed a dedicated website to assess
the impact of weather parameters on crop production in the
identified districts of Madhya Pradesh. The districts were selected
on the basis of the region covered by the crop. Based on these
criteria, the first five top districts with a maximum crop area were
chosen. The basis of the crops selected for the study was on
prevailing crops in the selected districts. The crops picked included
maize, soybean, wheat and paddy, for which the yield for a
continuous period of 20 years of knowledge, were tabulated. The
accuracy of the established model ranged from 76% to 90% for the
chosen crops with an average accuracy of 82%.
 Another important work checks the soil quality and predicts the
crop yield along with a suitable recommendation of fertilizers. The
Ph value and the location from the user were inputs used in this
model. An API was used to predict the weather, temperature for
the current place. The system used both supervised as well as
unsupervised ML algorithms and compares the results of the two.
 A classifier that uses a greedy strategy to predict the crop yield
was proposed in. A decision tree classifier that uses an attribute
has been shown to yield better results. An ensemble model
proposed suggests integrating the effects of different models,

which has been shown to be typically better than the individual


models. Random forests ensemble classification uses multiple

decision tree models to predict the crop yield. The data are split
up into two sets, such as training data and test data, with a ratio of

67% and 33%, with which the mean and standard deviation are
calculated.
3.1.1 Disadvantages:
1. An existing model doesn't predict the crop yield for the data sets of
the given region.

2. The data sets are not cleaned and pre processed. The null values are
not replaced with mean values.

3.2 PROPOSED SYSTEM

 In the proposed system, the system has proposed a model that


addresses these issues. The novelty of the proposed system is to
guide the farmers to maximize the crop yield as well as suggest
the most profitable crop for the specific region. The proposed
model provides crop selection based on economic and
environmental conditions, and benefit to maximize the crop yield
that will subsequently help to meet the increasing demand for the
country's food supplies. The proposed model predicts the crop
yield by studying factors such as rainfall, temperature, area,
season, soil type etc.
 The system also helps to determine the best time to use fertilizers.
The existing system which recommends crop yield is either
hardware-based being costly to maintain, or not easily accessible.
The proposed system suggests a mobile-based application that
precisely predicts the most profitable crop by predicting the crop
yield.
 The use of GPS helps to identify the user location. The user
provides an area under cultivation and soil type as inputs.
According to the requirement, the model predicts the crop yield for
a specific crop
 The model also recommends the most profitable crop and
suggests the right time to use the fertilizers.
3.2.1 Advantages:
1. Prediction of the crop yield for specific regions by executing various
Machine Learning algorithms, with a comparison of error rate and
accuracy.

2. A user-friendly mobile application to recommend profitable crop.

3. A GPS based location identifier retrieve the rainfall estimation at the


given area.

4. A recommender system to suggest the right time for using fertilizers.


4. SYSTEM STUDY

FEASIBILITY STUDY

The feasibility of the project is analyzed in this phase and business

proposal is put forth with a very general plan for the project and some

cost estimates. During system analysis the feasibility study of the

proposed system is to be carried out. This is to ensure that the proposed

system is not a burden to the company. For feasibility analysis, some

understanding of the major requirements for the system is essential.

Three key considerations involved in the feasibility analysis are

 ECONOMICAL FEASIBILITY

 TECHNICAL FEASIBILITY

 SOCIAL FEASIBI
ECONOMICAL FEASIBILITY

This study is carried out to check the economic impact that the system

will have on the organization. The amount of fund that the company can

pour into the research and development of the system is limited. Thus

the developed system as well within the budget and this was achieved

because most of the technologies used are freely available. Only the

customized products had to be purchased.

TECHNICAL FEASIBILITY

This study is carried out to check the technical feasibility, that is, the

technical requirements of the system. Any system developed must not

have a high demand on the available technical resources. This will lead

to high demands being placed on the client. The developed system must

have a modest requirement, as only minimal or null changes are

required for implementing this system.

SOCIAL FEASIBILITY

The aspect of study is to check the level of acceptance of the system by

the user. This includes the process of training the user to use the system

efficiently. The user must not feel threatened by the system, instead

must accept it as a necessity. The level of acceptance by the users

solely depends on the methods that are employed to educate the user

about the system and to make him familiar with it.


5. FUNCTIONAL REQUIREMENTS

5.1 HARDWARE
REQURIREMENTS:

 Processor - Pentium –IV


 RAM - 4 GB (min)
 Hard Disk - 20 GB
 Key Board - Standard Windows Keyboard
 Mouse - Two or Three Button Mouse
 Monitor - SVGA

5.2 SOFTWARE REQUIREMENTS:

 Operating system - Windows 7 Ultimate.


 Coding Language - Python.
 Front-End - Python.
 Back-End - Django- ORM
 Designing - Html, CSS, JavaScript.
 Data Base - My SQL (WAMP Server).

6. SYSTEM DESIGN

INPUT DESIGN

Input Design plays a vital role in the life cycle of software development,
it requires very careful attention of developers. The input design is to
feed data to the application as accurate as possible. So inputs are
supposed to be designed effectively so that the errors occurring while
feeding are minimized. According to Software Engineering Concepts, the
input forms or screens are designed to provide to have a validation
control over the input limit, range and other related validations.

This system has input screens in almost all the modules. Error messages
are developed to alert the user whenever he commits some mistakes
and guides him in the right way so that invalid entries are not made. Let
us see deeply about this under module design.

Input design is the process of converting the user created input into a
computer-based format. The goal of the input design is to make the data
entry logical and free from errors. The error is in the input are controlled
by the input design. The application has been developed in user-friendly
manner. The forms have been designed in such a way during the
processing the cursor is placed in the position where must be entered.
The user is also provided within an option to select an appropriate input
from various alternatives related to the field in certain cases.

Validations are required for each data entered. Whenever a user enters
an erroneous data, error message is displayed and the user can move on
to the subsequent pages after completing all the entries in the current
page.

OUTPUT DESIGN

The Output from the computer is required to mainly create an efficient


method of communication within the company primarily among the
project leader and his team members, in other words, the administrator
and the clients. The output of VPN is the system which allows the project
leader to manage his clients in terms of creating new clients and
assigning new projects to them, maintaining a record of the project
validity and providing folder level access to each client on the user side
depending on the projects allotted to him. After completion of a project,
a new project may be assigned to the client. User authentication
procedures are maintained at the initial stages itself. A new user may be
created by the administrator himself or a user can himself register as
the administrator only.

The application starts running when it is executed for the first time. The
server has to be started and then the internet explorer in used as the
browser. The project will run on the local area network so the server
machine will serve as the administrator while the other connected
systems can act as the clients. The developed system is highly user
friendly and can be easily understood by anyone using it even for the
first time.

6.1 SYSTEM ARCHITECTURE


REGISTER AND LOGIN,

PREDICT CROP YIELD AND PRODUCTION,

PREDICT CROP RECOMMENDATION,

VIEW YOUR PROFILE.

6.2 FLOWCHART: REMOTE USER


6.3 FLOWCHART : ADMIN
6.4 UML DIAGRAMS

6.4.1 USE CASE DIAGRAM


6.4.2 SEQUENCE DIAGRAM
6.4.3 CLASS DIAGRAM
6.4.4 DATAFLOW DIAGRAM
7. MODULES
Service Provider
In this module, the Service Provider has to login by using valid
user name and password. After login successful he can do some
operations such as Browse Agriculture Data Sets and Train & Test,
View Trained and Tested Accuracy in Bar Chart, View Trained and
Tested Accuracy Results, View All Crop Yield and Production
Prediction, View All Crop Recommendations, Download Predicted
Data Sets, View All Remote Users, View Crop Yield Prediction Per
Acre Results.

View and Authorize Users

In this module, the admin can view the list of users who all
registered. In this, the admin can view the user’s details such as,
user name, email, address and admin authorizes the users.

Remote User
In this module, there are n numbers of users are present. User
should register before doing any operations. Once user registers,
their details will be stored to the database. After registration
successful, he has to login by using authorized user name and
password. Once Login is successful user will do some operations
like PREDICT CROP YIELD AND PRODUCTION, PREDICT CROP
RECOMMENDATION, VIEW YOUR PROFILE.

8. IMPLEMENTATION
8.1 ABOUT PYTHON
Python is a high-level, interpreted, interactive and object-oriented
scripting language. Python is designed to be highly readable. It uses
English keywords frequently where as other languages use punctuation,
and it has fewer syntactical constructions than other languages.

 Python is Interpreted: Python is processed at runtime by the


interpreter. You do not need to compile your program before
executing it. This is similar to PERL and PHP.
 Python is Interactive: You can actually sit at a Python prompt
and interact with the interpreter directly to write your programs.
 Python is Object-Oriented: Python supports Object-Oriented
style or technique of programming that encapsulates code within
objects.
 Python is a Beginner's Language: Python is a great language
for the beginner-level programmers and supports the
development of a wide range of applications from simple text
processing to WWW browsers to games.

History of Python
Python was developed by Guido Van Rossum in the late eighties and
early nineties at the National Research Institute for Mathematics and
Computer Science in the Netherlands.

Python is derived from many other languages, including ABC, Modula-3,


C, C++, Algol-68, SmallTalk, and Unix shell and other scripting
languages.

Python is copyrighted. Like Perl, Python source code is now available


under the GNU General Public License (GPL).
Python is now maintained by a core development team at the institute,
although Guido van Rossum still holds a vital role in directing its
progress.

Python Features
Python's features include:

 Easy-to-learn: Python has few keywords, simple structure, and a


clearly defined syntax. This allows the student to pick up the
language quickly.
 Easy-to-read: Python code is more clearly defined and visible to
the eyes.
 Easy-to-maintain: Python's source code is fairly easy-to-
maintain.
 A broad standard library: Python's bulk of the library is very
portable and cross-platform compatible on UNIX, Windows, and
Macintosh.
 Extendable: You can add low-level modules to the Python
interpreter. These modules enable programmers to add to or
customize their tools to be more efficient.
 Databases: Python provides interfaces to all major commercial
databases.
 GUI Programming: Python supports GUI applications that can be
created and ported to many system calls, libraries and windows
systems, such as Windows MFC, Macintosh, and the X Window
system of Unix.

9. SOURCE CODE
1.CROP RECOMMENDER.PY
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import re
from sklearn.ensemble import VotingClassifier
import warnings
warnings.filterwarnings("ignore")
plt.style.use('ggplot')
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.metrics import accuracy_score, confusion_matrix,
classification_report
from sklearn.metrics import accuracy_score
from sklearn.metrics import f1_score

df = pd.read_csv('crop_production.csv')

df
df.columns
df.rename(columns={'production': 'production', 'cseason': 'cseason'},
inplace=True)

sum_maxp = df["production"].sum()
df["percent_of_production"] = df["production"].map(lambda
x:(x/sum_maxp)*100)

def apply_results(prod):
if (float(prod) <= 3):
return 0 # Not Recommended
elif (float(prod) >= 3):
return 1 # Recommended

df['label'] = df['percent_of_production'].apply(apply_results)
# df.drop(['label'], axis=1, inplace=True)
results = df['label'].value_counts()

cv = CountVectorizer()
X = df['cseason']
y = df['label']

X = cv.fit_transform(X)

from sklearn.model_selection import train_test_split


X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20)
X_train.shape, X_test.shape, y_train.shape

print("Naive Bayes")

from sklearn.naive_bayes import MultinomialNB


NB = MultinomialNB()
NB.fit(X_train, y_train)
predict_nb = NB.predict(X_test)
naivebayes = accuracy_score(y_test, predict_nb) * 100
print(naivebayes)
print(confusion_matrix(y_test, predict_nb))
print(classification_report(y_test, predict_nb))

# SVM Model
print("SVM")
from sklearn import svm
lin_clf = svm.LinearSVC()
lin_clf.fit(X_train, y_train)
predict_svm = lin_clf.predict(X_test)
svm_acc = accuracy_score(y_test, predict_svm) * 100
print(svm_acc)
print("CLASSIFICATION REPORT")
print(classification_report(y_test, predict_svm))
print("CONFUSION MATRIX")
print(confusion_matrix(y_test, predict_svm))

Labeled_Data = 'Labeled_Data.csv'

df.to_csv(Labeled_Data, index=False)
df.to_markdown
2.MANAGE.PY

#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys
def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE',
'crop_recommender_system.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)
if __name__ == '__main__':
main()
10. SCREENSHOTS
11. SYSTEM TESTING

The purpose of testing is to discover errors. Testing is the process of


trying to discover every conceivable fault or weakness in a work product.
It provides a way to check the functionality of components, sub
assemblies, assemblies and/or a finished product It is the process of
exercising software with the intent of ensuring that the

Software system meets its requirements and user expectations and does
not fail in an unacceptable manner. There are various types of test. Each
test type addresses a specific testing requirement.

TYPES OF TESTS

Unit Testing
Unit testing involves the design of test cases that validate that the
internal program logic is functioning properly, and that program inputs
produce valid outputs. All decision branches and internal code flow
should be validated. It is the testing of individual software units of the
application .it is done after the completion of an individual unit before
integration. This is a structural testing, that relies on knowledge of its
construction and is invasive. Unit tests perform basic tests at component
level and test a specific business process, application, and/or system
configuration. Unit tests ensure that each unique path of a business
process performs accurately to the documented specifications and
contains clearly defined inputs and expected results.
Integration Testing
Integration tests are designed to test integrated software components to
determine if they actually run as one program. Testing is event driven
and is more concerned with the basic outcome of screens or fields.
Integration tests demonstrate that although the components were
individually satisfaction, as shown by successfully unit testing, the
combination of components is correct and consistent. Integration testing
is specifically aimed at exposing the problems that arise from the
combination of components.

Functional test
Functional tests provide systematic demonstrations that functions
tested are available as specified by the business and technical
requirements, system documentation, and user manuals.
Functional testing is centered on the following items:

Valid Input : identified classes of valid input must be accepted.

Invalid Input : identified classes of invalid input must be rejected.

Functions : identified functions must be exercised.

Output : identified classes of application outputs must be


exercised

Systems/Procedures: interfacing systems or procedures must be


invoked.

Organization and preparation of functional tests is focused on


requirements, key functions, or special test cases. In addition,
systematic coverage pertaining to identify Business process flows; data
fields, predefined processes, and successive processes must be
considered for testing. Before functional testing is complete, additional
tests are identified and the effective value of current tests is
determined.

System Test
System testing ensures that the entire integrated software system
meets requirements. It tests a configuration to ensure known and
predictable results. An example of system testing is the configuration
oriented system integration test. System testing is based on process
descriptions and flows, emphasizing pre-driven process links and
integration points.

White Box Testing


White Box Testing is a testing in which in which the software tester has
knowledge of the inner workings, structure and language of the
software, or at least its purpose. It is purpose. It is used to test areas
that cannot be reached from a black box level.

Black Box Testing


Black Box Testing is testing the software without any knowledge of the
inner workings, structure or language of the module being tested. Black
box tests, as most other kinds of tests, must be written from a definitive
source document, such as specification or requirements document, such
as specification or requirements document. It is a testing in which the
software under test is treated, as a black box .you cannot “see” into it.
The test provides inputs and responds to outputs without considering
how the software works.
12. CONCLUSION

This paper highlighted the limitations of current systems and their


practical usage on yield prediction. Then walks through a viable yield
prediction system to the farmers, a proposed system provides
connectivity to farmers via a mobile application. The mobile application
includes multiple features that users can leverage for the selection of a
crop. The inbuilt predictor system helps the farmers to predict the yield
of a given crop. The inbuilt recommender system allows a user
exploration of the possible crops and their yield to take more educated
decisions. For yield to accuracy, various machine learning algorithms
such as Random Forest, ANN, SVM, MLR, and KNN were implemented
and tested on the given datasets from the Maharashtra and Karnataka
states. The various algorithms are compared with their accuracy. The
results obtained indicate that Random Forest Regression is the best
among the set of standard algorithms used on the given datasets with
an accuracy of 95%. The proposed model also explored the timing of
applying fertilizers and recommends appropriate duration.
The future work will be focused on updating the datasets from time to
time to produce accurate predictions, and the processes can be
automated. Another functionality to be implemented is to provide the
correct type of fertilizer for the 1070given crop and location. To
implement this thorough study of available fertilizers and their
relationship with soil and climate needs to be done. An analysis of
available statistical data needs to be done.
13. REFERENCES

[1] Uma maheswari S, Sreeram S, Kritika N, Prasanth DJ, “BIoT:


Blockchain-based IoT for Agriculture”, 11th International Conference
on Advanced Computing (ICoAC), 2019 Dec 18 (pp. 324-327). IEEE.
[2] Jain A. “Analysis of growth and instability in the area, production,
yield,
and price of rice in India”, Journal of Social Change and Development,
2018;2:46-66
[3] Manjula E, Djodiltachoumy S, “A model for prediction of crop yield”
International Journal of Computational Intelligence and Informatics,
2017 Mar;6(4):2349-6363.
[4] Sagar BM, Cauvery NK., “Agriculture Data Analytics in Crop Yield
Estimation: A Critical Review”, Indonesian Journal of Electrical
Engineering and Computer Science, 2018 Dec;12(3):1087-93.
[5] Wolfert S, Ge L, Verdouw C, Bogaardt MJ, “Big data in smart farming–
a review. Agricultural Systems”, 2017 May 1;153:69-80.
[6] Jones JW, Antle JM, Basso B, Boote KJ, Conant RT, Foster I, Godfray
HC, Herrero M, Howitt RE, Janssen S, Keating BA, “Toward a new
generation of agricultural system data, models, and knowledge
products:
State of agricultural systems science. Agricultural systems”, 2017 Jul
1;155:269-88.
[7] Johnson LK, Bloom JD, Dunning RD, Gunter CC, Boyette MD,
Creamer NG, “Farmer harvest decisions and vegetable loss in primary
production. Agricultural Systems”, 2019 Nov 1;176:102672.
[8] Kumar R, Singh MP, Kumar P, Singh JP, “Crop Selection Method to
maximize crop yield rate using a machine learning technique”,
International conference on smart technologies and management for
computing, communication, controls, energy, and materials (ICSTM),
2015 May 6 (pp. 138-145). IEEE.
[9] Sriram Rakshith.K, Dr.Deepak.G, Rajesh M, Sudharshan K S, Vasanth
S, Harish Kumar N, “A Survey on Crop Prediction using Machine
Learning Approach”, In International Journal for Research in Applied
Science & Engineering Technology (IJRASET), April 2019, pp( 3231-
3234)
[10] Veenadhari S, Misra B, Singh CD, “Machine learning approach for
forecasting crop yield based on climatic parameters”, In 2014
International Conference on Computer Communication and Informatics,
2014 Jan 3 (pp. 1-5). IEEE.
[11] Ghadge R, Kulkarni J, More P, Nene S, Priya RL, “Prediction of crop
yield using machine learning”, Int. Res. J. Eng. Technol. (IRJET), 2018
Feb;5.
[12] Priya P, Muthaiah U, Balamurugan M, “Predicting yield of the crop
using machine learning algorithm”, International Journal of Engineering
Sciences & Research Technology, 2018 Apr;7(1):1-7.
[13] S. Pavani, Augusta Sophy Beulet P., “Heuristic Prediction of Crop
Yield
Using Machine Learning Technique”, International Journal of
Engineering and Advanced Technology (IJEAT), December 2019, pp
(135-138)
[14] https://web.dev/progressive-web-apps/
[15‘https://www.wikipedia.org
[16] Plewis I, “Analyzing Indian farmer suicide rates”, Proceedings of the
National Academy of Sciences, 2018 Jan 9;115(2): E117.
[17] Nishant, Potnuru Sai, Pinapa Sai Venkat, Bollu Lakshmi Avinash, and
B. Jabber. "Crop Yield Prediction based on Indian Agriculture using
Machine Learning." In 2020 International Conference for Emerging
Technology (INCET), pp. 1-4. IEEE, 2020.
[18] Kale, Shivani S., and Preeti S. Patil. "A Machine Learning Approach
to
Predict Crop Yield and Success Rate." In 2019 IEEE Pune Section
International Conference (PuneCon), pp. 1-5. IEEE, 2019.
[19] Kumar, Y. Jeevan Nagendra, V. Spandana, V. S. Vaishnavi, K. Neha,
and V. G. R. R. Devi. "Supervised Machine learning Approach for Crop
Yield Prediction in Agriculture Sector." In 2020 5th International
Conference on Communication and Electronics Systems (ICCES), pp.
736-741. IEEE, 2020.
[20] Nigam, Aruvansh, Saksham Garg, Archit Agrawal, and Parul
Agrawal.
"Crop yield prediction using machine learning algorithms." In 2019
Fifth International Conference on Image Information Processing (ICIIP),
pp. 125-130. IEEE, 2019.
[21] Bang, Shivam, Rajat Bishnoi, Ankit Singh Chauhan, Akshay Kumar
Dixit, and Indu Chawla. "Fuzzy logic based crop yield prediction using
temperature and rainfall parameters predicted through ARMA,
SARIMA, and ARMAX models." In 2019 Twelfth International
Conference on Contemporary Computing (IC3), pp. 1-6. IEEE, 2019.

You might also like