documentation
documentation
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
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.
We hereby declare that the work described in this thesis entitled Crop
The report and work is original and has not been submitted for any
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.
CONTENTS
S.NO DESCRIPTION
CHAPTER-I Introduction
3.1 Disadvantages
3.1 Advantages
6.4.4Dataflow Diagram
CHAPTER-VIII Implementation
CHAPTER-X Screenshots
CHAPTER-XII Conclusion
CHAPTER-XIII References
1.INTRODUCTION
2.LITERATURE SURVEY
Authors : M.C.S.Geetha
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
3. SYSTEM ANALYSIS
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.
FEASIBILITY STUDY
proposal is put forth with a very general plan for the project and some
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
TECHNICAL FEASIBILITY
This study is carried out to check the technical feasibility, that is, the
have a high demand on the available technical resources. This will lead
to high demands being placed on the client. The developed system must
SOCIAL FEASIBILITY
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
solely depends on the methods that are employed to educate the user
5.1 HARDWARE
REQURIREMENTS:
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 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.
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.
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 Features
Python's features include:
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)
print("Naive Bayes")
# 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
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:
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.