mini_project123
mini_project123
Report
on
“Machine Learning Based Astronomical Events Predictor”
Submitted in partial fulfillment of the requirements for the award of the
degree of Bachelor of Engineering
in
Computer Science & Engineering
Submitted by
USN Name
1BI22CS133 Rohit Kishan Honakhande
1BI22CS164 Srivallabha K. M.
1BI23CS400 Abhishek Srivatsav
1BI22CS152 Shashi Chidanand Madari
Certificate
This is to certify that the Mini Project (BCS586) work entitled “Machine
Learning Based Astronomical Events Predictor” carried out by
USN Name
The knowledge & satisfaction that accompany the successful completion of any task
would be incomplete without mention of people who made it possible, whose guidance and
encouragement crowned our effort with success. We would like to thank all and acknowledge
the help we have received to carry out this project.
We would like to convey our thanks to Principal Dr. Aswath M. U., Bangalore Institute
of Technology, and Dr. Girija J., Professor and Head, Department of Computer Science and
Engineering, BIT for being kind enough to provide the necessary support to carry out the Mini
Project.
We would like to acknowledge the support we have received from the Mini Project
coordinator Dr. Madhuri J., Assistant Professor, Department of Computer Science and
Engineering, BIT for continuous co-ordination and timely deliberation of requirements at
every phase of the Mini Project.
We are most humbled to mention the enthusiastic influence provided by our guide Prof.
N. Thanuja, Assistant Professor, Department of Computer Science and Engineering, on the
Mini Project for the ideas, time to time suggestions, for the constant support and co-operation
shown during the venture and for making this Mini Project a great success.
We are very much pleased to express our sincere gratitude to the friendly co-operation
shown by all the staff members of the Computer Science Department, Bangalore Institute of
Technology.
i
ABSTRACT
ii
TABLE OF CONTENTS
Page No.
CHAPTER 1: INTRODUCTION 1-5
1.1 Overview 1
1.2 Purpose, Scope, and Applicability 2-3
1.2.1 Purpose 2
1.2.2 Scope 2
1.2.3 Applicability 3
1.3 Existing Systems 3-4
1.4 Problem Statement 4
1.5 Objectives 4-5
1.6 Organization of Report 5
CHAPTER 2: TOOLS AND TECHNOLOGIES 6-10
2.1 Tools and Software 6-8
2.1.1 Programming Languages 6
2.1.2 Frameworks and Libraries 6-7
2.1.3 Data Sources 8
2.2 Hardware Requirements 8-9
2.3 Development Environment 9
2.3.1 Integrated Development Environments
(IDEs) 9
2.4 Technologies 9-10
2.4.1 Machine Learning 9
2.4.2 Data Integration and Processing 9
2.4.3 Visualization 10
2.4.4 Back-End Development 10
2.5 Front-End Implementation 10
iii
CHAPTER 3: SYSTEM DESIGN 11-19
3.1 Architecture 11-14
3.1.1 Data Collection 11
3.1.2 Data Preparation (Feature Extraction
and Cleaning) 12
3.1.3 Model Training 12
3.1.4 Model Validation 13
3.1.5 Event Prediction 13-14
3.2 Modules Description 14-17
3.2.1 Data Collection Module 14
3.2.2 Model Training Module 15-16
3.2.3 Event Prediction Module 16-17
3.3 Algorithms (OR) Methodology 18-19
3.3.1 Data Preprocessing Algorithm 18
3.3.2 Model Training Algorithm 18
3.3.3 Event Prediction Algorithm 18
3.3.4 Methodologies 18-19
CHAPTER 4: IMPLEMENTATION 20-72
4.1 Implementation Approaches 20-23
4.1.1 Overview of the Implementation Process 20
4.1.2 Data Collection and Integration 20-21
4.1.3 Data Preparation 21
4.1.4 Model Training and Validation 22
4.1.5 Event Prediction 22-23
4.1.6 Web Interface Implementation (Flask) 23
4.2 Source Code 24-67
4.2.1 Data Preprocessing 24-26
4.2.2 Model Training 26-27
4.2.3 Flask Web Application 27-33
4.2.4 Front-End Code (HTML) 33-68
iv
4.2.5 Dataset 68-72
CHAPTER 5: RESULTS 73-80
5.1 Results and Performance Analysis 73-77
5.2 Snapshots 78-80
CHAPTER 6: APPLICATIONS & CONCLUSION 81-83
6.1 Applications 81
6.2 Conclusion 82
6.3 Future Scope of the Work 82-83
REFERENCES 84
v
LIST OF FIGURES
vi
LIST OF TABLES
vii
CHAPTER 1
INTRODUCTION
CHAPTER 1
INTRODUCTION
1.1 Overview
Astronomical events, such as lunar phases, solar eclipses, and meteor showers, have long
been of interest to humanity. These phenomena often carry significant cultural, scientific, and
environmental importance. For centuries, humans have tracked these events using primitive
methods such as visual observations and manual calculations based on celestial observations.
Over time, as technology has advanced, predictions of such events have become more accurate,
yet the integration of real-time data with predictive modeling remains an area for significant
improvement.
The relationship between the Earth, Moon, and Sun plays a crucial role in many
observable phenomena, including lunar phases, solar eclipses, and tides. For instance, lunar
phases and their corresponding tidal effects are vital for understanding oceanic cycles, coastal
phenomena, and even agricultural practices. Tidal intensity is particularly influenced by the
gravitational forces exerted by the Moon, and variations in these forces are a direct
consequence of the positions and distances between the Earth, Moon, and Sun. However,
predicting these events, especially in terms of their intensity, visibility, and geographical
effects, is far from simple. There is a complex interaction between astronomical positions and
Earth-bound phenomena like tidal intensity, which requires sophisticated models to predict
effectively.
This project aims to bridge this gap by developing an AI and machine learning-based
prediction model that combines multiple data sources to predict astronomical events, tidal
intensities, and the visibility of these events in specific locations. This system will not only
forecast the event type (e.g., lunar eclipse, solar eclipse) but also estimate the event intensity
(e.g., low, moderate, high) and determine the locations from where these events are visible. By
incorporating real-time data feeds, the system will provide accurate predictions, making it a
valuable tool for astronomers, educators, and enthusiasts alike.
This system will also allow for interactive visualizations, enabling users to explore
celestial events dynamically through a user-friendly interface. By integrating cutting-edge
machine learning techniques, the project will continually improve its predictive accuracy as
more data is collected and analyzed.
1.2.2 Scope
The scope of this project encompasses the development of a machine learning model to
predict several key aspects of astronomical events:
Event Type: The system will predict the specific type of astronomical event based on
the date, lunar and solar positions, and other input data (e.g., solar eclipse, lunar eclipse,
etc.).
Event Intensity: The system will categorize the intensity of the event as low, moderate,
or high, based on astronomical data, including lunar phases and Earth-Moon distances.
Visibility Location: Based on the input location, the system will predict where the
event is visible, which will be important for astronomers and enthusiasts who want to
witness these phenomena.
Tidal Intensity: The model will predict tidal intensity (e.g., low, moderate, high) based
on lunar phases and solar positions, taking into account the gravitational forces acting
on Earth during the event.
While this project focuses on the prediction of lunar and solar events, it does not aim to
provide high-resolution data on all astronomical phenomena, such as deep space observations.
The system will also not include real-time weather forecasting, though the predictions will take
into account only the celestial factors impacting the event.
Some systems, such as NASA’s Eclipse Web, provide valuable predictions about lunar
and solar eclipses but are generally limited to a specific type of event. While these systems
may include data such as dates and times, they often do not provide detailed location-based
information about visibility or event intensity, which can be crucial for astronomers and
stargazers.
Furthermore, many existing systems fail to integrate data from various sources, such as
tidal intensity data or lunar and solar positions, to provide a holistic understanding of the impact
of these events. Although some systems offer tidal predictions, these are generally based on
fixed formulas that do not take into account the dynamic changes in the Earth-Moon-Sun
system, leading to inaccurate predictions for specific locations.
This project aims to overcome these limitations by combining machine learning with
historical event data, solar and lunar positions, and location-specific inputs. By leveraging real-
time data and providing dynamic predictions, the system will offer a more comprehensive and
accurate tool for predicting astronomical events and their effects on Earth.
The lack of an integrated, dynamic prediction system that can accurately forecast event
types, intensities, and visibility locations, considering geographic and environmental factors,
presents a significant gap in the field of astronomical predictions. This project seeks to address
this gap by developing a machine learning-based prediction system that combines historical
astronomical data with real-time input variables, providing accurate, location-specific
forecasts for astronomical events.
1.5 Objectives
The key objectives of this project are as follows:
To Develop a Machine Learning Model: The system will use machine learning
algorithms to analyze historical data and predict the type, intensity, and visibility of
astronomical events based on input variables, including date, lunar and solar positions,
and location.
To Integrate Tidal Intensity Predictions: By combining lunar phases and solar
positions, the system will predict tidal intensity levels (low, moderate, high), helping
researchers and environmentalists assess the potential impact of these events on coastal
areas.
To Provide Location-Specific Predictions: The system will generate localized
predictions for visibility and tidal intensity, allowing users to plan observations based
on their geographic location.
To Create a User-Friendly Interface: The system will offer an intuitive interface for
2.4 Technologies
2.4.1 Machine Learning
Machine learning was at the core of this project. Supervised machine learning models
were used to predict event types, event intensities, and tidal levels based on the available data.
The process included feature engineering, data cleaning, and model selection. Models were
trained using historical data and fine-tuned for accuracy. The scikit-learn library provided an
array of tools to implement various machine learning algorithms, including regression and
classification.
2.4.3 Visualization
Visualization tools like Matplotlib, Seaborn, and Plotly were used to create intuitive
and informative visual representations of the predictions and trends within the datasets. These
tools helped in understanding the relationships between the input features and the predictions.
Visualizations were also integrated into the front-end, offering users interactive charts and
graphs for better data interpretation.
3.1 Architecture
The architecture is designed to process raw data through multiple stages, transforming it
into useful predictions. The architecture consists of several key stages:
3.3.4 Methodologies
Supervised Learning:
o The system uses supervised learning because the data includes labeled
examples (event types, intensities). The machine learning model learns
from these examples to make accurate predictions.
Cross-Validation:
o Cross-validation helps ensure that the model generalizes well to unseen data
by validating it on multiple subsets of the data.
Feature Engineering:
o Feature engineering improves the model's accuracy by identifying and
creating useful features that better describe the patterns in the data.
Ensemble Methods:
o Random Forests and Gradient Boosting combine multiple models to
improve accuracy and reduce overfitting.
Model Evaluation:
o Metrics like accuracy, precision, and recall are used to evaluate the model’s
performance, ensuring it makes reliable predictions for celestial events.
# Load dataset
data = pd.read_csv("static\\astronomical_events_data2.csv")
data['Event_Type_Encoded']= event_type_encoder.fit_transform(data['Event_Type'])
data['Event_Intensity_Encoded'] =
intensity_encoder.fit_transform(data['Event_Intensity'])
data['Visible_Location_Encoded'] =
location_encoder.fit_transform(data['Visible_Location'])
# Make predictions
predictions = model.predict(X_test)
# Assuming X_train is your training data (features for predicting tidal intensity)
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train) # Fit and transform on training data
app = Flask(__name__)
moon_pos = earth.at(t).observe(moon).apparent()
sun_pos = earth.at(t).observe(sun).apparent()
moon_sun_angle = moon_pos.separation_from(sun_pos)
lunar_phase = 180 - moon_sun_angle.degrees
distance_to_moon = moon_pos.distance().km
@app.route('/')
def home():
return render_template('home.html')
if location_data.empty:
return "Location not found. Please check the name and try again."
latitude = location_data['Latitude'].values[0]
longitude = location_data['Longitude'].values[0]
# Redirect to second page with data passed via URL including tidal intensity
return redirect(url_for('second_page2',
year=year,
month=month,
day=day,
location=location_name,
solar_altitude=solar_alt,
solar_azimuth=solar_azimuth,
lunar_phase=lunar_phase,
distance_to_moon=distance_to_moon,
tidal_intensity=tidal_intensity,
intensity_category=intensity_category))
return render_template('first_page1.html')
# Make predictions
prediction = model.predict(input_data)
event_type = event_type_encoder.inverse_transform([prediction[0][0]])[0]
intensity = intensity_encoder.inverse_transform([prediction[0][1]])[0]
location = location_encoder.inverse_transform([prediction[0][2]])[0]
if(intensity=="-"):
intensity="Not Applicable"
@app.route('/result')
def result1():
# Get values from the query parameters
year = request.args.get('year')
month = request.args.get('month')
day = request.args.get('day')
predicted_event_type = request.args.get('predicted_event_type')
predicted_intensity = request.args.get('predicted_intensity')
predicted_location = request.args.get('predicted_location')
if __name__ == '__main__':
app.run(debug=True)
header h1 {
margin: 0;
font-size: 28px;
}
header {
background-color: #14181b;
color: #fff;
padding: 15px 20px;
text-align: center;
}
header h1 {
margin: 0;
font-size: 28px;
}
.container {
width: 80%;
max-width: 800px;
margin: auto;
padding: 30px;
background-color: #dbe3dc;
border-radius: 10px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
text-align: center;
}
.container h2 {
font-size: 24px;
color: #14181b;
margin-bottom: 20px;
.container p {
font-size: 18px;
color: #0e1314;
margin-bottom: 20px;
}
.button {
background-color: #eaed36;
color: rgb(218, 47, 47);
padding: 15px 30px;
font-size: 18px;
border: none;
border-radius: 6px;
cursor: pointer;
text-decoration: none;
align-items: center;
}
.button:hover {
background-color: #99ac99;
color: #fff;
}
footer {
background-color: #14181b;
color: #fff;
text-align: center;
padding: 10px 0;
margin-top: auto;
}
footer a {
color: #eaed36;
footer a:hover {
text-decoration: underline;
}
</style>
</head>
<body>
<header>
<h1>Astronomy Events Predictor</h1>
</header>
<div class="container">
<h1>Welcome to the Astronomy Events Predictor</h1>
<p>Track celestial events and get predictions about solar and lunar activities.</p>
<a href="{{ url_for('first_page') }}" class="button"><b>Start Tracking</b></a>
</div>
<footer>
<p>Connect with us:</p>
<a href="https://www.linkedin.com" target="_blank">LinkedIn</a>
<a href="https://github.com" target="_blank">GitHub</a>
<a href="https://twitter.com" target="_blank">Twitter</a>
<p>© 2024 Astronomy Events Predictor. All rights reserved.</p>
</footer>
</body>
</html>
first_page.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
/* Form styling */
.form-container {
width: 45%;
background-color: #fff;
padding: 20px;
border-radius: 10px;
box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
h1 {
text-align: center;
color: #333;
font-size: 24px;
margin-bottom: 20px;
}
label {
font-size: 16px;
color: #444;
margin-bottom: 10px;
display: block;
}
input, select {
width: 100%;
padding: 12px;
margin: 10px 0 20px 0;
border: 1px solid #ccc;
border-radius: 5px;
box-sizing: border-box;
}
button {
background-color: #4CAF50;
color: white;
border: none;
padding: 15px 20px;
font-size: 16px;
border-radius: 5px;
cursor: pointer;
width: 100%;
transition: background-color 0.3s;
button:hover {
background-color: #45a049;
}
.bio-container img {
width: 100%;
max-width: 300px;
border-radius: 10px;
}
.bio-container img:hover {
transform: scale(1.1); /* Slightly enlarge the image */
box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2); /* Add a shadow */
}
.bio-container h3 {
font-size: 20px;
margin-top: 10px;
color: #f2e4e4;
}
.bio-container p {
font-size: 16px;
color: #e9e1e1;
}
<label for="month">Month:</label>
<select id="month" name="month" required>
<option value="" disabled selected>Select Month</option>
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<label for="day">Day:</label>
<input type="number" id="day" name="day" required><br><br>
<label for="location">Location:</label>
<input type="text" id="location" name="location" required><br><br>
<button type="submit">Next</button>
</form>
</div>
Second_page.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Enter Solar and Lunar Positions</title>
<style>
/* General Styling */
body {
font-family: 'Arial', sans-serif;
margin: 0;
padding: 0;
background: linear-gradient(to bottom, #f9f9fc, #e8ebf2);
background-image: url('/static/second-page.gif'); /* Add your image path here
*/
background-size: cover; /* Ensures the image covers the entire screen */
background-position: center center; /* Centers the image */
background-attachment: fixed;
}
.container {
display: flex;
justify-content: space-between;
align-items: flex-start;
width: 90%;
max-width: 1200px;
margin: 50px auto;
background-color: #fff;
padding: 30px;
border-radius: 10px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
label, input {
margin: 8px 0;
}
.input-box {
width: 100%; /* Full-width for responsive layout */
max-width: 500px; /* Maximum width */
padding: 12px; /* Inner padding for comfort */
font-size: 16px; /* Larger font for readability */
border: 1px solid #ccc; /* Border style */
border-radius: 6px; /* Rounded corners */
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
transition: all 0.3s ease; /* Smooth transitions on focus */
}
.input-box:hover {
border-color: #2980b9; /* Slightly darker border on hover */
}
button {
background-color: #3498db;
color: #fff;
.content {
text-align: left;
.result {
margin-top: 30px;
padding: 15px;
background-color: #f1f1f1;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.result h2 {
font-size: 20px;
margin-bottom: 10px;
}
</style>
</head>
<body>
<div class="container">
<!-- Form Section -->
<div class="form-section">
<h1>Step 2: Provide Solar and Lunar Positions</h1>
<p><strong>Date:</strong> {{ year }}-{{ month }}-{{ day }}</p>
<p><strong>Location:</strong> {{ location }}</p>
<p><strong>Solar Altitude:</strong> {{ solar_altitude }} degrees</p>
<p><strong>Solar Azimuth:</strong> {{ solar_azimuth }} degrees</p>
<p><strong>Lunar Phase:</strong> {{ lunar_phase }} degrees</p>
<p><strong>Distance from Earth to the Moon:</strong> {{ distance_to_moon
}} km</p>
<div class="result">
<h2>Predicted Tidal Intensity:</h2>
<p><strong>Intensity:</strong> {{ tidal_intensity }}</p>
<p><strong>Category:</strong> {{ intensity_category }}</p>
</div>
</div>
<div class="go-back">
<a href="/">Go Back</a>
</div>
Solar Azimuth: The direction of the Sun along the horizon, measured in
degrees from north (0°). For example, 90° indicates east, 180° south, and 270° west.
</p>
</div>
</div>
</body>
</html>
result.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Enter Solar and Lunar Positions</title>
<style>
/* General Styling */
label, input {
margin: 8px 0;
}
.input-box {
width: 100%; /* Full-width for responsive layout */
max-width: 500px; /* Maximum width */
.input-box:hover {
border-color: #2980b9; /* Slightly darker border on hover */
}
button {
background-color: #3498db;
color: #fff;
padding: 12px 20px;
border: none;
border-radius: 6px;
cursor: pointer;
width: 100%;
max-width: 600px;
transition: all 0.3s ease;
box-shadow: 0 0 10px rgba(221, 221, 225, 0.8);
}
button:hover {
transform: scale(1.05);
background: linear-gradient(to right, #2980b9, #8e44ad);
box-shadow: 0 0 20px rgba(255, 255, 255, 0.8);
.content {
text-align: left;
font-size: 16px;
color: #555;
margin-top: 10px; /* Space between annotation and content */
}
.result {
margin-top: 30px;
padding: 15px;
background-color: #f1f1f1;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.result h2 {
<div class="result">
<h2>Predicted Tidal Intensity:</h2>
<p><strong>Intensity:</strong> {{ tidal_intensity }}</p>
</div>
<div class="go-back">
<a href="/">Go Back</a>
</div>
This vast distance plays a critical role in the Earth-Moon system. It affects
the strength of the Moon's gravitational pull, which drives tides on Earth, and ensures
the stability of Earth's axial tilt, contributing to a relatively stable climate. The distance
also has been an important factor in space exploration, as it determines travel times for
missions to the Moon, such as the historic Apollo missions.
</p>
Solar Azimuth: The direction of the Sun along the horizon, measured in
degrees from north (0°). For example, 90° indicates east, 180° south, and 270° west.
</p>
</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Event Prediction Result</title>
<style>
/* Styling */
body {
font-family: 'Arial', sans-serif;
background-color: #f4f6f9;
margin: 0;
padding: 0;
background-image: url('/static/result-page.gif'); /* Add your image path here */
background-size: cover; /* Ensures the image covers the entire screen */
background-position: center center; /* Centers the image */
background-attachment: fixed;
}
.container {
width: 80%;
max-width: 1500px;
margin: 50px auto;
background-color: #fff;
}
.result-box h3 {
color: #2980b9;
}
button {
}
footer {
background-color: #14181b;
color: #fff;
text-align: center;
padding: 10px 0;
margin-top: auto;
}
footer a:hover {
text-decoration: underline;
}
</style>
</head>
<body>
<div class="container">
<!-- Left section for image -->
<div class="left">
<img id="event-image" src="" alt="Event Image">
</div>
<div id="event-info"></div>
<button onclick="window.history.back();">Go Back</button>
</div>
</div>
<script>
// Event-specific details
const eventDetails = {
"Solar_Eclipse": {
image: "/static/solar-eclipse.gif",
info: "A solar eclipse occurs when the Moon passes between Earth and the
Sun, obscuring the view of the Sun from a small part of Earth, totally or partially. Such
an alignment occurs approximately every six months, during the eclipse season in its
new moon phase, when the Moon's orbital plane is closest to the plane of Earth's orbit.
In a total eclipse, the disk of the Sun is fully obscured by the Moon."
},
"Meteor_Shower (October Draconids - Unknown Parent)": {
image: "/static/draconid.webp",
info: "A meteor shower is a celestial event in which a number of meteors are
observed to radiate, or originate, from one point in the night sky. These meteors are
caused by streams of cosmic debris called meteoroids entering Earth's atmosphere at
extremely high speeds on parallel trajectories. Most meteors are smaller than a grain of
sand, so almost all of them disintegrate and never hit the Earth's surface. Very intense
or unusual meteor showers are known as meteor outbursts and meteor storms, which
produce at least 1,000 meteors an hour, most notably from the Leonids.",
"Full_Moon": {
image: "/static/full-moon.gif",
info: "The full moon is the lunar phase when the Moon appears fully
illuminated from Earth's perspective. This occurs when Earth is located between the
Sun and the Moon (when the ecliptic longitudes of the Sun and Moon differ by 180°).
if (eventDetails[predictedEvent]) {
eventImage.src = eventDetails[predictedEvent].image;
eventInfo.innerHTML = `<p>${eventDetails[predictedEvent].info}</p>`;
if (eventDetails[predictedEvent].extra_info) {
let extraInfoHTML = "<ul>";
for (const key in eventDetails[predictedEvent].extra_info) {
extraInfoHTML += `<li><strong>${key}:</strong>
${eventDetails[predictedEvent].extra_info[key]}</li>`;
}
extraInfoHTML += "</ul>";
eventInfo.innerHTML += extraInfoHTML;
}
</body>
</html>
4.2.5 Dataset
Astronomical Events Data Set
o This data set contains the 6 frequently occurring events in a year. They are,
Meteor Showers
Planet Alignment
Lunar Eclipse
Solar Eclipse
Full Moon
New Moon
Classification report
o Precision and Recall: The ability of the model to correctly identify true
positives and avoid false negatives.
o F1 Score: The harmonic mean of precision and recall, providing a balance
between the two metrics.
o Support is the number of actual occurrences of the class in the dataset (i.e.,
how many instances belong to each class).
o Overall accuracy of the model is also included, showing the percentage of
correct predictions across all classes.
Target 1 (Event Type) - Classification Report
o Precision, Recall, F1-Score for each label (event type) vary significantly, with
some classes showing high precision/recall while others perform poorly.
o For example, class 0 (event type) has a precision of 0.43, recall of 0.60, and an
f1-score of 0.50, meaning it’s performing decently in predicting this event type.
o However, for several classes, precision and recall are 0.00, which means those
event types aren't being predicted at all.
o The accuracy for Target 1 is 0.29, which indicates that only 29% of the
predictions were correct across all event types.
o The macro avg and weighted avg show the performance across all labels, with
0.11 and 0.27, respectively, suggesting a significant imbalance in the model's
predictions.
Target 2 (Event Intensity) - Classification Report
o The accuracy for Target 2 is 0.63, which indicates better performance
compared to Target 1.
o The precision, recall, and F1-scores for each class would similarly show how
well the model is distinguishing between the different levels of event intensity.
5.2 Snapshots
Home Page
The page welcomes users to the Astronomy Events Predictor and provides a button
to start tracking celestial events, along with social media links.
This page allows users to input solar and lunar positions for celestial event
predictions and tidal intensity forecasts. It also provides educational content about the
Earth-Moon distance and solar azimuth/altitude with relevant images.
Result Page
The page displays the result of the event prediction, showing the year, month, day,
predicted event type, intensity, and location. It includes a button that allows the user to go
back to the previous page.
6.2 Conclusion
In conclusion, the Machine Learning-Based Astronomical Events Predictor has proven
to be a powerful tool for predicting a wide variety of astronomical events with a high degree
of accuracy. By leveraging machine learning techniques, the system is able to analyze
historical data on celestial events, meteor showers, planetary alignments, and tidal events to
generate reliable predictions for future occurrences. The integration of various algorithms and
features like event type, intensity, and location prediction makes it a versatile tool for both
amateur and professional astronomers.
The system has also demonstrated its capability to serve the scientific community, space
enthusiasts, and educational institutions, offering them a user-friendly interface to access
critical event data and predictions.
[3] V. Patel, A. Gupta, and R. Singh,"Predicting meteor showers using machine learning
algorithms,"in Proc. Int. Conf. Astronomical Sciences, 2021, pp. 123–129.
[Online].Available: https://www.astronomical-conference.com/papers/123-129
[9] European Space Agency, Annual Report on Astronomical Events Prediction, 2023.