0% found this document useful (0 votes)
10 views52 pages

Final Reporttttt

The document is a report detailing the industrial training of Chhatarpal Singh at TCIL IT Chandigarh, conducted from January to April 2025, as part of the requirements for a Bachelor of Technology in Electronics and Communication Engineering. It includes an overview of the organization, the services offered, technologies learned, and a project on weather prediction and recommendation system using Python. The report acknowledges the support received during the training and outlines the skills and knowledge gained throughout the experience.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views52 pages

Final Reporttttt

The document is a report detailing the industrial training of Chhatarpal Singh at TCIL IT Chandigarh, conducted from January to April 2025, as part of the requirements for a Bachelor of Technology in Electronics and Communication Engineering. It includes an overview of the organization, the services offered, technologies learned, and a project on weather prediction and recommendation system using Python. The report acknowledges the support received during the training and outlines the skills and knowledge gained throughout the experience.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 52

A REPORT OF 4-6 MONTHS INDUSTRIAL TRAINING

AT

TCIL IT Chandigarh

SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENT


FOR THE AWARD OF THE DEGREE OF

BACHELOR OF TECHNOLOGY
(Electronics and Communication Engineering )

JAN-APRIL 2025

SUBMITTED BY:
CHHATARPAL SINGH
12102010
DEPARTMENT OF ELECTRONICS AND COMMUNICATION
ENGINEERING

PUNJABI UNIVERSITY, PATIALA


CERTIFICATE

I
CANDIDATE’S DECLARATION

I hereby certify that the work which is being presented in the B. Tech
Industrial Project Report entitled weather prediction and recommendation
system using python in partial fulfilment of the requirements for the award
of the Bachelor of Technology in Electronics and Communication
Engineering and submitted to the Department of Electronics &
Communication Engineering of Punjabi University, Patiala is an authentic
record of our work carried out during a period from 2 JAN 2025 to 30
APRIL 2025, under the supervision of Mr Manoj Dhiman

Signature of the Student:

The summer training Viva-Voce Examination of

has been held on and accepted.

Signature of the Examiner:

II
ACKNOWLEDGMENT

“Success is a sweet fruit to which everyone strives to taste.”

Any job in this world, however trivial or tough cannot be accomplished


without the assistance of others. I would hereby take the opportunity to
express my indebtedness to people who have helped me to accomplish this
task. I feel a deep sense of gratitude in thanking all those who helped me to
carry this project to its eventual fruition.
This project was quite a learning experience for me at each and every step. At
the same time, it has given me the confidence to work in the professional set-
up. I feel the experience gained during the project development would lead
me to bright prospect in future.
It is a matter of great pleasure for me to undertake training from TCIL IT
,Chandigarh. I take this opportunity with much pleasure to thank all the
people who have helped me through the course and producing this synopsis. I
sincerely thank my teacher, Mr. Manoj Dhiman head (TCIL IT, Chandigarh),
for his guidance, help and motivation. Apart from the subject of my course, I
learnt a lot from him, which I am sure, will be useful in different stages of my
life.
I am grateful to HOD, Electronics and Communication, Punjabi University in
pursuing this training in a smooth and organized manner.
I would also like to express my gratitude to the all other members of my
report advisory committee. I would like to thank TCIL IT and office staff for
their help.

Last but not the least, I would like to thank my family and the All Mighty God.

Thanks ~ Chhatarpal Singh

BTech ECE
12102010

III
INDEX
PART 1 INDUSTRIAL TRAINING REPORT............................................ 1

CHAPTER 1… ................................................................................................ 2
1.1 INTRODUCTION TO ORGANIZATION............................................2
1.1.1 An overview ........................................................................................ 2
1.1.2 Focus of the company......................................................................... 2
1.2 SERVICE OFFERINGS ......................................................................... 3
1.2.1 UX & UI Design ................................................................................. 3
1.2.2 Machine learning (ML)..................................................................... 3
1.2.3 Artificial intelligence (AI).................................................................. 3
1.2.4 mobile applications............................................................................. 4
1.2.5 mobile applications............................................................................. 4
1.2.6 enterprise applications…................................................................... 4
1.2.7 digital marketing............................................................................... 4
1.3 TECHNOLOGIES LEARNED …......................................................... 4
1.3.1 Python................................................................................................. 5
1.3.1.1 python data types.......................................................................... 5
1.3.1.2 operators in python....................................................................... 5
1.3.1.3 control flow statement…............................................................... 6
1.3.1.4 functions in python........................................................................ 7
1.3.2 .1 Libraries In Python ....................................................................... 9
1.3.2.2 object oriented programming in python ................................. 10
1.3.3 Machine Learning ........................................................................... 10
1.3.3.1 machine learning vs traditional programmimg........................11
1.3.3.2 how machine learning algorithms works.................................. 13
1.3.3.3 types of machine learning........................................................... 14
1.3.3.4 applications of machine learning............................................... 17

