My Projects

CityNest: A Smart Accommodation Platform

Gitlink

Introduction

In today's fast-paced digital age of travel and hospitality, we all know how tough it can be to find that dream accommodation that truly aligns with our unique preferences and needs. But fear not! Let me introduce you to CityNest, my brainchild, a revolutionary platform driven by the magic of machine learning. Our ultimate aim is to transform the way you search, book, and experience accommodations, making it an unforgettable journey. By harnessing the power of various machine learning techniques, CityNest is all set to enhance the overall service quality and bring you those personalized recommendations you've always longed for. Below are the areas we are working on:


CityNest will deploy a context-aware recommendation system that takes into account multiple factors to suggest accommodations tailored to each user. By analyzing user preferences, past booking history, travel purpose, budget, and location preferences, the system will generate personalized accommodation suggestions. Leveraging collaborative filtering and content-based filtering algorithms, CityNest aims to ensure that users are presented with accommodations that align perfectly with their unique needs and desires.


One of the key challenges for accommodation platforms is determining the right pricing strategy. CityNest plans to implement machine learning models to optimize dynamic pricing. By analyzing market demand, accommodation availability, seasonal trends, and user behavior, the platform will dynamically adjust prices to strike a balance between host revenue and competitive pricing for guests. This will not only maximize revenue potential for hosts but also provide attractive deals to users, encouraging them to choose CityNest over other platforms.


The search ranking algorithm plays a crucial role in how users perceive the platform's efficiency. CityNest will deploy machine learning techniques to improve the search ranking process. By considering accommodation quality, user preferences, popularity, and relevant contextual data, the platform will present the most appealing options at the top of search results. This will significantly reduce the time users spend searching for suitable accommodations, leading to higher satisfaction rates.


CityNest understands the importance of maintaining a secure and trustworthy platform. To combat fraudulent activities, the platform will employ sophisticated machine learning models for fraud detection. By analyzing user behavior, payment patterns, and accommodation listings, CityNest will promptly identify and prevent fraudulent activities, ensuring a safe and reliable environment for all users.


Visuals play a vital role in the decision-making process. CityNest will implement image recognition models to automatically extract features from accommodation images. This will enable the platform to tag properties with relevant amenities, room types, and decor styles, providing users with comprehensive information about each accommodation. As a result, users can make more informed choices, and hosts can showcase their properties effectively.


CityNest recognizes the value of guest reviews and accommodation descriptions. Leveraging NLP techniques, the platform will analyze reviews and inquiries to gain insights into user sentiment and intent. This information will be utilized to improve the accuracy of the search and recommendation systems, as well as to provide hosts with constructive feedback to enhance their hosting experience.





