Final Reporttttt
Final Reporttttt
AT
TCIL IT Chandigarh
BACHELOR OF TECHNOLOGY
(Electronics and Communication Engineering )
JAN-APRIL 2025
SUBMITTED BY:
CHHATARPAL SINGH
12102010
DEPARTMENT OF ELECTRONICS AND COMMUNICATION
ENGINEERING
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
II
ACKNOWLEDGMENT
Last but not the least, I would like to thank my family and the All Mighty God.
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
1
CHAPTER 1
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
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.
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.
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.
Numbers can be integers (1 and 2), floats (1.1 and 1.2), fractions (1/2 and
2/3), or even complex numbers.
5
Bytes and byte arrays, e.g. a JPEG image file.
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
7
Iterative statements
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]
9
and can perform certain actions. Objects in Python ,Polymorphism,
Encapsulation ,Inheritance ,Data Abstraction are concepts of object
oriented programming
10
10
Development Process
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
1. Data Collection
2. Data Preprocessing
3. Choosing a Model
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.
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
3. Reinforcement Learning
13
Fig.1.4 machine learning [4]
• Classification
• Regression
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
15
1.3.3.4 Various Applications of Machine Learning
16
• Transportation: Machine learning is used in the
transportation industry to optimize routes, reduce fuel
consumption, and improve the overall efficiency of transportation
systems.
• PyCharm
• Visual studio code
• Jupyter notebook
• Python IDLE
• Anaconda
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)
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
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.
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
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
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.
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.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
25
• Python
• MySQL / SQLite
• Web Browser (Safari / Chrome)
• Code Editor (VS Code / Atom)
26
Fig.2.2 flow chart [7]
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.
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.
31
Fig.2.5
32
Fig 2.5 Coding
33
Fig 2.7 Coding
34
Fig 2.9 Coding
35
Fig 2.11 Coding
36
Fig 2.13 Coding
37
Fig 2.15 Coding
38
2.5.2. Input Values
39
2.5.4. Current Temperature
40
10
2.5.7. Next 3 Days Weather
41
2.5.10 Special recommendations for children
42
2.6 APPLICATIONS OF PROJECT
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.
Insurance Industry:
Weather predictions can help insurance companies assess and
manage risks associated with weather-related disasters, such as
floods, storms, and wildfires.
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