My projects
- All
- Data
- Machine Learning
- Visual Analytics
- Natural Language Processing
- Autonomous Robotics
- Machine Learning for Big Data
- Networking
- Data Management
- Mobile Computing
Deepak completed Master of Computer Science (MCS) degree at Dalhousie University. He worked on Master's thesis with Dr. Evangelos Milios in MALNIS lab. The thesis addressed Machine Learning, Text Mining, Visualization and Information Retrieval.
Previously, Deepak has worked as Senior Software Engineer for around 4.1 years. He has a keen interest in working on interesting projects and solving problems with technology. He has a passion for learning & developing new skills. Moreover, he is motivated, self-directed and intellectually curious.
Please feel free to connect on LinkedIn or visit the personal website for alternative contact details.
Interests/keywords: Full Stack Development, Web Application Development, Machine Learning, Deep Learning, Data Visualization, Data Engineering, Data analytics, Artificial Intelligence, Data Analysis, Data Science, Python, Natural Language Processing, NLP, Algorithms and Data Structures, Web Scraping, Crawling.
Completed Master of Computer Science with a focus on Machine Learning / Deep Learning and applying it for Data Science, Visual Analytics, Natural Language Processing, Autonomous Robotics, Bioinformatics and many more fields.
Undergraduate degree in Information Technology, covering Programming, AI, Computer Science concepts, different technologies.
Studied Computers, English, Physics, Mathematics, Chemistry, Sanskrit, Hindi
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo
Worked on Google Product Search Data project for Google Shopping. In this project, Data is extracted from various merchant websites for different locales and is further preprocessed and analyzed to fetch insights and to enhance customer experience.
Worked for Google LEC project, which included extracting data related to different places (Hotel, Restaurant, Mall etc) from websites of different locales. Data is further preprocessed and analyzed to fetch insights and to enhance customer experience.
Worked for Google Crawl optimization, which included working on large number of URLs extracted by different Google Bots and then resolving various issues like Spamming, Duplicity and banning the bad content URLs.
Worked for Deep Web Crawl Project, which included extracting data from complex websites e.g. hidden URLs of the interested data source. Preprocessed and analyzed scraped data to fetch insights and to enhance customer experience.
Worked for Google Videos/Images project, which included extracting images and videos. This data is preprocessed and analyzed to fetch insights and to enhance customer experience.
Used Lea Python Library to simulate discrete probability distributions and answer queries on the same.
Tech Stack used: Lea Library, Python
Implemented Multi-Layer Perceptron from scratch in Python, to solve the XOR problem and trained it to translate the digital letters given in the form of patterns into the corresponding ASCII representation. A training curve is plotted to interpret the results
Skills used: Python
The convolution was implemented with basic array processing without the use of a convolution function or an exciting edge filter. The solution was saved as a Jupyter file.
Tech Stack used: Python, Jupyter Notebook
Implemented a neural network version of a Reinforcement learning to solve the linear maze. The solution was saved as a Jupyter file.
Tech Stack used: Python, Jupyter Notebook
Finding the author matching closest to a given text with the writing styles using machine learning (NLP Techniques) and visualization on C50 dataset from UCI Machine Learning Repository.
Presentation Link - https://prezi.com/view/U1Ok2qFzmGMfQr86bPhD/
Tech Stack used: D3.js, HTML, CSS, Python
Applied machine learning on 400 textual documents. Created front-end webpage with a form having all machine learning attribute/option values. These values are taken from the user in the form and passed over to the back-end, Machine Learning techniques are applied in the back-end and the result is represented in a bar chart in the front-end.
Tech Stack used: Flask, Python, HTML, CSS, D3.js
Yelp.ca was scraped/crawled using Beautiful Soup Python library to collect the restaurant reviews. Scrapped reviews are manually labeled as positive and negative along with filtering dish names from the reviews for each restaurant.
Trigrams are used for converting text into document-term matrix. Naïve Bayes algorithm is applied for classification into positive and negative reviews.
Based on the number of positive and negative class reviews for each dish of a restaurant, best dish of a restaurant is predicted.
Tech Stack used: Beautiful Soup, Python
Implemented Common N-Grams (CNG) Distance Algorithm on 5 different documents. The programming language used was Perl. Common N-Gram method is based on the k-Nearest Neighbours.
This is a very useful method and has huge applications e.g. it can be used to find the authorship attribution, plagiarism detection, authorship profiling, spam detection and e-mail classification, automatic essay grading etc.
Skills used: Perl
A Lego Mindstorms EV3 Robot was designed from the Lego Kit. A Line Follower algorithm was desgined and was embedded in the robot.
The Line Follower algorithm was based on the light sensor reading. A black tape was used as a path to follow.
Tech Stack/Hardware used: EV3 Python Library, Lego Mindstorms EV3 Robot kit, Python
A Lego Mindstorms EV3 Robot was designed from the Lego Kit. A wall follower algorithm was desgined and was embedded in the robot.
In this Wall Follower algorithm, the Ultra-Sonic Sensor
was used to keep a fixed pre-defined distance from the wall. If some object comes during the wall follower motion, the robot moves away to maintain the fixed distance.
Tech Stack/Hardware used: EV3 Python Library, Lego Mindstorms EV3 Robot kit, Python
Robot was provided with a set of coordinates in a CSV file to follow. The open-loop control means there is no feedback from any sensors including wheel encoders. However, in Closed-Loop control, there is some feedback from the external environment.
The performance of both open-loop and closed-loop was compared. Closed-Loop was found to be more
precise as compared to open-loop control.Moreover, Closed-Loop was found to be more robust in different environments.
Tech Stack/Hardware used: EV3 Python Library, Lego Mindstorms EV3 Robot kit, Python
Kalman Filter and Particle Filter was implemented in Python for a scenario of change in temperature of a
room. Performance evaluation shows that Kalman filter was found to be better than the particle filter for ten number
of particles. But with increase in number of particles, we do get a good performance for particle
filter.
Skills used: Python
Tangent Bug Algorithm is an algorithm which defines the path of a robot from a source to a destination.
The path is defined is such a way that the robot avoids any obstacle which lies in between the source and destination.
It follows the boundry of the obstacle to reach its destination.
Skills used: Python
The project included mainly two tasks. First was to make the robot go into an unknown environment from a point and map the obstacles, Second task
was to make the robot start from a point and making sure that it comes back to the same point after mapping the environment.
Waypoint approach was followed to move in the environment. A set of pre-defined waypoints were considered to follow a path.
Ultra-Sonic sensor was used to do a 360 degree scan on each waypoint and based on the data collected a map of the environment was designed.
Other important part of the algorithm was to do obstacle avoidance.
Tech Stack/Hardware used: Python, EV3 Python Library, Lego Mindstorms EV3 Robot kit
Satellite Data containing 6 different types of soil was provided. Number of instances: 6435, Number of features: 36, Number of classes: 6
Each row in the file is a 3x3 pixel in a satellite image. Many Machine Learning algorithms such as Decision tree, random forest, naïve bayes were applied on the Data to classify soil into 6 different types.
Finally all the results were compared.
Tech Stack used: Python, ML Libraries such as sklearn, scipy etc.
A Log file having the data corresponding to multiple users was provided. Log data contained IP addresses, usernames, login times etc.
Log data was analysed using Spark to answer few statistical queries
such as "username Frequency By Remote Ip" etc.
Skills used: Python
A set of bridges was considered as a part of the network. The task was to route frames from a source to a destination.
The other part of the project includes implementing the Cyclic Redundancy Check (CRC) algorithm.
Skills used: Python
Access Control List (ACL) is a list of IP addresses which are allowed to pass a packet through a router. The task of ACL is to permit/deny entry of packets through a router.
Second task of the project was to implement RSA (Rivest, Shamir, and Adelman) Algorithm. Other task was to implement three crypographic algorithms, namely,
Caesar cipher, Vigenere cipher, Matrix transposition cipher.
Skills used: Python
Halifax Transit dataset was provided. The dataset contained data about bus routes, timings, frequency etc. for Halifax city.
SQL queries and ElasticSearch Queries were applied on the dataset to answer few queries and evaluation of the response time from both methods was done.
ElasticSearch has less response time as compared to SQL queries. Second task was to use PySpark to answer few queries on NYPDVehicleCollisions dataset and Baby Names dataset.
Last task of the project was to implement a Word-Counter using PySpark.
Tech Stack used: PySpark, SQL, ElasticSearch
A marketing campaign dataset was provided. Apriori algorithm was applied on that dataset to answer few queries. It was done using R language.
Similarly, Decision Tree and Naïve Bayes algorithm was applied on Human Resource dataset. It was also done in R language. Finally the results gathered by applying Machine Learning using R language were compared with the results from WEKA tool. R language results were found to be much faster than WEKA.
Skills/tools used: R Language, WEKA
Implemented 3x3 Sudoku App in ios using Swift Language. Other application developed was a Weather app. Data for the weather app was
scraped from the Environment Canada website. It provided options to choose any city name within Canada and the weather data was displ according to the choosen city name.
Skills used: Swift Language
Raising funds for students and research work, under the Phonathon project. This includes contacting University alumni to update about amazing opportunities to contribute towards community by donating for research work and other noble causes.
Responsibilities include - -Tracking/Scheduling Exams. -Troubleshooting problems/issues. -Making sure all exams start on time. -Making sure all students get their proper accommodation. -Monitoring Proctors. -Scheduling various exams for Proctors.
Responsibilities include - - Supervising exams and maintaining a good environment for students to write the exams. - Maintaining academic integrity and student code of conduct throughout the examination process. - Providing Reader/Scribe services for differently-abled students.
This course includes a comparative study of programming language features, an introduction to programming language design and implementation, and an introduction to the theory of formal languages. Responsibilities: - Marking assignments and providing feedback to the students for further improvement. - Alerting instructors about areas where individual students need extra attention as well as class trends in the understanding of subject material. - Helping instructors in conducting class exams or quizzes from time to time.
CR for Machine Learning and Autonomous Robotics course for fall and winter terms respectively.
A Course Representative is a point of contact to facilitate and provide more timely feedback mechanisms
to instructors and to the Faculty of Computer Science. CR also assists other peers in navigating to the most
appropriate support systems on campus.
Verify my CCR at mycareer.dal.ca/ccr/verify.htm by entering the code- 14097508725509193835