A Project Report On Crop Propound System
A Project Report On Crop Propound System
A Project Report On Crop Propound System
degree of
BACHELOR OF TECHNOLOGY
In
COMPUTER SCIENCE AND ENGINEERING
Submitted by
B.DIVYA BHARATHI 18KA1A0533
S.NAFEERA 18KA1A0512
N.REVATHI 18KA1A0517
P.ASWANI 19KA5A0503
G.THAPASWINI, M.Tech.
Department of CSE
2018-2022
i
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY ANANTAPUR
COLLEGE OF ENGINEERING, KALIKIRI
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
CERTIFICATE
This is to certify that the project report entitled “CROP PROPOUND SYSTEM” that is
submitted by
B.DIVYA BHARATHI 18KA1A0533
S.NAFEERA 18KA1A0512
N.REVATHI 18KA1A0517
P.ASWANI 19KA5A0503
in partial fulfilment of the requirements for the award of degree of Bachelor of Technology (B. Tech)
in Computer Science and Engineering (CSE) from Jawaharlal Nehru Technological University
Anantapur College of Engineering, Kalikiri during the academic year 2018-2022.
ii
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY ANANTAPUR
COLLEGE OF ENGINEERING, KALIKIRI
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
DECLARATION
iii
ACKNOWLEDGEMENTS
An endeavor over a long period can be successful only with the advice and support of
many well-wishers. The task would be incomplete without mentioning the people who have
made it possible, because is the epitome of hard work. So, with gratitude, we acknowledge all
those whose guidance and encouragement owned our efforts with success.
We are thankful to Dr.S.VENKATA SATYANARAYANA, M.Tech., Ph.D., Principal
JNTUACE, Kalikiri for his kind and timely help offered to us in the projection of our studies and
execution.
We are very much obliged to our beloved Dr.SHAIK NASEERA, M.Tech., Ph.D., HOD
and Professor, Department of Computer Science & Engineering, JNTUACE, Kalikiri for the
moral support and invaluable advice provided here for the success of the project.
We wish to express grateful acknowledgment to our guide G.THAPASWINI, M.Tech,
Assistant Professor (Adhoc), Department of Computer Science & Engineering, JNTUACE,
Kalikiri for her inspiring guidance and continuous encouragement throughout the project.
Finally, we would like to extend our deep sense of gratitude to all the staff members, and
friends, and last but not least we are greatly indebted to our parents who inspired us under at all
circumstances.
PROJECT ASSOCIATES
Agriculture plays a vital role in the socio-economic fabric of India. Failure of farmers to decide
on the best-suited crop for the land using traditional and non-scientific methods is a serious issue for a
country where approximately 58 percent of the population is involved in farming.
iv
Sometimes farmers failed to choose the right crops based on the soil conditions, sowing season,
and geographical location. This results in suicide, quitting the agriculture field, and moving towards
v
CONTENTS
ACKNOWLEDGEMENT………………………………………………………………………
iv
ABSTRACT..................................................................................................................................v
LIST OF FIGURES..................................................................................................................viii
LIST OF
ABBREVIATION…………………………………………………………………….ix
Chapter1
INTRODUCTION…………………………………………………………………...01
Chapter 2 LITERATURE
SURVEY…………………………………………………………..02
2.1 RESEARCH ON CROP PROPOUND
SYSTEM…………………………………....02
Chapter 3 PROBLEM
IDENTIFICATION…………………………………………………...06
3.1 EXISTING
SYSTEM……………………………………………………………….06
3.1.1 DISADVANTAGES OF EXISTING
SYSTEM………………………………..06
3.2 PROPOSED SYSTEM………………………………………………………………06
vi
Chapter 4 SYSTEM
DESIGN………………………………………………………………….11
4.1 DESCRIPTION……………………………………………………………………….11
4.2 UML DIAGRAMS…………………………………………………………………...12
4.2.1 CLASS
DIAGRAM…………………………………………………………….12
4.2.2 USECASE
DIAGRAM……………………………………………………….13
4.2.3 SEQUENCE
DIAGRAM……………………………………………………..15
4.2.4 COMPONENT DIAGRAM……………………………………………………
16
4.2.5 DEPLOYMENT
DIAGRAM……………………………………………….......17
Chapter 5
IMPLEMENTATION……………………………………………………………..18
5.1
MODULE…………………………………………………………………………...18
5.2 TECHNOLOGIES
USED…………………………………………………………..19
5.2.1 PYTHON…………………………………………………………………19
5.2.2 FLASK…………………………………………………………………...26
viii
LIST OF FIGURES
ix
LIST OF ABBREVIATIONS
x
xi
xii
CROP PROPOUND SYSTEM
CHAPTER-1
INTRODUCTION
Agriculture is one of the ancient businesses. Agriculture suffers due to various factors such as
climatic change, unpredictable rainfall, pollution, lack of manpower, etc. Due to high population growth
create a great demand for agriculture products. To feed the world population, it is necessary to increase
agriculture production. To increase agriculture production, researchers utilizing various technologies
such as sensor networks , image processing, remote sensing, machine learning, etc. Machine learning is
a fast-growing technique, which makes machines are intelligent also machines able to work without any
instructions. The machine learning techniques are applied in various applications such as health care,
smart cities, health care, automobile, etc. Now a day’s various machine learning algorithms are used in
agriculture to solve various issues. In this paper, we studied applications of machine learning in
agriculture field. The machine learning algorithms are used in various real-world agricultural
applications; we classified these applications as machine learning in-plant monitoring, machine learning
in soil analysis, machine learning in detection (or) prediction process in agriculture, machine learning in
animal monitoring. The various agricultural applications of machine learning techniques are discussed.
In this project, I present a website in which the following application is implemented Crop propound system.
o In the crop propound application, the user can provide the soil data from their side and the
application will predict which crop should the user grow.
Zhao, Yi, Noemi Vergopolan, Kathy Baylis, Jordan Blekking, Kelly Caylor, Tom Evans, Stacey
Giroux, Justin Sheffield, and Lyndon Estes. "Comparing empirical and survey-based yield forecasts in a
dryland agro-ecosystem."
In [1] paper investigates the author discuss about Zambia’s Crop Forecast Survey (CFS) and its
limitations. In this proposed method at the end of season harvest the data is collected. The data about
crop yield and area of production is collected from the actual harvest from households in real time.
Using this data, a forecast model for yield is developed using Extreme Gradient Boost. To test the
accuracy values RMSE is used. From results it is found that CFS accuracy is less compared to gradient
boost.
Khaki, Saeed, and Lizhi Wang. "Crop yield prediction using deep neural networks."
In [2] this paper, the corn yield prediction is made using deep neural network model from
environment and genotype data. The dataset consist of 148,452 samples for training. Yield performance
is calculated using yield and check yield using deep neural networks. Neural network in his paper is
also used for weather prediction. The model accuracy is tested using RMSE 11 % error for single
hidden layer with 300 hidden neurons.
Y. Weng, X. Wang, J. Hua, H. Wang, M. Kang and F. Wang, "Forecasting Horticultural Products
Price Using ARIMA Model and Neural Network Based on a Large-Scale Data Set Collected by Web
Crawler,"
In [3] The paper compares the accuracy in forecasting the price of agricultural products using
Auto ARIM A model and back propagation (BP) network method. A web crawler technology is also
used to get prediction of price for the crop commodities. . The data is collected about the cucumber
crop. The data obtained is normalized in order to scale it down to (0, 1) range. The dataset is consist of
linear data on which ARIMA algorithm is applied for forecasting. The ARIMA model does not consider
the rapid changes in the prize of the crop that arises due to instability in seasons. In order to consider
such changes BP network model is applied to the data. BP network model contains set of input, hidden
and output layers. The number of output layers is increased in order to check whether the price
prediction for long- term is accurate or not RNN model used to process sequential data is applied on the
normalized data to obtain the price. The results show that the foresting for monthly, weekly and daily
price of crop ARIMA does well if it is for the short term but accuracy is not proper the for long term.
So, BP neural network is used for such issue which gives high accuracy.
Verma, Akanksha, Aman Jatain, and Shalini Bajaj. "Crop Yield Prediction of Wheat Using Fuzzy
C Means Clustering and Neural Network. "
In [4] Agribusiness is the foundation of the Indian economy. The agrarian yield is fundamentally
relies upon climate conditions like temperature, rainfall, biomass. The agriculturists essentially require
an advantageous incite to anticipate the future yield profitability and an investigation to help the
farmer’s to enlarge harvest creation in their products. Despite the fact that a great deal of research has
been led for building up the choice emotionally supportive network for agriculturists, the greater part of
the examination center around the harvest administration, edit illness administration and product yield
estimating. The agriculturist's harvest determination at the prior stage is a standout amongst the most
critical components since proper product choice at the prior stage will help ranchers to enhance edit
administration and product yield. The results of Fuzzy C-Means is used for implementation which is
using clustering method. It gives less error rate in terms of degree of membership means which data
points have higher probability or how much similarity is there in between the data points.
N. Gandhi, O. Petkar and L. J. Armstrong, "Rice crop yield prediction using artificial neural
networks,"
In [5] the study was done for Maharashtra zone for wheat, rice, jowar, bajra, pulses the main aim
was to achieve increased crop yield. The dataset parameters include min and max temperature,
evapotranspiration, area under production, crop yield for previous years. Artificial neural network is
used for prediction with multilayer perceptron. For the analysis of dataset Weka tool is used and
confusion matrix was generated using multilayer perceptron. The three-layer feed forward network is
used for training the dataset and authors could achieve the accuracy of 97.54% An ANN with 10 fold
cross validation function is used for subset of dataset. For training and testing the linear data linear
regression is used and for nonlinear data ANN is used. The accuracy of the model is obtained using
RMSE, RAE.
Noureen, S. Atique, V. Roy and S. Bayne, "Analysis and application of seasonal ARIMA model in
Energy Demand Forecasting: A case study of small-scale agricultural load,"
In [7] In this paper, price forecasting for Mysore district is done. As farmers are not getting the
expected price to improve this problem price forecasting is done using ANN with feed forward back
propagation scheme. The attributes include pressure, temperature, soil type, humidity, seed variety.
MSE is used to evaluate the accuracy of the model. The proposed model is compared with decision tree,
genetic algorithm. The accuracy with proposed model is high.
Mohan, Pushpa, and Kiran Kumari Patil. "Deep Learning Based Weighted SOM to Forecast
Weather and Crop Prediction for Agriculture Application. "
In [8] the proposed method mainly aims at creating a system which uses the new generation high
computing technologies for detection of plant diseases. By using the fast GPU’s and embedded
processors we can considerably increase the accuracy and the rate of output results in image
classification. Also, by making this image classification available locally on mobile phones, it will be
very useful for farmers. The main method the paper focuses on is using the CNN with ‘n’ number of
hidden layers, which would normally take days to train, and then training it on the new faster processors
and CPU’s. We are also able to observe that the model does considerably better than using other
conventional methods.
Konstantinos P. Ferentinos, “Deep Learning Models for Plant Disease Detection and Diagnosis”
In [9] the proposes a deep learning technique using a java algorithm for classification of paddy
leaf diseases, which uses a feedback loop system in the post processing step. The main methodology
mainly includes five steps-Image acquisition, Pre-processing, Segmentation, Feature Extraction and
Classification. And the feedback loop system takes the values from the classification back to the
Segmentation unit. The Segmentation is based on k-means clustering. This gives an enhanced deep
learning method where the error is reduced considerably. The method is formally called the DNN_JOA
method of image classification.
S. Ramesh, D. Vydeki, “Recognition and Classification of Paddy Leaf Diseases using Optimized
Deep Neural Network with Jaya Algorithm”
In [10] it proposes a method of 10-fold cross validation method strategy which will give a
higher accurate output then one with the straightforward CNN with 10 or more hidden layers. This also
saves computational time and memory to save the ‘n’ weights achieved from training the image data.
They use the standard BP-algorithm and then a SVM and then to finally decrease the SME by using the
particle swarm optimization (PSO). CNN can be designed using Alex NET or Google NET or the
standard libraries in Python like TensorFlow and Keras or in MATLAB or Simulink.
Yang Lu, Shujuan Yi, Nianyin Zeng, Yurong Liu, Yong Zhang, “Identification of Rice Diseases using
Deep Convolutional Neural Networks”
In [11] K-Means Clustering method is used for the segmentation of pomegranate leaf disease.
The image of the leaf is segmented using K-Means Clustering method. The dataset is a mixture of
different healthy and unhealthy images of leaves. The image data is first preprocessed and then
segmented into three sub-images each containing different features. The diseased leaves are detected
after this step. Image processing and segmentation of images into three sub-images each makes it easy
for the detection of diseases associated with it. The process used in this paper does not provide a great
accuracy rate. The sub-images obtained after segmentation are not clear enough to help detect diseases.
Arda Aydin, An l ay, Burak Polat, “Image Analysis Applications in Plant Growth and Health
Assessment”
In [12] potato leaf diseases detection and classification are based on neural networks and make
use K-Means Clustering for segmentation. Various leaves of healthy and unhealthy types are used as the
dataset. Algorithms are developed to extract more than 24 features. The gray level co-occurrence matrix
(GLCM) is used to extract texture features. To identify whether the leaf is diseased or not and to
classify the diseases a back propagation neural network (BPNN)- based classifier is made use of. The
features are used to train the network which is hence used to detect and classify the leaf samples. The
classification has an accuracy of more than 92%. This method is quick, automatic and accurate for leaf
disease detection and classification.
T. N. Shaikh, Dr. S.M. Mukane, “Segmentation of Pomegranate Leaf for Detection of Disease
Using Image Processing”
In [13] proposes a method for the detection of diseases in cotton crop leaves. The image data is
preprocessed, segmentation is carried out using thresholding method which takes RGB input image
resulting from KMeans Clustering method. Pixels values of red, green and blue bands are read
separately.
Feature extraction makes use of GLCM methodology.
Girish Athanikar, Priti Badar, “Potato Leaf Diseases Detection and Classification System
In [14] The diseased portion of the plants are identified clearly in the green band in the thresholding
method. Using this method, only the region of interest (diseased area) can be extracted.
Diseases can be classified using Euclidean classifier.
CHAPTER- 3
PROBLEM IDENTIFICATION
System analysis is the act, process and profession of studying an activity typically by
mathematical means in order define its goals purpose and to discover operations and procedures
for accomplishing them most efficient.
• The previous existing techniques gives low accuracies and also lacks the robustness because of
higher computational time.
• This system describes a model that applies Precision Agriculture (PA) principles to small, open
farms at the individual farmer and crop level, to affect a degree of control over variability.
• The comprehensive objective of the model is to deliver direct advisory services to even the
smallest farmer at the level of his/her smallest plot of crop.
➢ The main challenge faced in the agriculture sector is the lack of knowledge about the
changing variations in climate. Each crop has its own suitable climatic features this can be
handled with precision farming techniques. ➢ The existing system is costly to maintain, or not
easily accessible.
➢ Despite many solutions that have been recently proposed, there are still open challenges in
creating a user-friendly application with respect to crop recommendations.
• The proposed system is implemented using machine learning which is one of the applications of
Artificial Intelligence that allows the systems to learn and evolve automatically without explicitly
programmed by a programmer.
• Many researchers are researching this field to assist the farmers in the crop selection.
• In the proposed system the environmental parameters are being considered to recommend a suitable
crop to the user.
• Machine learning algorithms were implemented to prevent the impacts from the water stress in
plants and have given a set of decision rules used in plant’s state prediction.
➢ With proposed system we can easily predict the best suitable crop.
➢ The cost involved in maintaining the proposed system is less.
➢ Suggesting the best suitable crop results in increasing the crop yield rate.
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 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. The expenditures must be justified. 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.
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 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.
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. His
level of confidence must be raised so that he is also able to make some constructive criticism, which is
welcomed, as he is the final user of the system.
3.4 REQUIREMENTS
All computer software needs certain hardware components or other software resources to be
present on a computer. These prerequisites are known as (computer) system requirements and are
often used as a guideline as opposed to an absolute rule. Most software defines two sets of system
requirements: minimum and recommended. With increasing demand for higher processing power and
resources in newer versions of software, system requirements tend to increase over time. Industry
analysts suggest that this trend plays a bigger part in driving upgrades to existing computer systems
than technological advancements. A second meaning of the term of System requirements is a
generalization of this first definition, giving the requirements to be met in the design of a system or
sub-system.
HARDWARE REQUIREMENTS:
• Processor - P–IV
• RAM - 4 GB (min)
• Hard Disk - 40 GB
• Key Board - Standard Windows Keyboard
• Mouse - Two or Three Button Mouse
• Monitor - SVGA 21
SOFTWARE REQUIREMENTS:
• Front-End : Python.
• Back-End : Flask
This chapter provides information of software development life cycle, design model i.e.
various UML diagrams and process specification.
4.1 DESCRIPTION
Systems design is the process or art of defining the architecture, components, modules,
interfaces, and data for a system to satisfy specified requirements. One could see it as the
application of systems theory to product development. There is some overlap and synergy with
the disciplines of systems analysis, systems architecture and systems engineering.
The System Design Document describes the system requirements, operating environment,
system and subsystem architecture, files and database design, input formats, output layouts,
human-machine interfaces, detailed design, processing logic, and external interfaces.
This design activity describes the system in narrative form using non-technical terms. It
should provide a high-level system architecture diagram showing a subsystem breakout of the
system, if applicable. The high-level system architecture or subsystem diagrams should, if
applicable, show interfaces to external systems. Supply a high-level context diagram for the
system and subsystems, if applicable. Refer to the requirements trace ability matrix (RTM) in the
Functional Requirements Document (FRD), to identify the allocation of the functional
requirements into this design document.
This section describes any constraints in the system design (reference any trade-off analyses
conducted such, as resource use versus productivity, or conflicts with other systems) and includes
any assumptions made by the project team in developing the system design.
This section describes any contingencies that might arise in the design of the system that may
change the development direction. Possibilities include lack of interface agreements with outside
agencies or unstable architectures at the time this document is produced. Address any possible
workarounds or alternative plans.
This section provides the organization code and title of the key points of contact (and
alternates if appropriate) for the information system development effort. These points of contact
should include the Project Manager, System Proponent, User Organization, Quality Assurance
(QA) Manager, Security Manager, and Configuration Manager, as appropriate. This section
describes the organization of the Systems Design Document.
contain other documentation such as use cases written as templated texts. The kind of the diagram
is defined by the primary graphical symbols shown on the diagram. For example, a diagram where
the primary symbols in the contents area are classes is class diagram. A diagram which shows use
cases and actors is use case diagram. A sequence diagram shows sequence of message exchanges
between lifelines. UML specification does not preclude mixing of different kinds of diagrams, e.g.
to combine structural and behavioral elements to show a state machine nested inside a use case.
Consequently, the boundaries between the various kinds of diagrams are not strictly enforced. At
the same time, some UML Tools do restrict set of available graphical elements which could be
used when working on specific type of diagram. UML specification defines two major kinds of
UML diagram: structure diagrams and behavior diagrams. Structure diagrams show the static
structure of the system and its parts on different abstraction and implementation levels and how
they are related to each other. The elements in a structure diagram represent the meaningful
concepts of a system, and may include abstract, real world and implementation concepts. Behavior
diagrams show the dynamic behavior of the objects in a system, which can be described as a series
of changes to the system over time.
A Class diagram gives an overview of a system by showing its classes and the
relationships among them. Class diagrams are static they display what interacts but not what
happens when they do interact. The class chart delineates the attributes and operations of a class
moreover the goals constrained on the structure.
The class frameworks are extensively used as a piece of the showing of article arranged
structures in light of the way that they are the primary UML diagrams which can be mapped
direct with thing orchestrated vernaculars. The class graph shows a collection of classes,
interfaces, affiliations, joint endeavors and confinements. It is generally called an assistant layout.
User System
Machine_learning()
Nitrogen()
Analysis()
Methods Phosphorous() Methods
Send_report()
Potassium()
Ph level()
Rainfall()
Members Username
Use case diagrams model behavior within a system and helps the developers understand of
what the user require.
Use case diagram can be useful for getting an overall view of the system and clarifying who
can do and more importantly what they can’t do.
Use case diagram consists of use cases and actors and shows the interaction between the use
case and actors.
• The purpose is to show the interactions between the use case and actor.
• To represent the system requirements from user’s perspective.
• An actor could be the end-user of the system or an external system.
Figure 4.2.3 represents a sequence of actions that can be performing in step by step manner.
The sequence diagram has four lines as admin, placement officer, student and guest user and their
actions in a sequence.
A component diagram is used to break down a large object-oriented system into the smaller
components, so as to make them more manageable. It models the physical view of a system such as
executables, files, libraries, etc. that resides within the node.
It visualizes the relationships as well as the organization between the components present in the
system. It helps in forming an executable system. A component is a single unit of the system, which is
replaceable and executable. The implementation details of a component are hidden, and it necessitates an
interface to execute a function. It is like a black box whose behavior is explained by the provided and
required interfaces.
The deployment diagram visualizes the physical hardware on which the software will be deployed.
It portrays the static deployment view of a system. It involves the nodes and their relationships.
It ascertains how software is deployed on the hardware. It maps the software architecture created in
design to the physical system architecture, where the software will be executed as a node. Since it involves
many nodes, the relationship is shown by utilizing communication paths.
CHAPTER 5 IMPLEMENTATION
the implementation. This includes requirement analysis scope analysis, customization, system
integrations, user policies, and user training. [3] An effort was made to satisfy the following goals in
order:
▪ Thorough phased implementation has been done so that we can use our proposed system
correctly.
5.1 MODULES
released in 2000, introduced features like list comprehensions and a garbage collection system capable
of collecting reference cycles. Python 3.0, released in 2008, was a major revision of the language that is
not completely backward-compatible, and much Python 2 code does not run unmodified on Python 3.
The Python 2 language, i.e. Python 2.7.x, was officially discontinued on 1 January 2020 (first
planned for 2015) after which security patches and other improvements will not be released for it. With
Python 2's end-of-life, only Python 3.5.xand later are supported.
Python interpreters are available for many operating systems. A global community of
programmers develops and maintains CPython, an open sourcereference implementation. A non-profit
organization, the Python Software Foundation, manages and directs resources for Python and CPython
development.
Python do?:
Why Python?
• Python works on different platforms (Windows, Mac, Linux, Raspberry Pi, etc).
• Python has a simple syntax similar to the English language.
• Python has syntax that allows developers to write programs with fewer lines than some other
programming languages.
• Python runs on an interpreter system, meaning that code can be executed as soon as it is written. This
means that prototyping can be very quick.
• Python can be treated in a procedural way, an object-orientated way or a functional way.
• Python was designed for readability, and has some similarities to the English language with influence
from mathematics.
• Python uses new lines to complete a command, as opposed to other programming languages which
often use semicolons or parentheses.
• Python relies on indentation, using whitespace, to define scope; such as the scope of loops, functions
and classes. Other programming languages often use curly-brackets for this purpose.
FEATURES
1. Python is currently the most widely used multi-purpose, high-level programming language.
2. Python allows programming in Object-Oriented and Procedural paradigms.
3. 3.Python programs generally are smaller than other programming languages like Java. Programmers
have to type relatively less and indentation requirement of the language, makes them readable all the
time.
4. Python language is being used by almost all tech-giant companies like – Google, Amazon, Facebook,
Instagram, Dropbox, Uber… etc.
5. The biggest strength of Python is huge collection of standard library which can be used for the
following:
• Machine Learning
• GUI Applications (like Kivy, Tkinter, PyQt etc. )
• Web frameworks like Django (used by YouTube, Instagram, Dropbox)
• Image processing (like OpenCV, Pillow)
• Web scraping (like Scrapy, Beautiful Soup, Selenium)
• Test frameworks
• Multimedia
• Scientific computing
• Text processing
ADVANTAGES OF PYTHON
1. Easy to read, learn and code
Python is a high-level language and its syntax is very simple. It does not need any semicolons or braces and
looks like English. Thus, it is beginner-friendly. Due to its simplicity, its maintenance cost is less.
2. Dynamic Typing
In Python, there is no need for the declaration of variables. The data type of the variable gets assigned
automatically during runtime, facilitating dynamic coding.
It is free and also has an open-source licence. This means the source code is available to the public for
free and one can do modifications to the original code. This modified code can be distributed with no
restrictions.
This is a very useful feature that helps companies or people to modify according to their needs and use their
version.
4. Portable
Python is also platform-independent. That is, if you write the code on one of the Windows, Mac, or Linux
operating systems, then you can run the same code on the other OS with no need for any changes.
This is called Write Once Run Anywhere (WORA). However, you should be careful while you add system
dependent features.
Python comes with a wide range of libraries like NumPy, Pandas, Tkinter, Django, etc.
The python package installer (PIP) helps you install these libraries in your interpreter/ IDLE. These
libraries have different modules/ packages. These modules contain different inbuilt functions and
algorithms. Using these make the coding process easier and makes it look simple.
Python has many applications like web development, making desktop GUIs, app development, artificial
intelligence, data science, etc. It has become a preferred language by the professionals in many areas
like engineering, mathematics and science.
In addition to having libraries like CPython and Jython, it can extend to other languages like C, C++.
This feature helps while building projects.
It can also integrate with C, C++, and Java, helping in cross-platform development and also in using the
strong features of each language. This makes Python a powerful language.
8. Interpreted Language
Python is an interpreted language. The code gets executed line by line till an error is encountered if any.
If an error occurs at a line, it stops execution and gives that error to the console. This leads to an easier
and step-by-step debugging process.
It is a procedural, functional, and object-oriented language. Procedural means the code gets executed in
the top to bottom fashion.
A functional language works based on functions, rather than just statements. A function is a collection
of codes that takes input and gives output.
It is used for implementation in big projects and software like YouTube, Google, Yahoo. It is also a
preferred language by many companies in various fields like education, medical, research, etc.
DISADVANTAGES OF PYTHON
1. It’s Simple Nature
Are you wondering how this feature under advantage also is coming as a disadvantage?
Then the answer is Yes! Its simplicity is making it hard for a programmer to adjust to the syntax of the other
programming languages.
The interpreter in Python executed the code line by line, which increases the overall time. The dynamic
typing feature also decreases the speed. This is because it has to do extra work during runtime. It
requires a large amount of memory too!
3. Weak Mobile Computation
Python has many applications on the server-side. But it is hardly seen on the client-side or in mobile
applications. The main reasons for this are:
Python databases are weak compared to other technologies like JDBC (Java DataBase Connectivity) and
ODBC (Open DataBase Connectivity). This limits its use in high enterprises.
Because it’s a dynamically typed language, you do not need to declare any variable and a variable storing
an integer can store a string later. This might happen unnoticeably but leads to runtime errors while doing
operations.
This is a restriction on the design of the Python programming language. Also, all errors show up only during
runtime. So, it is difficult to test.
▪ It does not allow multithreading. To achieve multithreading in Python, a developer can extend
Python to C extensions, PyPy, JPython, and IronPython.
▪ Besides being a functional programming language, it does not support functional optimization. In
addition, it also falls behind due to a lack of basic features.
APPLICATIONS OF PYTHON
1. Web Development
Python is widely used in web development. It makes use of simple code to build a beautiful and
functional website. It has related libraries and modules like HTTP, XML, JSON, IMAP, POP, FTP, etc.
These help in storage in databases, content management, and interfacing with internet protocols.
It also has frameworks integrated with it like Django, Flask, Pyramid, and Bottle. In addition, Python also
comes with packages like Beautiful Soup, Twisted Python, and Feed parser.
2. Artificial Intelligence and Machine Learning
Many AI and ML models are built using Python. Data analysts use it too. The fundamental cause for this
is the availability of many tools and libraries specific to these applications. Some of them include:
One of the interesting applications of the Python Programming language is to build games like egg catcher,
snake game, etc.
Python comes with packages like Pygame and Pykyra to build awesome games. It facilitates the development
of 3D games with respective libraries. It is also used for scripting in many game engines.
Famous games like Battlefield 2, World of Tanks, Toontown Online, and Civilization 4 are also built using
Python.
Its simplicity and platform independence nature make it a good choice for GUI applications. Though Tkinter
is the standard library for GUI development, there are other supporting libraries like:
▪ Wx Python
▪ Kivy
▪ PyQt, PySide
▪ PyGUI
▪ Delphi
▪ GTK+
5. Enterprise/ Business Applications
Business applications are developed keeping in mind the comfort and ease of usage by the organization.
Python’s features like scalability, extensibility, and readability make it the best choice for business
applications.
Python supports the development of software with its libraries and packages. It is used for building, testing,
management, and so on. For example
Python helps beginners get introduced to the Programming environment. It is because of its simple
syntax and beginner-friendly nature. Another reason could be its scope and reach in the development
community.
Many operating systems are using Python as a backbone. Generally, it is used along with C. Some of
them are as follows:
Yes! Python being one of the programming languages helps in building other languages. These have
similar syntax object models and indentation as compared to Python. Its architecture is taken as
inspiration to build:
▪ Swift
▪ Boo
▪ Cobra
▪ CoffeeScript
▪ OCaml
10. Scientific and Numeric Computations
Python can also serve in doing scientific and numeric calculations. Thanks to its concerned libraries that
makes these calculations easier. Apps like Abacus and FreeCAD are built using Python. Some of the
libraries that can do these calculations are:
▪ NumPy
▪ SciPy
▪ Pandas
▪ Natural Language Toolkit
5.2.2 FLASK
WSGI
Web Server Gateway Interface (WSGI) has been adopted as a standard for Python web
application development. WSGI is a specification for a universal interface between the
web server and the web applications.
Werkzeug
It is a WSGI toolkit, which implements requests, response objects, and other utility
functions. This enables building a web framework on top of it. The Flask framework uses
Werkzeug as one of its bases.
Jinga2
Jinga2 is a popular templating engine for Python. A web templating system combines a template with
a certain data source to render dynamic web pages.
Flask is often referred to as a micro framework. It aims to keep the core of an application
simple yet extensible. Flask does not have built-in abstraction layer for database handling,
nor does it have form a validation support. Instead, Flask supports the extensions to add such
functionality to the application.
FEATURES OF FLASK
7. Unicode-based
8. Complete documentation
ADVANTAGES OF FLASK
Scalable
Size is everything, and Flask’s status as a microframework means that you can use it to grow a tech
project such as a web app incredibly quickly. If you want to make an app that starts small, but has the
potential to grow quickly and in directions you haven’t completely worked out yet, then it’s an ideal
choice. Its simplicity of use and few dependencies enable it to run smoothly even as it scales up and up.
Flexible
This is the core feature of Flask, and one of its biggest advantages. To paraphrase one of the principles
of the Zen of Python, simplicity is better than complexity, because it can be easily rearranged and
moved around.
Not only is this helpful in terms of allowing your project to move in another direction easily, it also
makes sure that the structure won’t collapse when a part is altered. The minimal nature of Flask and its
aptitude for developing smaller web apps means that it’s even more flexible than Django itself.
Easy to negotiate
Like Django, being able to find your way around easily is key for allowing web developers to
concentrate on just coding quickly, without getting bogged down. At its core, the microframework is
easy to understand for web developers, not just saving them time and effort but also giving them more
control over their code and what is possible.
Lightweight
When we use this term in relation to a tool or framework, we’re talking about the design of it—there are
few constituent parts that need to be assembled and reassembled, and it doesn’t rely on a large number
of extensions to function. This design gives web developers a certain level of control.
Flask also supports modular programming, which is where its functionality can be split into several
interchangeable modules. Each module acts as an independent building block, which can execute one
part of the functionality. Together this means that the whole constituent parts of the structure are
flexible, moveable, and testable on their own.
Documentation
Following the creator’s own theory that “nice documentation design makes you actually write
documentation,” Flask users will find a healthy number of examples and tips arranged in a structured
manner. This encourages developers to use the framework, as they can easily get introduced to the
different aspects and capabilities of the tool. You’ll find the Flask documentation on their official
website.
DISADVANTAGES OF FLASK
Inevitably there are some downsides to this microframework’s lightweight nature. Chief among them is
that unlike Django, Flask lacks a large toolbox. This means that developers will have to manually add
extensions such as libraries. And, if you add a huge number of extensions, it may start to slow down the
app itself due to a multitude of requests.
Because of the fact that development of a web app using Flask can take a variety of twists and turns, a
web developer arriving to the project mid-way through can struggle to come to terms with how it’s been
designed. The modular nature of the microframework that we mentioned earlier can come back to haunt
coders, who will have to familiarize themselves with each constituent part.
Maintenance costs
Because it is so versatile in terms of which technologies it can interface with, quite often a company
using Flask will incur extra costs of supporting those technologies. For example, if a technology
interfacing with your Flask app becomes obsolete or is discontinued, then the company will have to
scramble to find a new compatible one. The more complicated the app becomes, the higher the potential
maintenance and implementation costs.
JUPYTER NOTEBOOK
The Jupyter Notebook is an open source web application that you can use to create and share
documents that contain live code, equations, visualizations, and text. Jupyter Notebook is maintained
by the people at Project Jupyter.
Jupyter Notebooks are a spin-off project from the IPython project, which used to have an
IPython Notebook project itself. The name, Jupyter, comes from the core supported programming
languages that it supports: Julia, Python, and R. Jupyter ships with the IPython kernel, which allows
you to write your programs in Python, but there are currently over 100 other kernels that you can also
use.
Jupyter Notebook can connect to many kernels to allow programming in different languages. A
Jupyter kernel is a program responsible for handling various types of requests (code execution, code
completions, inspection), and providing a reply. Kernels talk to the other components of Jupyter using
ZeroMQ, and thus can be on the same or remote machines. Unlike many other Notebook-like interfaces,
in Jupyter, kernels are not aware that they are attached to a specific document, and can be connected to
many clients at once. Usually kernels allow execution of only a single language, but there are a couple
of exceptions.[citation needed] By default Jupyter Notebook ships with the IPython kernel. As of the
2.3 releas (October 2014), there are 49 Jupyter-compatible kernels for many programming languages,
including Python, R, Julia and Haskell
A Jupyter Notebook can be converted to a number of open standard output formats (HTML,
presentation slides, LaTeX, PDF, ReStructuredText, Markdown, Python) through "Download As" in the
web interface, via the nbconvert libraror "jupyter nbconvert" command line interface in a shell. To
simplify visualisation of Jupyter notebook documents on the web, the nbconvert library is provided as a
service through NbViewer which can take a URL to any publicly available notebook document, convert
it to HTML on the fly and display it to the user.
• The notebook web application: An interactive web application for writing and running code
interactively and authoring notebook documents.
• Kernels: Separate processes started by the notebook web application that runs users’ code in a given
language and returns output back to the notebook web application. The kernel also handles things like
computations for interactive widgets, tab completion and introspection.
• Notebook documents: Self-contained documents that contain a representation of all content visible in
the note-book web application, including inputs and outputs of the computations, narrative text,
equations, images, and rich media representations of objects. Each notebook document has its own
kernel.
• The ability to execute code from the browser, with the results of computations attached to the code which
generated them.
• Displaying the result of computation using rich media representations, such as HTML, LaTeX, PNG,
SVG, etc.
For example, publication-quality figures rendered by the matplotlib library, can be included inline.
• In-browser editing for rich text using the Markdown markup language, which can provide commentary for
the code, is not limited to plain text.
• The ability to easily include mathematical notation within markdown cells using LaTeX, and rendered
natively by MathJax.
1. All in one place: As you know, Jupyter Notebook is an open-source web-based interactive
environment that combines code, text, images, videos, mathematical equations, plots, maps,
graphical user interface and widgets to a single document.
2. Easy to convert: Jupyter Notebook allows users to convert the notebooks into other formats
such as HTML and PDF. It also uses online tools and nbviewer which allows you to render a
publicly available notebook in the browser directly.
3. Easy to share: Jupyter Notebooks are saved in the structured text files (JSON format), which
makes them easily shareable.
4. Language independent: Jupyter Notebook is platform-independent because it is represented
as JSON (JavaScript Object Notation) format, which is a language-independent, text-based file
format. Another reason is that the notebook can be processed by any programing language, and
can be converted to any file formats such as Markdown, HTML, PDF, and others.
5. Interactive code: Jupyter notebook uses ipywidgets packages, which provide many common
user interfaces for exploring code and data interactivity.
CHAPTER 6
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 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.
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.
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.
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.
Unit testing is usually conducted as part of a combined code and unit test phase of the software
lifecycle, although it is not uncommon for coding and unit testing to be conducted as two distinct
phases.
Test objectives
Features to be tested
• Verify that the entries are of the correct format
• No duplicate entries should be allowed • All links should take the user
to the correct page.
Software integration testing is the incremental integration testing of two or more integrated
software components on a single platform to produce failures caused by interface defects.
The task of the integration test is to check that components or software applications, e.g.
components in a software system or – one step up – software applications at the company level –
interact without error.
Test Results: All the test cases mentioned above passed successfully. No defects encountered.
User Acceptance Testing is a critical phase of any project and requires significant participation
by the end user. It also ensures that the system meets the functional requirements. Test Results: All
the test cases mentioned above passed successfully. No defects encountered.
SYSTEM TESTING
TESTING METHODOLOGIES
The following are the Testing Methodologies:
o Unit Testing. o
Integration Testing. o User
Acceptance Testing. o
Output Testing. o
Validation Testing.
Unit Testing
Unit testing focuses verification effort on the smallest unit of Software design that is the
module. Unit testing exercises specific paths in a module’s control structure to ensure complete
coverage and maximum error detection. This test focuses on each module individually, ensuring that it
functions properly as a unit. Hence, the naming is Unit Testing.
During this testing, each module is tested individually and the module interfaces are verified for
the consistency with design specification. All important processing path are tested for the expected
results. All error handling paths are also tested.
Integration Testing
Integration testing addresses the issues associated with the dual problems of verification and
program construction. After the software has been integrated a set of high order tests are conducted.
The main objective in this testing process is to take unit tested modules and builds a program structure
that has been dictated by design.
The following are the types of Integration Testing:
2. Bottom-up Integration
This method begins the construction and testing with the modules at the lowest level in the
program structure. Since the modules are integrated from the bottom up, processing required for
modules subordinate to a given level is always available and the need for stubs is eliminated. The
bottom up integration strategy may be implemented with the following steps:
• The low-level modules are combined into clusters into clusters that perform a specific Software
sub-function.
• A driver (i.e.) the control program for testing is written to coordinate test case input and output.
• The cluster is tested.
• Drivers are removed and clusters are combined moving upward in the program structure
The bottom-up approach tests each module individually and then each module is module is integrated
with the main module and tested for functionality.
Validation Checking
Validation checks are performed on the following fields.
Text Field:
The text field can contain only the number of characters lesser than or equal to its size. The text
fields are alphanumeric in some tables and alphabetic in other tables. Incorrect entry always flashes and
error message.
Numeric Field:
The numeric field can contain only numbers from 0 to 9. An entry of any character flashes an
error messages. The individual modules are checked for accuracy and what it has to perform. Each
module is subjected to test run along with sample data. The individually tested modules are integrated
into a single system. Testing involves executing the real data information is used in the program the
existence of any program defect is inferred from the output. The testing should be planned so that all the
requirements are individually tested.
A successful test is one that gives out the defects for the inappropriate data and produces and
output revealing the errors in the system.
USER TRAINING
Whenever a new system is developed, user training is required to educate them about the working of the
system so that it can be put to efficient use by those for whom the system has been primarily designed.
For this purpose the normal working of the project was demonstrated to the prospective users. Its
working is easily understandable and since the expected users are people who have good knowledge of
computers, the use of this system is very easy.
MAINTAINENCE
This covers a wide range of activities including correcting code and design errors. To reduce the need
for maintenance in the long run, we have more accurately defined the user’s requirements during the
process of system development. Depending on the requirements, this system has been developed to
satisfy the needs to the largest possible extent. With development in technology, it may be possible to
add many more features based on the requirements in future. The coding and designing is simple and
easy to understand which will make maintenance easier.
TESTING STRATEGY :
A strategy for system testing integrates system test cases and design techniques into a well-planned
series of steps that results in the successful construction of software. The testing strategy must co-
operate test planning, test case design, test execution, and the resultant data collection and evaluation. A
strategy for software testing must accommodate low-level tests that are necessary to verify that a small
source code segment has been correctly implemented as well as high level tests that validate major
system functions against user requirements.
Software testing is a critical element of software quality assurance and represents the ultimate review
of specification design and coding. Testing represents an interesting anomaly for the software. Thus, a
series of testing are performed for the proposed system before the system is ready for user acceptance
testing.
SYSTEM TESTING:
Software once validated must be combined with other system elements (e.g. Hardware, people,
database). System testing verifies that all the elements are proper and that overall system function
performance is achieved. It also tests to find discrepancies between the system and its original
objective, current specifications and system documentation.
UNIT TESTING:
In unit testing different are modules are tested against the specifications produced during the design for
the modules. Unit testing is essential for verification of the code produced during the coding phase, and
hence the goals to test the internal logic of the modules. Using the detailed design description as a
guide, important Conrail paths are tested to uncover errors within the boundary of the modules. This
testing is carried out during the programming stage itself. In this type of testing step, each module was
found to be working satisfactorily as regards to the expected output from the module.
In Due Course, latest technology advancements will be taken into consideration. As part of
technical build-up many components of the networking system will be generic in nature so that future
projects can either use or interact with this. The future holds a lot to offer to the development and
refinement of this project.
CHAPTER 7
CODE
import streamlit as
st import pandas as
pd import numpy as np
import os import
pickle import
warnings
def main(): #
title
html_temp =
""" <div>
<h1 style="color:MEDIUMSEAGREEN;text-align:left;"> Crop Recommendation 🌱
</h1>
</div>
"""
st.markdown(html_temp, unsafe_allow_html=True)
col1,col2 = st.beta_columns([2,2])
with col1:
with st.beta_expander(" ℹ️Information", expanded=True): st.write("""
Crop recommendation is one of the most important aspects of precision
agriculture. Crop recommendations are based on a number of factors. Precision
agriculture seeks to define these criteria on a site-by-site basis in order to
address crop selection issues. While the "site-specific" methodology has improved
performance, there is still a need to monitor the systems' outcomes.Precision
agriculture systems aren't all created equal.
However, in agriculture, it is critical that the recommendations made
are correct and precise, as errors can result in significant material and capital
loss.
""")
'''
## How does it work ❓
Complete all the parameters and the machine learning model will predict the
most suitable crops to grow in a particular farm based on various parameters
'''
with col2:
N = st.number_input("Nitrogen", 0,140)
P = st.number_input("Phosporus", 5,165) K =
st.number_input("Potassium", 5,206) temp =
st.number_input("Temperature",8.0,44.0) humidity =
st.number_input("Humidity in %", 14.0,100.0) ph =
st.number_input("Ph", 3.0,8.0)
rainfall = st.number_input("Rainfall in mm",20.0,249.0)
loaded_model =
load_model(r'C:\Users\HP\PycharmProjects\CRML\venv\CropRecommendation\
CropRecommend
ation\models\RandomForest.pkl') prediction =
loaded_model.predict(single_pred)
col1.write('''
## Results 🔍
''') col1.success(f"{prediction.item().title()} are recommended by the
A.I
for your farm.")
#code for html ☘️🌾 🌳 👨🌾 🍃
hide_menu_style = """
<style>
#MainMenu {visibility: hidden;}
</style>
"""
st.markdown(hide_menu_style, unsafe_allow_html=True)
CHAPTER 8
RESULTS
CHAPTER 10
FUTURE WORK
When the farmers sow a particular crop, there might face some issues or diseases in the crop
before harvesting. In that case, they can upload the photographs of the crop and soil report. Then the AI
model can identify the problems and provide them with probable solutions.
CHAPTER-11
REFERENCES
1. Zhao, Yi, Noemi Vergopolan, Kathy Baylis, Jordan Blekking, Kelly Caylor, Tom Evans,
Stacey Giroux, Justin Sheffield, and Lyndon Estes. "Comparing empirical and survey-
based yield forecasts in a dryland agro-ecosystem. “Agricultural and Forest Meteorology
262 (2018):
147-156.
2. Khaki, Saeed, and Lizhi Wang. "Crop yield prediction using deep neural networks." In
INFORMS International Conference on Service Science, pp. 139-147. Springer, Cham,
2019.
3. Y. Weng, X. Wang, J. Hua, H. Wang, M. Kang and F. Wang, "Forecasting Horticultural
Products Price Using ARIMA Model and Neural Network Based on a Large-Scale Data
Set Collected by Web Crawler," in IEEE Transactions on Computational Social Systems,
vol.6,no.3,pp.547- 553,June2019.doi:10.1109/TCSS.2019.2914499
4. Verma, Akanksha, Aman Jatain, and Shalini Bajaj. "Crop Yield Prediction of Wheat
Using Fuzzy C Means Clustering and Neural Network. "International Journal of Applied
Engineering Research 13, no. 11 (2018): 9816-9821.
5. N. Gandhi, O. Petkar and L. J. Armstrong, "Rice crop yield prediction using artificial
neural networks,"2016IEEE Technological Innovations in ICT for Agriculture and Rural
Development (TIAR), Chennai, 2016, pp. 105-110.
6. Doi: 10.1109/TIAR.2016.7801222
7. Noureen, S. Atique, V. Roy and S. Bayne, "Analysis and application of seasonal ARIMA
model in Energy Demand Forecasting: A case study of small-scale agricultural
load,"2019 IEEE 62nd International Midwest Symposium on Circuits and Systems
(MWSCAS), Dallas, TX, USA, 2019, pp. 521-524.doi:10.1109/MWSCAS.2019.8885349
8. Mohan, Pushpa, and Kiran Kumari Patil. "Deep Learning Based Weighted SOM to
Forecast Weather and Crop Prediction for Agriculture Application. "International Journal
of Intelligent Engineering and Systems 11, no. 4 (2018): 167-176.
9. Konstantinos P. Ferentinos, “Deep Learning Models for Plant Disease Detection and
Diagnosis”, Computers and Electronics in Agriculture 145:311-318 · February 2018
10. S. Ramesh, D. Vydeki, “Recognition and Classification of Paddy Leaf Diseases using
Optimized Deep Neural Network with Jaya Algorithm”, Information Processing in Agriculture,
46
CROP PROPOUND SYSTEM
47
CROP PROPOUND SYSTEM
20. Anshal Savla, Parul Dhawan, Himtanaya Bhadada, Nivedita Israni, Alisha
Mandholia ,Sanya Bhardwaj (2015),“Survey of classification algorithms for formulating
yield prediction accuracy in precision agriculture”, Innovations in Information,
Embedded and Communication systems (ICIIECS).
21. Aakunuri Manjula, Dr.G .Narsimha (2015), “XCYPF: A Flexible and Extensible
Framework for Agricultural Crop Yield Prediction”, Conference on Intelligent Systems and
Control (ISCO).
22. Yash Sanghvi, Harsh Gupta, Harmish Doshi, DivyaKoli, AmoghAnshDivyaKoli,
Umang Gupta (2015), “Comparison of Self Organizing Maps and Sammon’s Mapping
on agricultural datasets for precision agriculture”, International Conference on
Innovations in Information, Embedded and Communication systems (ICIIECS).
23. Rakesh Kumar, M.P. Singh, Prabhat Kumar and J.P. Singh (2015), “Crop Selection
Method to Maximize Crop Yield Rate using Machine Learning Technique”, International
Conference on Smart Technologies and Management for Computing, Communication,
Controls, Energy and Materials (ICSTM).
24. R. Suresh, R. Santhi, “Soil Test Crop Response Based Integrated Plant Nutrition System
for Maize on Vertisol”, International Journal of Current Microbiology and Applied
Sciences ISSN: 2319-7706 Volume 7 (8) 1631-1641(2018).
25. R. Kumar, M. P. Singh, P. Kumar, and J. P. Singh, "Crop Selection Method to maximize
crop yield rate using machine learning technique", 2015 International Conference on
Smart
Technologies and Management for Computing, Communication, Controls, Energy, and
Materials (ICSTM), Chennai, 2015, pp. 138-145, DOI: 10.1109/ICSTM.2015.7225403. [2]
H. Lee and A. Moon, "Development of yield prediction system based on real-time
agricultural meteorological information”, 16th International Conference on Advanced
Communication Technology, Pyeongchang, 2014, pp. 12921295, DOI:
10.1109/ICACT.2014.6779168.
48
CROP PROPOUND SYSTEM
49