Final RP
Final RP
ABSTRACT
The present study aims to predict any potential flood chances that might arise due to the
rainfall happening at a particular place in India. Flood is related to calamities, though seem unrelated
at first sight but are highly affected and decided by the amount of rainfall at a place. The rainfall
which will be measured in mm has a lot of attributes associated with it. For an instance, the rainfall
could be the daily rainfall, monthly rainfall, seasonal rainfall or the annual rainfall, each representing
and affecting various biological events.
So in this situation, if can make a system, or for large user, our research can be used for
analysing the rainfall of the region a person is living in, and can raise alarm for the person if there
might can arise a situation of flood, he/ she can take useful measures to ensure least damage to him
and his property. Same thing could be used by the Indian Meteorological Department of India to
plan and process these events and make sure less people are affected by the calamity.
2
INTRODUCTION
will be the geolocation API of android to detect the location of the user and will fetch the rainfall
from Meteorological Department, then on the back-end we will run the algorithm to predict the
chances of any calamity in the area and will notify the user simultaneously in Real Time.
FUNCTIONAL REQUIREMENTS
Requirement 2: Pre-processing
In this module, admin can convert the unstructured datasets into structured datasets based on
irrelevant data removal and missing values estimation.
HARDWARE SPECIFICATION:
• RAM : 4GB
SOFTWARE SPECIFICATION:
• Tool : Pycharm
7
SOFTWARE MODELING
3.1 ER DIAGRAM
In this chapter we will discuss ER diagram. An entity–relationship model (ER model) is describe
interrelated things of interest in a specific domain of knowledge. A basic ER model is composed of
entity types (which classify the things of interest) and specifies relationships it can exist between
entities (instances of those entity types). In software engineering, an ER model is commonly based
to create and represent things a business needs to remember in order to perform the business
process. Continuously, the ER model becomes an abstract of data model that defines data or
information structure. It can be implemented in a database, typically a relational database. Rectangle
represents the entity. Circle represents the attributes of entity. Diamond shape represents the
relationship between the entities.
2
3
A two-dimensional diagram explains how data is processed and transferred in a system. The
graphical depiction identifies each source of data and how it interacts with other data sources to
reach a common output. Individuals seeking to draft a data flow diagram must identify external
inputs and outputs, determine how the inputs and outputs relate to each other, and explain with
graphics how these connections relate and what they result in. This type of diagram helps business
development and design teams visualize how data is processed and identify or improve certain
aspects.
Symbol Description
An entity. A source of
data or a destination for
data.
A data flow.
4
LEVEL 0
LEVEL 1
LEVEL 2
5
LEVEL 3
6
SOFTWARE DESIGN
Register Table
WEATHER table
7
RESULT table
Field Type Null Default
id varchar(50) Yes NULL
MODULES
Admin module
Pre-processing
Rules construction
Classification
Notification
MODULE DESCRIPTIONS
Admin Module
Data mining is the process of collecting, searching through, and analyzing an immense
amount of data in a database, as to discover patterns or relationships. Data mining is a term from
computer science. Sometimes it is also called knowledge discovery in databases (KDD). In this
module we can upload the weather datasets which includes temperature, humidity, wind speed and
lighting values.
These datasets are collected from metrological repository.
Pre-processing
Data pre-processing is a data mining technique that involves transforming raw data into an
understandable format. Then calculate the missing value estimation and irrelevant data removal
approaches.
Rules construction
In this module cluster the datasets using similarity measures. Using machine learning
algorithm to find the similarity based on group the attributes. Machine learning is used to calculate
the similarity metric between subnets. Based on similar attributes construct the data into various
weather types.
9
Classification
In this module we can construct the decision tree based on temperature, humidity, wind
speed, lighting speed. The threshold values of each attributes are constructed using decision tree
algorithm.
Notification module
In this module, we can analyse the flood details based location. Finally send the alert to users
in appropriate locations. This model will help in recognizing and controlling flash floods in an urban
area and also set risk management standards, based on the rainfall received in that region of the
nation on a yearly basis. It lays focus on saving costs by being proactive instead of being reactive.
10
CHAPTER 5
SOFTWARE IMPLEMENTATION
reflected in the language's name a tribute to the British comedy group Monty Python and in
occasionally playful approaches to tutorials and reference materials, such as examples that refer
to spam and eggs (from a famous Monty Python sketch) instead of the standard for and bar.
A common neologism in the Python community is pythonic, which can have a wide range
of meanings related to program style. To say that code is pythonic is to say that it uses Python
idioms well, that it is natural or shows fluency in the language, that it conforms with Python's
minimalist philosophy and emphasis on readability. In contrast, code that is difficult to
understand or reads like a rough transcription from another programming language is called
unpythonic. Users and admirers of Python, especially those considered knowledgeable or
experienced, are often referred to as Pythonists, Pythonistas, and Pythoneers. Python is an
interpreted, object-oriented, high-level programming language with dynamic semantics. Its high-
level built in data structures, combined with dynamic typing and dynamic binding, make it very
attractive for Rapid Application Development, as well as for use as a scripting or glue language
to connect existing components together. Python's simple, easy to learn syntax emphasizes
readability and therefore reduces the cost of program maintenance. Python supports modules and
packages, which encourages program modularity and code reuse. The Python interpreter and the
extensive standard library are available in source or binary form without charge for all major
platforms, and can be freely distributed. Often, programmers fall in love with Python because of
the increased productivity it provides. Since there is no compilation step, the edit-test-debug
cycle is incredibly fast. Debugging Python programs is easy: a bug or bad input will never cause
a segmentation fault. Instead, when the interpreter discovers an error, it raises an exception.
When the program doesn't catch the exception, the interpreter prints a stack trace. A source level
debugger allows inspection of local and global variables, evaluation of arbitrary expressions,
setting breakpoints, stepping through the code a line at a time, and so on. The debugger is written
in Python itself, testifying to Python's introspective power. On the other hand, often the quickest
way to debug a program is to add a few print statements to the source: the fast edit-test-debug
cycle makes this simple approach very effective.
Python’s initial development was spearheaded by Guido van Rossum in the late 1980s.
Today, it is developed by the Python Software Foundation. Because Python is a multiparadigm
language, Python programmers can accomplish their tasks using different styles of programming:
13
object oriented, imperative, functional or reflective. Python can be used in Web development,
numeric programming, game development, serial port access and more.
There are two attributes that make development time in Python faster than in other programming
languages:
1. Python is an interpreted language, which precludes the need to compile code before
executing a program because Python does the compilation in the background. Because
Python is a high-level programming language, it abstracts many sophisticated details
from the programming code. Python focuses so much on this abstraction that its code can
be understood by most novice programmers.
2. Python code tends to be shorter than comparable codes. Although Python offers fast
development times, it lags slightly in terms of execution time. Compared to fully
compiling languages like C and C++, Python programs execute slower. Of course, with
the processing speeds of computers these days, the speed differences are usually only
observed in benchmarking tests, not in real-world operations. In most cases, Python is
already included in Linux distributions and Mac OS X machines.
MySQL is the world's most used open source relational database management system
(RDBMS) as of 2008 that run as a server providing multi-user access to a number of databases.
The MySQL development STUDY has made its source code available under the terms of the
GNU General Public License, as well as under a variety of proprietary agreements. MySQL was
owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, now owned
by Oracle Corporation.
MySQL is a popular choice of database for use in web applications, and is a central component
of the widely used LAMP open source web application software stack—LAMP is an acronym for
"Linux, Apache, MySQL, Perl/PHP/Python." Free-software-open source STUDYs that require a
full-featured database management system often use MySQL.For commercial use, several paid
editions are available, and offer additional functionality. Applications which use MySQL
databases include: TYPO3, Joomla, Word Press, phpBB, MyBB, Drupal and other software built
14
on the LAMP software stack. MySQL is also used in many high-profile, large-scale World Wide
Web products, including Wikipedia, Google(though not for searches), ImagebookTwitter, Flickr,
Nokia.com, and YouTube.
Inter images
MySQL is primarily an RDBMS and ships with no GUI tools to administer MySQL databases or
manage data contained within the databases. Users may use the included command line tools, or
use MySQL "front-ends", desktop software and web applications that create and manage MySQL
databases, build database structures, back up data, inspect status, and work with data records. The
official set of MySQL front-end tools, MySQL Workbench is actively developed by Oracle, and
is freely available for use.
Graphical
A test case has components that describe input, action and an expected response, in order to
determine if a feature of an application is working correctly. A test case is a set of instructions on
“HOW” to validate a particular test objective/target, which when followed will tell us if the
expected behaviour of the system is satisfied or not.
CONCLUSION
7.1. CONCLUSION
In this study, we have tested machine learning techniques used in the process of flood
detection. The results have proved that the machine learning algorithms could be used for
detecting flooded areas with high accuracy. To achieve accurate results, both good-quality data
and an effective machine learning algorithm are essential. At first, the attributes of the training
points were collected. This step is extremely important, because the success of the learning phase
is highly dependent on it. High temporal and spatial data resolution are the key factors when
dealing with flood monitoring. In particular, datasets are uploaded in the form of CSV file, and
implemented classification algorithm to predict the flood types. Finally provide the alert about
flood.
In future we can develop the various machine learning and deep learning algorithms to
classify the weather types.