Optics-free image classification with Deep Metric learning (Master's Thesis)

Gitlink

Imaging is a crucial component of various applications, including biomedicine and defense. As technology advances, there is a growing need to miniaturize cameras for better portability and accessibility. However, smaller cameras tend to collect less light at the sensor, resulting in noisy images. To address this issue, some researchers propose removing the lens altogether and relying on computational algorithms for image retrieval, also known as optics-free imaging.

This thesis explores a new approach to optics-free image classification using Deep Metric Learning. The model uses a Deep Convolutional Neural Network to learn image similarity metrics. The first task involves training the model on a dataset of degraded and original Cifar10 images for classification. In the second task, the model is trained on reconstructive Cifar10 images generated from degraded images using CycleGAN, along with original Cifar10 images. Finally, Bayesian Prior is applied to update the learning, and KL divergence is computed.




Crunching the Numbers: Identifying Top Opportunities for a Taxi App Upfront Pricing Precision Enhancement | Exploratory Data Analysis(EDA)

Gitlink

I have been tasked with identifying the top opportunities for TaxiApp to improve its upfront pricing precision. This report aims to provide actionable insights based on the analysis of the provided dataset. In order to achieve this goal, I have examined the dataset to identify any patterns, trends, or anomalies that could impact the accuracy of the upfront pricing predictions.

TaxiApp's upfront pricing system plays a critical role in the ride-hailing experience for its customers. If TaxiApp's predictions are consistently off, it can lead to revenue loss and increased customer churn. Therefore, it is essential to ensure that the prices predicted before the ride are as close as possible to the actual metered prices.  This not only helps to build trust with customers but also ensures that customers do not encounter any surprises or unpleasant experiences during their journey. Therefore, improving the upfront pricing precision is crucial for enhancing the overall customer experience and driving customer loyalty.

In this report, I present the findings of my analysis and provide recommendations for TaxiApp to improve its upfront pricing precision. My insights are based on a detailed exploration of the dataset, and I have used statistical techniques to identify potential opportunities for improvement. I believe that the recommendations presented in this report will help TaxiApp to enhance the accuracy of its upfront pricing predictions and provide a better experience to its customers, which can ultimately lead to increased revenue and market share.





CRODENA - Crop field Delineation using Transformer and UNet Architecture

Confidential

Crop field delineation, also known as field boundary detection, is the process of accurately identifying the boundaries of agricultural fields in aerial or satellite images. This is an important task in precision agriculture, as it allows farmers to efficiently manage their crops and optimize their use of resources.

Traditionally, crop field delineation has been performed using techniques such as image segmentation and edge detection. However, these methods can be time-consuming and may not produce accurate results in all cases.

Recently, the use of transformer and UNet architecture has gained attention as a promising approach for crop field delineation. Transformer architecture is a type of neural network that is particularly well-suited for tasks involving sequential data, such as natural language processing and image captioning. UNet architecture, on the other hand, is a type of convolutional neural network (CNN) that is commonly used for image segmentation tasks.

One approach to using transformer and UNet architecture for crop field delineation is to first use the transformer architecture to extract features from the input image. These features can then be passed to the UNet architecture, which can use them to accurately identify the boundaries of the fields.

Another approach is to use the transformer architecture to process the input image and generate a set of attention maps, which highlight the most important features in the image. These attention maps can then be used to guide the UNet architecture in accurately identifying the boundaries of the fields.

Overall, the use of transformer and UNet architecture for crop field delineation has the potential to significantly improve the accuracy and efficiency of this task. As these techniques continue to evolve and improve, we can expect to see even more impressive advances in the field of precision agriculture.


Cloud removal from satellite images using GAN Architecture

Confidential

Cloud removal from satellite images is a common challenge in the field of remote sensing, as clouds can obscure the view of the Earth's surface and make it difficult to accurately interpret the images. This is particularly problematic for applications such as land use and land cover mapping, where it is important to have clear and detailed images of the ground.

Recently, the use of generative adversarial networks (GANs) has gained attention as a promising approach for cloud removal from satellite images. GANs are a type of deep learning architecture that consists of two neural networks: a generator network and a discriminator network. The generator network is trained to generate realistic images, while the discriminator network is trained to distinguish between real and generated images.

One approach to using GANs for cloud removal is to train the generator network on a dataset of satellite images with and without clouds. The generator can then be used to generate a clear image of the ground from a cloudy input image.

Another approach is to use the GAN architecture to learn a mapping from cloudy images to clear images. This can be done by training the generator network to transform cloudy images into clear images, and training the discriminator network to distinguish between real clear images and generated clear images.

Overall, the use of GANs for cloud removal from satellite images has the potential to significantly improve the accuracy and efficiency of this task. As GANs continue to evolve and improve, we can expect to see even more impressive advances in the field of remote sensing.


ETL pipeline for World Bank dataset

GitLink 

ETL (extract, transform, load) pipelines are a key component of data engineering, as they allow organizations to efficiently and accurately move data from a variety of sources to a destination where it can be analyzed and used. In this article, we will discuss the process of creating an ETL pipeline for a World Bank dataset.

The first step in creating an ETL pipeline is to extract the data from its source. In the case of the World Bank dataset, this may involve accessing the data via an API or downloading it from a website. Once the data has been extracted, it is important to validate it to ensure that it is complete and accurate.

The next step is to transform the data. This may involve cleaning and preprocessing the data to remove any errors or inconsistencies, as well as formatting it in a way that is suitable for analysis. This may also involve combining the data with other sources or aggregating it to create new derived data.

Once the data has been transformed, it is ready to be loaded into the destination. This may involve loading the data into a database, a data warehouse, or a file storage system, depending on the needs of the organization. It is important to ensure that the data is loaded in a way that is efficient and reliable, as any errors or delays in the loading process can impact the accuracy and usefulness of the data.

Overall, creating an ETL pipeline for the World Bank dataset involves a number of steps and considerations. By following a structured and well-defined process, it is possible to create an ETL pipeline that is efficient, accurate, and scalable, enabling organizations to effectively use the data to gain insights and make informed decisions.

GitLink 


Dual Camera Object Tracking in Autonomous vehicle using Kanade Lucas Tomasi algorithm | C++

GitLink  

This approach can be used in self-driving car. Self-driving cars often use multiple cameras to sense their environment and use the data from these cameras to make decisions about how to control the car. In this case, the object we want to track is a vehicle that is ahead of the self-driving car.


Here's an example of how the pipeline could be used:


1. The car is equipped with two cameras mounted at a 90-degree angle on the front of the vehicle.

2. The cameras are used to capture video footage of the road ahead.

3. The pipeline is used to track a red vehicle in the footage. This is done by first converting the frames to the HSV color space and then thresholding the frames to obtain a binary mask of pixels that are red

4. The pipeline then uses the Kanade-Lucas-Tomasi (KLT) algorithm to track the keypoints( the red vehicle) in both videos.

5. The pipeline then aligns the frames of the two videos in time, based on the tracked keypoints

6. The pipeline then uses the aligned frames to track the red vehicle in both videos by defining a region of interest around the red vehicle in one of the videos and then searching for the red vehicle in the aligned frames of the other video.

7. The pipeline uses stereo camera calibration to calculate the relative position and orientation of the two cameras and use triangulation to find the 3D position of the red vehicle.

8. This data can then be used to make a decision about how the self-driving car should control its speed and trajectory to avoid the red vehicle.


This is just one use case of how dual camera object tracking could be used, but this technology can be used in many other fields, such as robotics, surveillance, sports analysis, and many more.


Red Object Detection using different approaches(Single mask, dual mask, UNet and YOLOv5)

GitLink  Video 

Red object detection is the process of identifying and locating red objects in images or video frames. This is a common task in a variety of applications, such as traffic monitoring, security surveillance, and robot navigation.

There are several approaches to red object detection, each with its own advantages and limitations. Here, we will discuss four different approaches: single mask, dual mask, UNet, and YOLOv5.

Single mask approach: The single mask approach involves using a single mask to identify red objects in the image. This mask is created by thresholding the image based on the red color channel, resulting in a binary image where red pixels are white and non-red pixels are black. The white pixels in the binary image correspond to the red objects in the original image.

Dual mask approach: The dual mask approach is similar to the single mask approach, but it uses two masks instead of one. One mask is used to identify red pixels, and the other mask is used to identify non-red pixels. This allows for more accurate red object detection, as it helps to eliminate false positives (non-red objects that are incorrectly identified as red).

UNet approach: UNet is a type of convolutional neural network (CNN) that is commonly used for image segmentation tasks. It can be used for red object detection by training the network on a large dataset of images with and without red objects. The network can then be used to identify red objects in new images by generating a binary mask where red pixels are white and non-red pixels are black.

YOLOv5 approach: YOLO (You Only Look Once) is a popular object detection algorithm that uses a single neural network to predict the bounding boxes and class labels of objects in an image. YOLOv5 is the latest version of the YOLO algorithm. It can be used for red object detection by training the network on a large dataset of images with red objects. The network can then be used to identify and locate red objects in new images.

Overall, each of these approaches has its own strengths and weaknesses, and the best approach will depend on the specific requirements and constraints of the application. By considering the trade-offs between accuracy, speed, and complexity, it is possible to select the most appropriate approach for a given task.


GitLink  Video 


A Real-time Rhino monitoring system using DEYO(a hybrid of DEtr and YOLO) | Pytorch

Video

Rhino poaching is a significant problem in many parts of the world, as rhinos are often hunted for their valuable horns. To combat this problem, conservationists and researchers have developed a number of techniques and technologies to monitor and protect rhinos.

One recent development in this area is the use of DEYO, a hybrid of DEtr and YOLO, for real-time rhino monitoring. DEYO is a deep learning-based object detection algorithm that is implemented in PyTorch, an open-source machine learning library.

The DEYO algorithm works by first training a neural network on a large dataset of images with and without rhinos. The network is then used to identify and locate rhinos in new images or video frames. This process is done in real-time, allowing the system to continuously monitor and track the movements of rhinos.

One of the key advantages of using DEYO for rhino monitoring is its accuracy and speed. DEYO is able to accurately detect and locate rhinos in a wide variety of conditions, including low light and poor visibility. It is also able to process images and video frames in real-time, making it suitable for use in applications where quick and accurate detection is critical.

In addition to detecting and tracking rhinos, the DEYO system can also be used to alert conservationists and researchers when a rhino is in danger. For example, if a rhino is found to be in an area where it is at risk of being poached, the system can send an alert to the relevant authorities, allowing them to take immediate action to protect the rhino.

Overall, the use of DEYO for real-time rhino monitoring has the potential to significantly improve the effectiveness of rhino conservation efforts. By providing accurate and timely information about the whereabouts and movements of rhinos, the DEYO system can help to protect these vulnerable animals and ensure their continued survival.

Video


Constellation pattern detection using Mask-RCNN

GitLink

Constellation pattern detection is the process of identifying and locating constellation patterns in images or video frames. Constellation patterns are groups of stars that form specific patterns or shapes in the night sky. These patterns are used by astronomers and other researchers to study the positions and movements of celestial objects.

One approach to constellation pattern detection is to use Mask-RCNN, a deep learning-based object detection algorithm. Mask-RCNN is a type of convolutional neural network (CNN) that is trained to identify and locate objects in images, and to generate a binary mask for each object, indicating its outline and shape.

To use Mask-RCNN for constellation pattern detection, the algorithm must first be trained on a large dataset of images with and without constellation patterns. This can be done by manually annotating the images to indicate the locations of the constellation patterns. Once the network has been trained, it can be used to detect and locate constellation patterns in new images or video frames.

One of the key advantages of using Mask-RCNN for constellation pattern detection is its accuracy and robustness.

GitLink


Tableau - Airbnb

TableauLink

Tableau is a powerful data visualization and analysis tool that can be used to gain insights into a variety of different datasets, including data from Airbnb 

Hotel Booking Cancellation Prediction

GitLink

Hotel booking cancellation is a common problem in the hospitality industry, as it can lead to lost revenue and reduced efficiency. However, it is also a problem that can be addressed through the use of data and machine learning techniques. In this article, we will explore how logistic regression, decision tree classifier, and random forest classifier can be used to predict hotel booking cancellations.

Logistic regression is a statistical method that is often used for classification tasks, including predicting hotel booking cancellations. It works by fitting a linear model to the data, and using this model to predict the probability that a given booking will be cancelled. To use logistic regression for this purpose, you will need to gather data on past bookings, including information such as the customer's age, location, and the length of their stay. You can then use this data to train a logistic regression model, which can be used to predict the likelihood of future booking cancellations.

Another machine learning technique that can be used for hotel booking cancellation prediction is the decision tree classifier. This method works by building a tree-like model of decisions, based on the data you have collected. Each branch of the tree represents a different decision that needs to be made, and the leaves of the tree represent the final outcome (in this case, whether a booking was cancelled or not). To use a decision tree classifier for this purpose, you will need to gather data on past bookings and use it to train the model.

Finally, the random forest classifier is another machine learning technique that can be used for hotel booking cancellation prediction. This method works by building multiple decision trees and combining their predictions to make a final prediction. Random forest classifiers are often more accurate than individual decision trees, as they are able to consider a wider range of factors when making their predictions. To use a random forest classifier for this purpose, you will need to gather data on past bookings and use it to train the model.

In conclusion, logistic regression, decision tree classifier, and random forest classifier are all powerful machine learning techniques that can be used to predict hotel booking cancellations. By gathering data on past bookings and training one of these models, you can improve your hotel's efficiency and reduce the impact of cancellations on your business.


Crptocurrency trading bot using LSTM | Tensorflow

GitLink

Predicting the future high and low prices of a cryptocurrency is a challenging task, as the market is highly volatile and subject to a wide range of factors that can impact the price. However, machine learning techniques such as LSTM (Long Short-Term Memory) can be used to analyze historical data and make predictions about future price movements.

LSTM is a type of artificial neural network that is particularly well-suited for time series data, such as the price of a cryptocurrency over time. It works by processing the data in a series of "memory cells," which are able to retain information from the past and use it to make predictions about the future. This allows the LSTM model to take into account long-term trends and patterns in the data, as well as more short-term fluctuations.

To use LSTM to predict the future high and low prices of a cryptocurrency, you will need to gather a large amount of historical data on the price of the cryptocurrency. This data can be used to train the LSTM model, which will then use its predictions about future price movements to make predictions about the future high and low prices.

One advantage of using LSTM to predict cryptocurrency prices is that it is able to take into account a wide range of factors that can impact the market. For example, it can consider economic news and events, as well as changes in the supply and demand for the cryptocurrency. This can help the LSTM model to make more accurate predictions about the future high and low prices.

However, it is important to remember that LSTM models, like all machine learning algorithms, are only as good as the data they are trained on. As such, it is important to ensure that the data you use to train the model is accurate and up-to-date, and to carefully monitor the performance of the model to ensure that it is making accurate predictions.

Overall, LSTM is a powerful tool that can be used to predict the future high and low prices of a cryptocurrency. While it is not a guaranteed way to make money, it can help you make more informed decisions and potentially increase your profits.


Pedestrian Detection using Dual Transformer Architecture

Confidential

Pedestrian detection is an important task in the field of computer vision, as it has a wide range of applications including self-driving cars, surveillance systems, and pedestrian safety systems. There are many different approaches to pedestrian detection, but one recent development is the use of dual transformer architecture.

Dual transformer architecture is a machine learning technique that utilizes the power of transformers, a type of neural network architecture that has proven highly effective for tasks such as natural language processing and image classification. In the context of pedestrian detection, dual transformer architecture uses two transformers to analyze images or video frames and identify pedestrians within the scene.

To use dual transformer architecture for pedestrian detection, you will need to gather a large dataset of images or video frames containing pedestrians, as well as a corresponding dataset of images or video frames that do not contain pedestrians. This data can be used to train the dual transformer model, which will then be able to identify pedestrians in new images or video frames.

One advantage of dual transformer architecture for pedestrian detection is that it is able to process images or video frames in real-time, making it well-suited for applications such as self-driving cars or surveillance systems. It is also highly accurate, as it is able to consider a wide range of factors when identifying pedestrians, including their appearance, movement, and context within the scene.

While dual transformer architecture is a promising approach to pedestrian detection, it is important to note that it is not foolproof. Like all machine learning algorithms, it is only as good as the data it is trained on, and it may sometimes make mistakes or be fooled by unusual or unexpected situations. As such, it is important to carefully monitor the performance of any dual transformer model and make sure it is functioning as intended.

Overall, dual transformer architecture is a powerful tool for pedestrian detection that can be used in a wide range of applications. While it is not perfect, it has the potential to significantly improve the accuracy and efficiency of pedestrian detection systems.


Chrome Dino | Genetic Algorithm

GitLink  Video 

The Chrome dinosaur game, also known as "T-Rex Runner," is a popular browser-based game that can be played when a user's internet connection is offline. The game consists of a small dinosaur that runs across the screen, avoiding obstacles such as cacti and pterodactyls. The goal of the game is to get as far as possible without colliding with any obstacles.

One approach to playing the Chrome dinosaur game is to use a genetic algorithm, a type of machine learning technique that is inspired by the principles of natural selection. Genetic algorithms work by generating a population of "chromosomes" (in this case, representing different ways to play the game), and then using a set of rules to determine which chromosomes are most fit (i.e., able to get the farthest distance in the game). The fittest chromosomes are then selected to create a new population, which is then used to repeat the process.

To use a genetic algorithm to play the Chrome dinosaur game, you will need to create a set of rules that determine the fitness of each chromosome. These rules could take into account factors such as the distance the dinosaur has traveled, the number of obstacles it has avoided, and the speed at which it is moving. You can then use these rules to evaluate the fitness of each chromosome and select the fittest ones to create a new population.

One advantage of using a genetic algorithm to play the Chrome dinosaur game is that it can learn from its mistakes and improve over time. As the algorithm generates new populations of chromosomes, it can learn from the successes and failures of previous generations and adapt its strategy accordingly. This can allow the algorithm to become increasingly skilled at playing the game and achieve higher scores over time.

However, it is important to note that genetic algorithms are not perfect, and they may not always find the optimal solution to a problem. In the case of the Chrome dinosaur game, the algorithm may sometimes get stuck in a local maximum, where it is unable to improve upon its current score. As such, it is important to carefully monitor the performance of the algorithm and make sure it is functioning as intended.

Overall, using a genetic algorithm can be an interesting and effective way to play the Chrome dinosaur game. While it is not guaranteed to achieve the highest score every time, it has the potential to learn and adapt over time, becoming increasingly skilled at navigating the game's obstacles.


Rick Bot | A  rude chatbot that interact like Rick from Rick and Morty sitcom | GPT-2 (Transformer)

GitLink

The character of Rick Sanchez from the popular animated sitcom Rick and Morty is known for his unconventional and often rude behavior, as well as his genius-level intelligence as a scientist. Building a chatbot that can interact like Rick using GPT-2 (Generative Pre-trained Transformer 2), a state-of-the-art natural language processing model developed by OpenAI, is a fun and challenging project that can help you learn more about machine learning and natural language processing.

To build a Rick bot using GPT-2, you will first need to gather a large dataset of dialogues and quotations from Rick Sanchez. This can be done by watching episodes of Rick and Morty and transcribing the dialogues and quotations, or by finding a pre-existing dataset online. You can then use this data to fine-tune the GPT-2 model, which will allow it to generate responses that are similar to those of Rick.

Once you have fine-tuned the GPT-2 model, you can use it to build a chatbot that can interact with users in a way that is similar to Rick. To do this, you can use a programming library or framework such as TensorFlow or PyTorch to build a chatbot interface, and then integrate the GPT-2 model into the interface. You can then prompt the chatbot with questions or statements, and it will generate responses that are similar to those of Rick.

One advantage of using GPT-2 to build a Rick bot is that it is able to generate responses that are highly coherent and natural-sounding, making it feel like you are interacting with a real person. Additionally, because GPT-2 has been trained on a large dataset of natural language data, it is able to understand and respond to a wide range of inputs, including complex questions and statements.

However, it is important to note that GPT-2, like all machine learning models, is not perfect, and it may sometimes generate responses that are inappropriate or unrelated to the input. As such, it is important to carefully monitor the output of the chatbot and make sure it is behaving as intended.

Overall, building a Rick bot using GPT-2 can be a fun and educational project that allows you to explore the capabilities of natural language processing and machine learning. While the chatbot may not always behave exactly like Rick, it can still provide a engaging and entertaining experience for users.


Tableau - Video Games Sales

TableauLink

Scarcasm Detection with Stance Detection using two approaches (BERT and RNN)

GitLink

Sarcasm is a common form of irony that is used to convey humor or mock a statement or situation. Sarcasm can be difficult to detect in texts, as it often relies on tone or body language to convey the intended meaning. However, recent advances in natural language processing have made it possible to develop algorithms that can detect sarcasm in texts with a high degree of accuracy.

There are two main approaches to detecting sarcasm in texts: BERT and RNN (Recurrent Neural Network). BERT (Bidirectional Encoder Representations from Transformers) is a state-of-the-art natural language processing model developed by Google that is capable of understanding the context and meaning of words in a sentence. BERT can be used to detect sarcasm by analyzing the words and phrases used in a text and considering their relationship to one another.

Another approach to detecting sarcasm in texts is to use an RNN. An RNN is a type of neural network that is particularly well-suited for processing sequential data, such as the words in a sentence. An RNN can be trained to recognize patterns in a text that are indicative of sarcasm, such as the use of certain words or phrases, and use this information to make a prediction about whether the text is sarcastic or not.

To use either BERT or an RNN to detect sarcasm in texts, you will need to gather a large dataset of texts that are labeled as sarcastic or not sarcastic. This data can be used to train the model, which will then be able to analyze new texts and make predictions about whether they are sarcastic or not.

One advantage of using BERT or an RNN for sarcasm detection is that they are highly accurate, as they are able to consider a wide range of factors when making their predictions. However, it is important to note that these models are only as good as the data they are trained on, and they may sometimes make mistakes or be fooled by unusual or unexpected forms of sarcasm. As such, it is important to carefully monitor the performance of the model and make sure it is functioning as intended.

Overall, BERT and RNN are powerful tools for detecting sarcasm in texts. While they are not foolproof, they can help you accurately identify sarcastic statements and improve your understanding of the nuances of language.


Driver Drowsiness Detection Based on Yawning Detection

GitLink  Video 

Drowsy driving is a major problem on the roads, as it can lead to accidents and fatalities. One way to address this problem is to develop systems that can detect when a driver is drowsy and alert them to take a break. One approach to detecting driver drowsiness is to use yawning detection, as yawning is often a sign of fatigue.

To detect yawning using OpenCV (Open Source Computer Vision), a popular library for computer vision tasks, you will need to gather a dataset of images or video frames containing yawning faces. You can then use this data to train a machine learning model, such as a convolutional neural network (CNN), to recognize yawning faces.

Once you have trained the model, you can use it to detect yawning in real-time by analyzing images or video frames captured by a camera mounted on the dashboard of a vehicle. You can then use this information to determine whether the driver is drowsy and alert them accordingly.

One advantage of using yawning detection to detect driver drowsiness is that it is a non-intrusive method, as it does not require the driver to wear any special equipment or interact with the system in any way. It is also relatively simple to implement, as it only requires a camera and a trained machine learning model.

However, it is important to note that yawning detection is not a perfect solution to the problem of drowsy driving. There may be other factors that contribute to driver fatigue, such as lack of sleep or certain medications, that are not reflected in the presence or absence of yawning. As such, it is important to use yawning detection as part of a comprehensive approach to drowsy driving prevention, rather than relying on it as the sole means of detecting fatigue.

Overall, yawning detection using OpenCV is a promising approach to detecting driver drowsiness and helping to prevent accidents on the road. While it is not a foolproof solution, it can be an effective tool for alerting drivers to take a break when they are showing signs of fatigue.


Predicted Skills Profile

Confidential

A predicted skills profile is a prediction of the skills and expertise of an individual based on their education, work experience, and other relevant factors. Apriori algorithm is a machine learning technique that can be used to predict the skills profile of an individual by analyzing patterns and relationships in a dataset.

To use the Apriori algorithm to predict the skills profile of an individual, you will need to gather a dataset of individuals and their corresponding skills profiles. This data can be used to identify common patterns and relationships between the skills that individuals possess. The Apriori algorithm can then use these patterns to make predictions about the skills profile of a new individual based on their input features.

The input features for a predicted skills profile using the Apriori algorithm might include things like the individual's education, work experience, and personal interests. By analyzing these features and the patterns and relationships in the dataset, the Apriori algorithm can predict the skills and expertise of the individual with a high degree of accuracy.

One advantage of using the Apriori algorithm for predicted skills profile is that it is able to consider a wide range of factors when making predictions, allowing it to accurately identify the skills and expertise of an individual. It is also relatively simple to implement and can be used with a variety of different types of data.

However, it is important to note that the Apriori algorithm, like all machine learning techniques, is only as good as the data it is trained on. If the dataset is incomplete or inaccurate, the predictions made by the algorithm may not be reliable. As such, it is important to carefully evaluate the performance of the algorithm and make sure it is functioning as intended.

Overall, the Apriori algorithm is a powerful tool for predicting the skills profile of an individual. By accurately identifying the skills and expertise of potential candidates, you can improve the efficiency of your hiring process and find the best fit for a particular job.


Binary Classification using Sklearn

GitLink

The iris dataset is a widely-used dataset for machine learning that contains measurements of 150 iris flowers from three different species: Iris setosa, Iris virginica, and Iris versicolor. The measurements include the length and width of the sepal and petal, and the goal is to use these measurements to classify each flower into one of the three species.

Binary classification is a machine learning task that involves predicting one of two possible classes or labels for a given input. In the case of the iris dataset, binary classification could be used to predict whether a given iris flower is either Iris setosa or not Iris setosa. This would be a binary classification problem, as there are only two possible classes: setosa and non-setosa.

To use the iris dataset for binary classification, you will need to select a subset of the data that contains only the flowers from the Iris setosa and Iris non-setosa species. You can then use this data to train a machine learning model, such as a support vector machine (SVM) or a logistic regression model, to predict the class of a new flower based on its measurements.

One advantage of using the iris dataset for binary classification is that it is a well-known and widely-used dataset, so there is a lot of information and resources available to help you get started. It is also a relatively simple dataset, with only four features (the sepal and petal measurements) and two classes (setosa and non-setosa), making it a good choice for beginners to machine learning.

However, it is important to note that the iris dataset is a small dataset, with only 150 examples, and it may not be representative of all iris species. As such, the predictions made by a model trained on the iris dataset may not always be accurate. It is important to carefully evaluate the performance of the model and make sure it is functioning as intended.

Overall, the iris dataset is a useful resource for learning about binary classification and machine learning in general. By using the dataset to train a model and make predictions, you can gain valuable experience and insights that can help you tackle more complex machine learning problems in the future.


Weather Alert App

GitLink

A weather alert app is a useful tool that can help you stay informed about severe weather conditions in your area, such as storms, tornadoes, and hurricanes. Building a weather alert app using rapidAPI and NEXMO is a straightforward process that can be accomplished with a few lines of code.

RapidAPI is a platform that provides access to a wide range of APIs (Application Programming Interfaces) that can be used to build applications. One API that is particularly useful for building a weather alert app is the OpenWeatherMap API, which provides access to real-time weather data for locations around the world.

To use the OpenWeatherMap API with rapidAPI, you will first need to sign up for a free account on the rapidAPI website. Once you have an account, you can use the API by making HTTP requests to the appropriate endpoint and passing in the relevant parameters, such as the location for which you want to retrieve weather data.

NEXMO is another platform that provides access to a range of APIs, including the SMS API, which allows you to send and receive text messages. You can use the SMS API with NEXMO to send weather alerts to users of your weather app.

To use the SMS API with NEXMO, you will need to sign up for a free account and obtain an API key. You can then use the API by making HTTP requests to the appropriate endpoint and passing in the relevant parameters, such as the phone number to which you want to send the alert and the message text.

One advantage of using rapidAPI and NEXMO to build a weather alert app is that they provide access to a wide range of APIs that can be used to build a variety of different applications. Additionally, both platforms have extensive documentation and support resources, making it easy to get started and troubleshoot any issues you may encounter.

Overall, building a weather alert app using rapidAPI and NEXMO is a simple and straightforward process that can help you stay informed about severe weather conditions in your area. By integrating real-time weather data and SMS functionality into your app, you can provide users with a valuable and convenient tool for staying safe in the face of adverse weather conditions.


Emergency Locator (Bachelor's thesis)

GitLink

Building an application that helps users to locate nearby hospitals, blood banks, and potential blood donors can be a useful and rewarding project that has the potential to make a positive impact in the community. There are a few key steps you will need to follow to build such an application.

The first step in building an application that helps users to locate nearby hospitals, blood banks, and potential blood donors is to gather data on the locations of these facilities and individuals. You can use a variety of sources to obtain this data, such as public databases, online directories, and user submissions. It is important to ensure that the data is accurate and up-to-date, as this will be critical to the functionality of the application.

Once you have collected the data, you will need to store it in a database or other data store. This will allow you to efficiently retrieve and manipulate the data as needed. You will also need to design the interface for the application, which should be user-friendly and allow users to easily search for hospitals, blood banks, and potential blood donors in their area.

To enable users to search for hospitals, blood banks, and potential blood donors in their area, you will need to use a mapping API (Application Programming Interface) such as Google Maps or Mapbox. These APIs allow you to incorporate maps and location data into your application, and they provide a range of tools and features that can be used to build custom mapping solutions.

One advantage of using a mapping API to build an application that helps users to locate nearby hospitals, blood banks, and potential blood donors is that it allows you to easily incorporate location data and interactive maps into the application. This can make it easier for users to find the information they need and navigate to the desired location.

Overall, building an application that helps users to locate nearby hospitals, blood banks, and potential blood donors is a worthwhile and rewarding project that can have a positive impact in the community. By using a mapping API and incorporating location data and interactive maps, you can build an application that is easy for users to use and helps them find the resources they need in times of need.