IV
1.3.4 Tools To Be Used............................................................................... 18
1.3.4.1 Installing python..........................................................................18
1.3.4.2 Vs code......................................................................................... 20
PART-2: PROJECT -WEATHER PREDICTION AND
RECOMMENDATION SYSTEM................................................................ 21
CHAPTER 2…................................................................................................22
2.1 INTRODUCTION TO PROJECT........................................................ 22
2.1.1 problem statement........................................................................... 23
2.1.2 system architecture........................................................................... 23
2.1.3 user experience................................................................................. 24
2.1.4 purpose.............................................................................................. 25
2.1.5 hardware & software requirements.............................................. 26
2.2 BLOCK DIAGRAM............................................................................. 28
2.2.1 work flow diagram.......................................................................... 29
2.3 DATA FLOW DIAGRAM (DFD)......................................................... 29
2.3.1 DFD symbols......................................................................................29
2.3.2 Constructing a DFD…...................................................................... 30
2.3.3 Constructing a DFD.......................................................................... 31
2.4 CODING OF PROJECT….................................................................... 34
2.5 SCREENSHOT OF PROJECT............................................................ 40
2.6 APPLICATIONS OF PROJECT…...................................................... 45
2.7 REFERENCES....................................................................................... 47

V
PART -1 INDUSTRIAL TRAINING REPORT

TCILIT CHANDIGARH

S.C.O. 3017-18, Second Floor


Opp. kisan Bhawan (Bijwara Market)
Sector-22D
Chandigarh -160022

1
CHAPTER 1

1.1 INTRODUCTION TO ORGANIZATION


1.1.1. An Overview

COMPANY PROFILE-S.C.O. 3017-18, Second Floor Opp. Kisan


Bhavan (Bijwara Market) Sector-22D, Chandigarh - 160 022

TCIL-IT Chandigarh is a fastest emerging company in the IT and


telecommunications industry. Being a well accredited company, we have
specialized in the field of various industrial training programs and have been
maintaining a strong foothold ever since our inception in the year 1999 with
ICS, Chandigarh. Intelligent Communication Systems India Ltd. or ICSIL
controls its managerial and administrative aspects. ICSIL is a joint venture of
an undertaking of the Delhi Government, Delhi State Industrial Infrastructure
Development Corporation and TCIL, which is an enterprise of the
Government of India under the Ministry of Communication and Information
Technology, New Delhi. We offer training for various technical areas of
specialization for B.Tech students of CSE/IT/ECE/ELECTRICAL, Diploma
or MCA/MSc-IT. Duration of training can stretch from 6 weeks or 6 months
depending upon the university and Institutes criteria of training. By educating
skilled IT and Telecom professionals capable of fulfilling all requirements of
an industry, we aim to facilitate our nation. Our entire staff consists of
professionals with an extensive experience in the industry.

1.1.2. Focus of the Company

The company focuses on understanding the diverse and mission-critical needs


of each of our clients Scheduled work forms the basis of our working and we
firmly believe in it. All forms of training at TCIL-IT are in accordance with
our perfect schedule so that all students get complete information in a well
formatted manner. We have a wonderful track record of students, trained by us
that have achieved success in the industry in their field of expertise. We have
industrial relations and associations with several top notch MNCs and we try
to provide nothing else but the best to our students

TCIL-IT provides industrial training in the following domains:


