Joseph Mifsud 

Python, Data Science, Analytics, AI


Contact Me

Data Science



S Brown



Tutorial: Web Scraping and SEO
How to find out the skills employees are looking for.
March 31, 2021

Nowadays, we depend on machines to guide our daily adventure. Going to a new place? aws There's a good chance you will use some type of navigation device to find it. (As opposed to asking for verbal directions like our ancestors did) Trying to learn a new thing? You'll probably enter a question or phrase into a search engine like Google and view the results.

On the otherhand, to be found by a search engine, one must know what the engine is looking for. When users inputs a phrase into a search engine, the engine performs some proprietary magic, and results are returned. First, this proprietary magic parses the input and finds keywords. Then, the search engine ranks webpages against the user's keywords and returns the ones with the "best" match. Obviously, one of the criteria which a search engine may use to rank a page is how well the content of a page matches the user's input. The closer the content of the page matches the user's query, the better it will be ranked.

Consumer search engines are not the only software that behaves this way. When an employer posts a job on a platform like Indeed or Monster, the resume of each applicant is parsed for keywords and the "best" results are returned. Following this logic, if an applicant can match the keywords in a job's description there is a greater chance to be ranked higher by the proprietary magic.

To find what employers are looking for, one could read each job description and make notes of the skills required and then move on to the next and do the same. That would take forever and isn't fun. A more efficient way to do this is to make the computer do it for you. This efficient way can also be fun if Python is used.

Please checkout my page on crawling job boards like or TO discover the skills employers are actually looking for.

A Convolutional Neural Network
February 10, 2021

Convolutional neural networks (CNNs) are the primary drivers of machine vision. A CNN is a neural network which includes convolutional layers. digits In this study, a CNN was built and trained to classify the MNIST Database of handwritten digits Deep learning models boast great accuracy. This model, for example, was able to correctly identify the digit with 98.8% accuracy when tested against a hold-out set. This performance does come with the drawback. Specifically, it can take many hours, and is therefore expensive, to fit a model during the supervised learning session.

The Jupyter notebook for this study is rendered on


  • Deep Learning
  • CNN
  • Keras
  • Machine Vision

Binary Classification on the RMS Titanic
January 14, 2021

Binary classification is a super handy tool. It uses data to predict the state of an unknown binary class. Less wordily, B.C answers yes or no questions. Clusters

  • Should I plant this field?
  • Should I give this loan?
  • Is this person a potential customer?

A model was assembled to predict whether or not passengers on the RMS Titanic would survive based on his or her Sex, Age, Passenger Class, etc. The model scored an accuracy of 0.78 ± 0.035 and performed as good as or better than 87% of the competitors on Kaggle's leaderboard.

A full write-up is in the portfolio. The Jupyter notebook for this study is rendered on


  • Binary Classification
  • Logistic Regression
  • Feature Analysis
  • Python

Clustering Brooklyn, NY
December 20, 2020

I just completed a study of a common business problem. The purpose of the study was to determine the best place to open a diner in Brooklyn NY to target the hipster demographic. Brooklyn is a very competitive marketplace and without data it'd be guesswork. Clusters

In summary, the borough was hexagonally tessellated into neighborhoods. Relevant venues were fetched from Foursquare's Places API in each neighborhood. Neighborhoods were clustered with DBSCAN and then modeled with a cost-function. Multiple locations were found to be suitable. Interestingly, hip areas like Park Slope and South Slope did not make the list.

A full write-up is in the portfolio.


  • Cluster Analysis
  • Statistical Modeling
  • Geospatial Analysis
  • Python

A memory that I have

Dec. 29, 2018, Big day today.

We're moving to a new apartment a few blocks away tomorrow. There are boxes everywhere, but otherwise this morning was not unlike the many that had come before.

Hot Coffee Hot breakfast ICECAST Jazz radio

Around 8:30 Coral left to go to work and I wished her an excellent day. As the door closed behind her I was sipping from my mug and checking in on our new sundog friends.

Without much delay, Coral returned to the door and called me. "There is something wrong with the car!" "Come and see, they took the wheels!"

Uninterested in bad jokes, but willing to participate, I followed her to the carport.

She's a lot of things, but never one to make such jokes. This morning was no different. When I arrived at the carport, there she was:

The 1998 Toyota Rav4 up on blocks. Three wheels on some broken up pieces of concrete and one on a round of wood. Our new winter tires and wheels: absent. There appeared to be some lugs scattered in the previous nights snow as well as footprints around the perimeter of the vehicle. We were robbed.

Normally, this is a challenging situation. Ours brought the additional stress of having a move scheduled for the next day.

Switching gears on my coffee and jazz morning, I phoned the RCMP and not long after Officer Younguns arrived and said that there is a lot of crime in the city. That he would write a report which the insurance company would use in their claims process. The officer did note that the insurance on the vehicle had also expired on the night before.

I bid him farewell and got to work. The nearest tire shop is four blocks away and to I pedaled through the ice and snow. On arrival, the deskman informed me that he could not help until wednesday and that another shop five blocks deeper into the city may be able to help.

Again I would share the road with automobiles on snow covered death lanes. The bicycle would skid and slide beneath me as the topography of the surface of the snow changed with traffic patterns. Frequently my back wheel would break free when peddling from a stop. Turning would happen at walking pace and every hill frightened me. Passing vehicles would from a distance of perhaps three feet spray me with the dirty snow saturated by the warm weather the noon-sun brought.

On arrival at the second tire shop then desk man greeted me once again. Not after long was I aware that the desk man would be sending away without what I came for, but just as the last would send me further. To the otherside of the city I traveled. Unlike the first two chain tire shops I browsed, the third was a "mom and pop."

On arrival, I stood my bicycle up next to another bicycle that was already there. One of the service men was enjoying a cigarette outside and complimented my wheels when it became clear that he was the owner of the other bicycle. That he also endured the condition I did today on the open road. I knew I was in good company. The smoking man, xander, was his name, heard my story of the theft and directed me to go inside and talk to Tony. This Tony would make everything right.

As soon as I was through the door a giant of a man stood before me. Dark skinned with black hair he appeared eastern in lineage. Jovially, he emitted a huge smile and asked what he could do for me.

I explained my case and asked if he was Tony. Before the giant could answer an older man emerged quickly from a nearby office having overheard my tale.

"THIEVES!!! The police are good for nothing! If I ran this country I would give them the whip!" the old man exclaimed.

Not sure if he meant the police of theives, I didn't press for an answer because I agreed to an extent on both counts. The old man introduced himself as the owner of the shop and his employee, the giant, was tony.

Tony quickly manuevered behind the counter to check if he had what I needed in stock. Although he did not have the rims in stock, the tires were available. Another person, either friend, employee, or loiterer, I could not discern suggested that Canadian Tire may have the rims in stock. And that Tony may give them a call to find out. Tony agreed this was a great idea anough the years, even his recent battle with cancer.

When the work was done Pop drove one of his teammembers and myself to my home to install the wheels. As I discovered, this techinician was also an avid cyclist. Still in good company we chatted and laughed as we worked together to install the wheels.

I drove the technician (Justin) and his tools back to the shop and made business with Tony at the counter.

I typically enjoy Saturdays, but this one in particular had a good chance of going poorly. Instead, I met a group of friendly, warm, people and had a hell of a bicycle ride.