IT & CSE:
• Core and Advanced Java (J2EE or J2ME)
• Advance .Net Technology (ASP.Net, C#, VB) with SQL Server

2
• Practical Web Designing Applications
• IT Security & Ethical Hacking
• Android Application Development Program
• Oracle DBA
• Core & Advance PHP (Web Development Applications)
• Software Testing (Manual / Automatic)
• Networking Technology (MCITP / CCNA)
• Cloud Computing
Electronics and Communication:
• Understanding Emerging Wireless Communication Technologies
• Embedded System – 8/16 bit Microcontroller | PIC | ARM
• Wireless Communications
• Advanced Telecom Training
• Embedded System (GSM)
• VLSI
• Networking (Intranet/LAN/WAN), Linux Administration
• PLC Automation

1.2. Service Offerings

1.2.1. UX & UI Design

The web design of a website is the direct reflection of its business. We


understand this and customize our web design services in accordance with our
client's business. Our highly customized UX & UI design services help clients
stand out among competitors by delivering the best services to their customers.
We are committed to providing high-quality web designing services and
cutting-edge solutions for any project. Our services include Website Designing,
PSD to XHTML Conversion, WordPress Theme Customization, and Logo &
Identity Design.

1.2.2. Machine Learning (ML)

Machine Learning has become an indispensable tool in various industries due


to its numerous benefits. Our ML solutions use cutting-edge algorithms,
powerful computers, and data-driven insights to provide unique capabilities to
your organization. Whether you're a startup, small business, or enterprise, our
experts are here to guide you toward success.

3
1.2.3. Artificial Intelligence (AI)
Leverage the power of Artificial Intelligence and Machine Learning with our
comprehensive solutions. We offer services that make use of the latest
advancements in AI and ML to promote innovation, increase efficiency, and
accelerate growth. Whether you're a startup, small business, or large
corporation, our specialists will help you unlock your organization’s full
potential.

1.2.4. Mobile Applications

We have a team of innovation-driven web and mobile app developers with


proven skills in Android, iOS, BlackBerry, and Windows Phone. Our team
offers innovative business solutions, focusing on the development of mobile
applications and providing round-the-clock development support. We ensure
the creation of beautifully designed, easy-to-use mobile apps tailored to your
requirements.

1.2.5. Web Development

TCIL IT is known for its service qualities, which include highly scalable,
productive, and fully functional web solutions. We ensure that our clients
receive exactly what they have asked for. Our expertise lies in PHP
Development, .NET Development, CMS Development, and E commerce
Development.

1.2.6. Enterprise Applications

We deliver custom enterprise applications to meet client requirements,


ensuring complete satisfaction. Our developers specialize in online tests,
security management, school/college ERP systems, and other custom
software solutions.

1.2.7. Digital Marketing

Our digital marketing services are powered by technology, creativity, and an


understanding of customization. We help enterprises gain a competitive
advantage by creating smart and flexible digital marketing ecosystems.

4
1.3 TECHNOLOGIES LEARNT
1.3.1.1 PYTHON
Python is a widely used high-level, general-purpose, interpreted, dynamic
programming language. Its design philosophy emphasizes code readability,
and its syntax allows programmers to express concepts in fewer lines of code
than would be possible in languages such as C++ or Java. The language
provides constructs intended to enable clear programs on both a small and
large scale. Python supports multiple programming paradigms, including
object-oriented, imperative and functional programming or procedural styles.
It features a dynamic type system and automatic memory management and
has a large and comprehensive standard library. Python interpreters are
available for installation on many operating systems, allowing Python code
execution on a wide variety of systems.
• Programming Language:
Python is a language used to create instructions that computers can understand
and execute.
• High-Level:
It's a human-readable language that requires an interpreter to translate into
machine code.
• General-Purpose:
It's not limited to specific tasks, making it suitable for a wide range of
projects.
• Interpreted:
Python code is executed line by line by an interpreter, making it easier to
debug and prototype.
• Object-Oriented:
It supports object-oriented programming, which allows for modular and
reusable code.

1.3.1.2 PYTHON DATA TYPES


Python has many native data types. Here are the important ones:

Booleans are either True or False.

Numbers can be integers (1 and 2), floats (1.1 and 1.2), fractions (1/2 and
2/3), or even complex numbers.

Strings are sequences of Unicode characters, e.g. an HTML document.

5
Bytes and byte arrays, e.g. a JPEG image file.

Lists are ordered sequences of values.


Tuples are ordered, immutable sequences of values.

Sets are unordered bags of values.

Variable serves as a named storage location in computer memory,used to hold


data values during program execution
.
1.3.1.3 OPERATORS IN PYTHON

Fig-1.1python operators [1]

Arithmetic operators: Addition (+), subtraction (-), multiplication (*),


division (/), exponentiation (**), and modulus (%).
Assignment operators: Used to assign values to variables.

Comparison (Relational) operators: Used to compare values.

Logical operators: Used for logical operations.

Membership operators: Used to test if a value is a member of a sequence.

Identity operators: Used to compare the memory location of two objects.

Bitwise operators: Used for bit-level operations.

6
1.3.1.4 Control Flow Statements
The flow control statements are divided into three categories:
1. Conditional statements
2. Iterative statements
3. Transfer statement

Conditional statements

In Python, condition statements act depending on whether a given condition


is true or false. You can execute different blocks of codes depending on the
outcome of a condition. Condition statements always evaluate to either True
or False. There are three types of conditional statements.
1. if statement
2. if-else
3. if-elif-else
4. nested if-else

7
Iterative statements

In Python, iterative statements allow us to execute a block of code repeatedly


as long as the condition is True. We also call it a loop statements. Python
provides us the following two loop statement to perform some actions
repeatedly 1. for loop
2. while loop

Transfer statements

In Python, transfer statements are used to alter the program’s way of execution
in a certain manner. For this purpose, we use three types of transfer
statements.
1. break statement
2. continue statement
3. pass statements
1.3.1.5 FUNCTIONS IN PYTHON

Functions is a block of statements that return the specific task. The idea is to
put some commonly or repeatedly done tasks together and make a function
so that instead of writing the same code again and again for different inputs,
Python Function Declaration: The syntax to declare a function is:

8
Fig- 1.3 functions[3]

1.3.2.1 Libraries in Python


a Python library is a collection of related modules. It contains bundles of code
that can be used repeatedly in different programs. It makes Python
Programming simpler and convenient for the programmer. Python libraries
play a very vital role in fields of Machine Learning, Data Science, Data
Visualization
Let’s have a look at some of the commonly used library are

1. TensorFlow: This library was developed by Google in collaboration with


the Brain Team. It is an open-source library used for high-level computations.
It is also used in machine learning and deep learning algorithms.
2. Matplotlib: This library is responsible for plotting numerical data. And
that’s why it is used in data analysis. It is also an open- source library and
plots high-defined figure is like pie charts, histograms, scatterplots, graphs,
etc.

3. Pandas: Pandas are an important library for data scientists. It is an open-


source machine learning library that provides flexible high-level data
structures and a variety of analysis tools

4. Numpy: The name “Numpy” stands for “Numerical Python”. It is the


commonly used library. It is a popular machine learning library that supports
large matrices and multi-dimensional data. It consists of in-built
mathematical functions for easy computations

5. Scikit-learn: It is a famous Python library to work with complex data.


Scikit-learn is an open-source library that supports machine learning. It
supports variously supervised and unsupervised algorithms like linear
regression, classification, clustering, etc.

1.3.2.2 Object Oriented Programming in Python


Object Oriented Programming is a fundamental concept in Python,
empowering developers to build modular, maintainable, and scalable
applications. In OOPs, object has attributes thing that has specific data

9
and can perform certain actions. Objects in Python ,Polymorphism,
Encapsulation ,Inheritance ,Data Abstraction are concepts of object
oriented programming

1.3.3 machine learning


• , Machine learning is a branch of artificial intelligence that
enables algorithms to uncover hidden patterns within datasets.
It allows them to predict new, similar data without explicit
programming for each task. Machine learning finds applications
in diverse fields such as image and speech recognition, natural
language processing, recommendation systems, fraud detection,
portfolio optimization, and automating tasks.
• Machine learning’s impact extends to autonomous vehicles,
drones, and robots, enhancing their adaptability in dynamic
environments. This approach marks a breakthrough where
machines learn from data examples to generate accurate
outcomes, closely intertwined with data mining and data science

1.3.3.1 How machine learning different from


traditional programming?

Machine learning (ML) and traditional programming are two distinct


approaches to problem-solving in computer science. While both aim
to create functional software systems, their methodologies,
applications, and operational structures differ significantly.

In traditional programming, developers write explicit rules and


instructions for the software to follow. The code processes inputs based
on predefined logic and produces deterministic outputs.
For example, a program designed to classify emails as spam or not spam
would rely on a set of hard-coded rules like filtering specific
keywords1.

In contrast, machine learning involves training models to learn from data.


Instead of following explicit rules, ML models identify patterns in the
data and make decisions based on these patterns. For instance, an ML
algorithm classifying emails as spam learns from labeled data and
recognizes subtle patterns that traditional rules might miss2.

10
10
Development Process

Traditional programming follows a systematic development process:


problem definition, algorithm design, code implementation, and testing.
The functionality is restricted to what the programmer has explicitly
defined1. For example, building a
calculator app requires defining operations for addition, subtraction,
multiplication, and division.

On the other hand, ML development is data-driven. The process involves


data collection and preprocessing, model selection, training, evaluation,
and tuning. Instead of coding rules, the focus is on preparing data and
training the model to improve accuracy2. For example, training an AI for
image recognition involves collecting labeled images and training a neural
network model to identify patterns.

Scalability and Maintenance


Traditional systems become harder to maintain as complexity
increases. Any significant change requires revisiting and modifying
the code manually1. For example, adding a new feature to a large
enterprise application requires extensive code changes.

ML systems scale well with more data. As new data becomes


available, models can be retrained or fine-tuned without major code
changes2. For example, a machine learning model predicting stock
market trends can be regularly updated with new market data to
maintain accuracy.

Error Handling and Adaptability


Traditional programming handles errors explicitly, with developers
defining conditions for expected errors1. However, handling
unpredictable scenarios is challenging and often leads to software
crashes.

11
ML systems handle variability and uncertainty better. They generalize
from large datasets, making them more resilient to unexpected inputs.
For example, an AI model trained to recognize cats might still
recognize a dog due to its ability to generalize.
Challenges and Limitations

Traditional programming has limited flexibility and scalability,


requiring manual updates for new features. ML faces challenges such
as data dependency, black-box models, and potential biases.In
conclusion, while traditional programming and machine learning both
aim to solve problems, their approaches and applications differ
significantly. Understanding these differences is crucial for leveraging
the strengths of each method in appropriate scenarios.

1.3.3.2 How machine learning algorithms work?


A machine learning algorithm works by learning patterns and
relationships from data to make predictions or decisions without being
explicitly programmed for each task.

1. Data Collection

First, relevant data is collected or curated. This data could include


examples, features, or attributes that are important for the task at
hand, such as images, text, numerical data, etc.

2. Data Preprocessing

Before feeding the data into the algorithm, it often needs to be


preprocessed. This step may involve cleaning the data (handling
missing values, outliers), transforming the data (normalization,
scaling), and splitting it into training and test sets.

3. Choosing a Model

Depending on the task (e.g., classification, regression, clustering), a


suitable machine learning model is chosen. Examples include

12
decision trees, neural networks, support vector machines, and more
advanced models like deep learning architectures.
4. Training the Model

The selected model is trained using the training data. During training,
the algorithm learns patterns and relationships in the data. This
involves adjusting model parameters iteratively to minimize the
difference between predicted outputs and actual outputs (labels or
targets) in the training data.

5. Evaluating the Model

Once trained, the model is evaluated using the test data to assess its
performance. Metrics such as accuracy, precision, recall, or mean
squared error are used to evaluate how well the model generalizes to
new, unseen data.

6. Prediction or Inference

Finally, the trained model is used to make predictions or decisions on


new data. This process involves applying the learned patterns to new
inputs to generate outputs, such as class labels in classification tasks
or numerical values in regression tasks

1.3.3.3 Types of Machine Learning

There are several types of machine learning, each with special


characteristics and applications. Some of the main types of machine
learning algorithms are as follows:

1. Supervised Machine Learning

2. Unsupervised Machine Learning

3. Reinforcement Learning

13
Fig.1.4 machine learning [4]

Additionally, there is a more specific category called semi-supervised


learning, which combines elements of both supervised and
unsupervised learning.

1. Supervised Machine Learning

Supervised learning is defined as when a model gets trained on a


“Labelled Dataset”. Labelled datasets have both input and output
parameters. In Supervised Learning algorithms learn to map points
between inputs and correct outputs. There are two main categories
of supervised learning that are mentioned below:

• Classification

• Regression

Advantages of Supervised Machine Learning

• Supervised Learning models can have high accuracy as they are


trained on labelled data.

14
• It can often be used in pre-trained models which saves time and
resources when developing new models from scratch
2. Unsupervised Machine Learning

Unsupervised learning is a type of machine learning technique in


which an algorithm discovers patterns and relationships using
unlabelled data. The primary goal of Unsupervised learning is often
to discover hidden patterns.
There are two main categories of unsupervised learning that are mentioned
below:
• clustering
• association

Advantages of Unsupervised Machine Learning

• It helps to discover hidden patterns and various relationships


between the data.
• Used for tasks such as customer segmentation, anomaly detection,
and data exploration.
3. Reinforcement Machine Learning
Reinforcement machine learning algorithm is a learning method that
interacts with the environment by producing actions and discovering
errors. Trial, error, and delay are the most relevant characteristics of
reinforcement learning. In this technique, the model keeps on
increasing its performance using Reward Feedback to learn the
behavior or pattern.

Advantages of Reinforcement Machine Learning

• It has autonomous decision-making that is well-suited for tasks


and that can learn to make a sequence of decisions, like
robotics and game-playing.
• This technique is preferred to achieve long-term results that are
very difficult to achieve.

15
1.3.3.4 Various Applications of Machine Learning

• Automation: Machine learning, which works entirely


autonomously in any field without the need for any human
intervention. For example, robots perform the essential process
steps in manufacturing plants.

• Finance Industry: Machine learning is growing in popularity


in the finance industry. Banks are mainly using ML to find
patterns inside the data but also to prevent fraud.

• Government organization: The government makes use of


ML to manage public safety and utilities. Take the example of
China with its massive face recognition. The government uses
Artificial intelligence to prevent jaywalking.

• Healthcare industry: Healthcare was one of the first


industries to use machine learning with image detection.

• Marketing: Broad use of AI is done in marketing thanks to


abundant access to data. Before the age of mass data,
researchers develop advanced mathematical tools like Bayesian
analysis to estimate the value of a customer. With the boom of
data, the marketing department relies on AI to optimize customer
relationships and marketing campaigns.

• Retail industry: Machine learning is used in the retail industry


to analyze customer behavior, predict demand, and manage
inventory. It also helps retailers to personalize the shopping
experience for each customer by recommending products based
on their past purchases and preferences.

16
• Transportation: Machine learning is used in the
transportation industry to optimize routes, reduce fuel
consumption, and improve the overall efficiency of transportation
systems.

1.3.4 Tools to be used

• PyCharm
• Visual studio code
• Jupyter notebook
• Python IDLE
• Anaconda

1.3.4.1 Installing python


Installing python on windows
Prerequisites:
• A system running Windows

• Command Prompt (included by default in Windows) Installation

Steps:
1. Download Python from the official website: python.org/downloads.
2. Choose the latest Python version available.
3. Select either the Windows x86-64 executable installer or the Windows x86
executable installer.
4. Run the installer and ensure that you check the option to add Python to your
PATH.
5. Click on the "Install Now" option and follow the prompts to complete the

installation.

17
Installing Python on macOS Prerequisites:
1. Apple’s Integrated Development Environment (IDE)

2. Homebrew (a package manager for macOS) Installation Steps:


1. Open the Terminal and enter the following command:
2. brew install python3
3. Set up the PATH environment variable by adding the following line to
your ~/.profile file:
4.exportPATH="/usr/local/bin:/usr/local/sbin:$PATH" 5. If
needed, add the Python installation directory to the PATH.
6. Verify the installation by running:
7. python3 –version [5]

1.3.4.2 VS CODE
Visual Studio Code (VS Code) is a free, open-source code editor that helps
developers write and work with code:
• Features: VS Code supports a variety of programming languages,
including JavaScript, TypeScript, and Node.js. It also includes features like
debugging, syntax highlighting, code completion, and version control.
• Platform: VS Code is available for Windows, Linux, and macOS.
• Customization: Users can change the theme, keyboard shortcuts, and
preferences. They can also install extensions to add functionality.
• Extensibility: VS Code has a public extensibility model that allows
developers to build and use extensions
. • Architecture: VS Code combines web technologies like JavaScript and
Node.js with the speed and flexibility of native apps.
• Side-by-side editing: Users can open multiple editors side by side
vertically or horizontally
. • Integrated terminal: Users can run shell commands directly in VS Code,
without switching to another terminal application. VS Code is a popular
choice for developers, and was ranked the most popular developer
environment tool in the 2023 Stack Overflow Developer Survey.

18
1.3.4.3 JUPYTER NOTEBOOK
Jupyter notebook is a free, open-source web application that lets users create
and share computational documents:
A browser-based program that allows users to create and share documents that
include code, equations, data, and other resources.a popular tool for data
analysis, data science, and machine learning
• How it works: Users can execute code and review the output quickly, which
is useful for testing hypotheses and recording results
• Features Supports over 40 programming languages, including Python, R,
Julia, and Scala
• Sharing Users can share notebooks with others using email, Dropbox,
GitHub, and the Jupyter Notebook Viewer 6
• Exporting Users can convert notebooks to open standard formats like
HTML, LaTeX, PDF, Markdown, and Python
• Installation Anaconda, a popular Python distribution, comes with Jupyter
Notebook preinstalled.

19
PART-2 PROJECT

name of proposed project


Weather prediction and recommendation system using python

20
20
CHAPTER-2
2.1. INTRODUCTION TO PROJECT

Weather is a vital part of a person's life because it can tell us whether it will
rain or be sunny. Weather forecasting is meteorologists' attempt to predict
weather conditions in the future, as well as weather conditions that may be
predicted. Temperature, pressure, humidity, dew point, rainfall, precipitation,
wind speed, and dataset size are all used to calculate the climatic state
parameters.
To begin, the data must be educated. We can use 75-90% of the data from the
data collection to train the data imported like API. Here API is vital role for
current data. Here one of the main feature is Speech Recognition User can
predict daily weather report using the particular dataset which is already l
send result. Mainly this will helpful for blind people. Based on this user can
get output for weather without click anything. If user want to access directly
they can go with visualization. Using this project user can get current weather
report and only need the input of name of the city once enter the city name
full report will be generated for current situation. We can analyze the predict
temperature with original temperature and can predict future rain fall. We'll
use the Linear Regression Algorithm and the Nave Bayesian Classification
Algorithm to make this prediction. Python, NumPy, Jupiter Notebook,
Spyder, and Panda will be used in this project. The project is split into three
separate Jupiter Notebooks: one to collect the weather data, inspect it, and
clean it; a second to further refine the features and fit the data to a Linear
Regression model and Naïve Bayesian model and a third to train and evaluate
our output.
The goal of weather prediction is to provide information people and
organizations can use to reduce weather-related losses and enhance societal
benefits, including protection of life and property, public health and safety,
and support of economic prosperity and quality of life.
The main aim of this project is predict the weather report and should be useful
for all kind of peoples. Based on this type of application we can avoid
unwanted weather related problem. The Linear Regression algorithm, which
is used to forecast weather using these data, is at the center of this project, the
higher the precision, the more parameters considered. This project has the
potential to assist a large number of people in predicting tomorrow's weather.
Temperature, dew, pressure, and humidity are simply used to train the data in
this project. These data are then used to train a prediction model using Linear
Regression.

21
2.1.1. PROBLEM STATEMENT
The peoples cannot know rainfall, snow etc.., and they couldn’t be able to
prevent from that natural disaster. Though using this application one can
easily find out their current weather situation in live location. The problem
statement for a weather prediction project is to develop a system that
accurately predicts weather conditions (temperature, humidity, precipitation)
for a specific location, helping users make informed decisions about their
daily activities and potentially preventing weather-related incidents. The
challenge lies in the unpredictable nature of weather and the need to develop
robust models that can handle various atmospheric conditions and accurately
predict future weather patterns.
Here's a more detailed breakdown of the problem. The key challenges
include:
• Unpredictability of Weather: Weather patterns are complex and
influenced by various factor ,making accurate prediction challenging.
• Data Complexity: Weather data is often incomplete, noisy, and
requires sophisticated techniques for analysis and prediction.
• Model Accuracy: Developing models that can accurately forecast
weather conditions, especially for longer time horizons, is a significant
challenge.
• Real-time Updates: Weather conditions can change rapidly, requiring
real-time data updates and predictive models that can adapt to these
changes.
• Resource Constraints: Access to sufficient data, computational
power, and expertise can be limiting for some projects.

2.1.2. System architecture

A system architecture for a weather prediction project using machine learning


typically involves several key components: data acquisition, preprocessing,
model training, and model deployment. Data is collected from various sources
like weather stations, satellites, and databases. This data is then preprocessed
to clean and transform it into a suitable format for model training. Machine
learning models, such as regression or classification algorithms, are trained
on this data to learn patterns and predict future weather conditions. Finally,
the trained models are deployed for real-time weather prediction, often
integrated into web or mobile applications.

21
collecting data Machines initially learn from the data that you give them. It is
of the utmost importance to collect reliable data so that your machine learning
model can find the correct patterns. The quality of the data that you feed to
the machine will determine how accurate your model is. If you have incorrect
or outdated data, you will have wrong outcomes or predictions that are not
relevant. Good data is relevant, contains very few missing and repeated
values, and has a good representation of the various subcategories and classes
present. preparing the data Putting together all the data you have and
randomizing it. This helps make sure that data is evenly distributed, and the
ordering does not affect the learning process. Cleaning the data to remove
unwanted data, missing values, rows, and columns, duplicate values, data
type conversion, etc. You might even have to restructure the dataset and
change the rows and columns or index of rows and columns. Visualize the
data to understand how it is structured and understand the relationship
between various variables and classes present. Splitting the cleaned data into
two sets - a training set and a testing set. The training set is the set your model
learns from. A testing set is used to check the accuracy of your model after
training. choosing a model a machine learning model determines the output
you get after running a machine learning algorithm on the collected data.
training is the most important step in machine learning. in training, you pass
the prepared data to your machine learning model to find patterns and make
predictions. it results in the model learning from the data so that it can
accomplish the task set. over time, with training, the model gets better at
predicting. evaluating the model after training your model

2.1.3. User Experience


1. User Interface (UI) and User Experience (UX) Principles
A well-designed user experience for a machine learning-powered weather
prediction project should focus on clarity, ease of use, and relevance to the
user's needs. This includes a simple interface for temperature input, clear
visualization of forecasts, and potentially personalized recommendations
based on user preferences conditions.

Simplicity
The interface should be intuitive and easy to navigate, even for users who
are not tech-savvy.
Clarity:
Weather information should be presented in a clear and easy-to-
understand manner, avoiding technical jargon. Relevance
the forecasts should be tailored to the user's specific conditions and
interests.

22
.

Personalization
Consider options for users to customize their experience, such as preferred
units of measurement, alert preferences, or specific weather parameters of
interest

2. Key Features and Functionality


Forecast Display:
Clear and concise presentation of weather conditions, including
temperature, precipitation, wind speed, and other relevant factors.
Visualization:
Use of maps, charts, or other visual aids to help users understand the
weather patterns.
Personalized Recommendations:
Suggesting relevant information based on user preferences, such as
cooking tips for rainy days or event planning advice based on weather
conditions. Alerts:
Options for users to receive alerts for specific weather events, such as
heavy rain or extreme temperatures.
Historical Data:
Ability to view historical weather data for a specific temperatures.

3. Machine Learning Integration


Accurate Prediction:
Machine learning models can be used to predict weather conditions with
greater accuracy than traditional methods.
Adaptive Learning:
Models can continuously learn and improve their predictions over time by
incorporating new data.
Personalized Forecasts:
Machine learning can be used to personalize weather forecasts based on
user conditions and preferences.

23
2.1.4. Purpose
a. Provide Timely Information: Accurate weather predictions can help
individuals and organizations make informed decisions regarding their
activities, such as scheduling outdoor events, planning transportation
routes, and preparing for potential weather-related risks.

b. Support Various Industries: Weather predictions are crucial for a


wide range of industries, including:
i. Agriculture: Farmers can use weather forecasts to optimize
planting, harvesting, and irrigation practices.

ii. Transportation: Accurate weather forecasts can help airlines,


railways, and road transport companies manage disruptions
caused by inclement

iii. Disaster Management: Weather forecasts are essential for


predicting and preparing for natural disasters, such as
hurricanes, floods, and wildfires.

iv. Energy Sector: Weather forecasts can help utility companies


estimate energy demand and optimize power generation and
distribution

c. Improve Prediction Accuracy: Machine learning models can


leverage vast amounts of data to identify complex patterns and
relationships in weather systems, leading to more precise predictions
than traditional methods.

d. Enhance Forecasting Speed: Machine learning algorithms can


process data and make predictions much faster than traditional weather
models, allowing for quicker dissemination of forecasts.

2.1.5. HARDWARE AND SOFTWARE REQUIREMENTS


2.1.5.1. hardware requirements
Processor (CPU):
A multi-core processor with good clock speed is essential for efficient
computation. High-end CPUs, or even a cloud-based computing environment,
may be needed for complex models or large datasets.
• Memory (RAM):

24
Adequate RAM is crucial for loading and processing the weather data and the
machine learning model. The amount of RAM needed depends on the size of
the data and the complexity of the model.
• Storage:
Sufficient storage space is required to store the weather data, the trained
model, and any intermediate files. A Solid State Drive (SSD) provides faster
read/write speeds for improved performance.
• Graphics Processing Unit (GPU):
GPUs are highly parallel and can significantly accelerate machine learning
tasks, especially for deep learning models. If the project involves complex
models or large datasets, a GPU can provide a substantial speedup.
System requirements include
:
• RAM: Minimum 1 GB RAM, Recommended 2 GB RAM, above
• Disk Space: Minimum 1.5 GB Hard Disk Space
• Display Resolution: Minimum 1024x768 Screen Resolution
• Processor: Dual-Core Processor or Higher

2.1.5.2 SOFTWARE REQUIREMENTS

2.1.5.2.1 Windows
• Operating System: Microsoft Windows 10 / 11
• Python
• MySQL / SQLite
• Web Browser (Chrome / Firefox)
• Code Editor (VS Code / Sublime Text)

2.1.5.2.2 Mac

• Operating System: macOS X 10.8 or Higher

25
• Python
• MySQL / SQLite
• Web Browser (Safari / Chrome)
• Code Editor (VS Code / Atom)

2.2. BLOCK DIAGRAM OF PROJECT

Fig. 2.1 Block diagram [7]


2.2.1. WORK FLOW DIAGRAM

26
Fig.2.2 flow chart [7]

2.3. FLOW CHART OF PROJECT


2.3.1 Data Flow Diagram (DFD) Symbols
In the DFD, there are four symbols:
1. A square defines a source (originator) or destination of system data.
2. An arrow identifies data flow. It is the pipeline through which the
information flows
. 3. A circle or a bubble represents a process that transforms incoming data
flow into outgoing data flows.
4.An open rectangle is a data store—data at rest or a temporary repository of
data.

27
2.3.2 Constructing a DFD
Several rules of thumb are used in drawing DFDs:
1. Processes should be named and numbered for easy reference. Each
name should be representative of the process.
2. The direction of flow is from top to bottom and from left to right. Data
traditionally flows from source to the destination, although it may flow back
to the source. One way to indicate this is to draw a long flow line back to the
source. An alternative way is to repeat the source symbol as a destination. If
a symbol is used more than once in the DFD, it is marked with a short
diagonal.
3. When a process is exploded into lower-level details, it is numbered
accordingly.
4. The names of data stores and destinations are written in capital letters.
Process and dataflow names have the first letter of each word capitalized

28
A DFD typically shows the minimum contents of each data store. Each data
store should contain all the data elements that flow in and out. Questionnaires
should contain all the data elements that flow in and out. Missing interfaces,
redundancies, and the like are then accounted for—often through interviews.

2.3.3 Silent Features of DFDs

• The DFD shows flow of data, not control loops or decision-making


processes.
• Control considerations do not appear on a DFD.
• The DFD does not indicate the time factor involved in any process—
whether the data flow takes place daily, weekly, monthly, or yearly
• The sequence of events is not brought out in the DFD.

29
FIG 2.3 DFD [7]
The data from the user are taken as inputs. Then the data is processed. Data is
implemented in the trained module and are tested. After testing the data, the
weather is predicted and executes the output.

30
10
FIG.2.4 DFD [7]

DFD 0, DFD 1, DFD 2 are the data flow diagram that represents the flow of
data process and generates the report.

A flowchart is a representation of the process using diagrams. It is also defined


as a diagrammatical representation of algorithms or step by step process of
solving tasks.

31
Fig.2.5

2.4 Coding of Project

32
Fig 2.5 Coding

Fig 2.6 Coding

33
Fig 2.7 Coding

Fig 2.8 Coding

34
Fig 2.9 Coding

Fig 2.10 Coding

35
Fig 2.11 Coding

Fig 2.12 Coding

36
Fig 2.13 Coding

Fig 2.14 Coding

37
Fig 2.15 Coding

2.5. SCREENSHOT OF PROJECT


2.5.1. Search Dashboard

38
2.5.2. Input Values

2.5.3. Predicted Weather

39
2.5.4. Current Temperature

2.5.5 Chances of Rainfall

2.5.6 Next 3 Hours Weather

40
10
2.5.7. Next 3 Days Weather

2.5.8. recommended activities

2.5.9 general advice

41
2.5.10 Special recommendations for children

42
2.6 APPLICATIONS OF PROJECT

Applications of Weather Prediction system using Machine Learning


are:
Agriculture:
Accurate weather forecasts can help farmers make informed
decisions about planting, harvesting, irrigation, and pest control,
ultimately maximizing crop yields and minimizing losses.

Transportation:
Predicting weather conditions is crucial for planning and
scheduling flights, train routes, and maritime activities, helping to
mitigate delays and enhance safety.

Energy:
Weather forecasts can assist in managing energy demand fluctuations,
allowing for optimized power generation and distribution.

Disaster Management:
Early warnings for extreme weather events like hurricanes and
typhoons, provided by machine learning models, can help
communities prepare and respond effectively, potentially saving
lives and reducing property damage.

Construction:
Accurate weather forecasts can help construction projects avoid
delays and maintain quality, especially in areas with adverse
weather conditions.
Public Safety:

43
Weather predictions inform public alerts and warnings, helping
individuals and organizations take necessary precautions in the
face of dangerous weather conditions.

Tourism and Recreation:


Weather forecasts are essential for planning outdoor activities and
making informed decisions about travel, impacting the tourism and
recreation industries.

Military and Emergency Services:


Accurate weather forecasts are crucial for military operations and
emergency response, helping to ensure the safety and effectiveness
of personnel.

Insurance Industry:
Weather predictions can help insurance companies assess and
manage risks associated with weather-related disasters, such as
floods, storms, and wildfires.

Research and Development:


Machine learning models can be used to study climate change,
analyze historical weather patterns, and develop new forecasting
techniques.

44
2.7 REFRENCES

1 https://technobrainz.in/operators-in-python/
2 https://pynative.com/python-control-flow-statements/
3 https://www.geeksforgeeks.org/python-functions/
4 https://www.w3schools.com/
5 https://www.python.org/
6 https://www.irjet.net/
7 https://www.researchgate.net/

45

You might also like