Tuesday Tip #49: How confident are your predictions? 🤔


Hi Reader,

I appreciate everyone who has emailed to check on me and my family post-Helene!

It has been more than 6 weeks since the hurricane, and most homes in Asheville (mine included) still don't have clean, running water. We're hopeful that water service will return within the next month.

In the meantime, we're grateful for all of the aid agencies providing free bottled water, free meals, places to shower, and so much more. ❤️

Thanks for allowing me to share a bit of my personal life with you!

Now, back to the Data Science. 😄


🔗 Link of the week

The Present Future: AI's Impact Long Before Superintelligence (Ethan Mollick)

A short, compelling article demonstrating the impact that today's multimodal models can achieve when interacting with the real world!


👉 Tip #49: Calculating the confidence of your classifier

Although Generative AI is the focus of everyone's attention (I'm even working on a GenAI course! 😲), supervised Machine Learning is still the optimal tool for solving most real-world predictive problems.

Today's tip answers the question: How certain is my classification model about its predictions?

It comes directly from my course, Master Machine Learning with scikit-learn.


Let's say you need to predict whether individual users are likely to buy your product. You might build a classifier that outputs "1" if they are likely to buy, and "0" otherwise:

But what if there were 50,000 users who are likely to buy, but you can only afford to market to 500 of them?

In that case, you would use your marketing budget to reach the 500 users who are most likely to buy.

In Machine Learning terms, we're looking for the users with the highest "predicted probability" of buying. Here's how we would find these users:

Here's what we did:

  • The "predict_proba" method output a 2-dimensional array, in which column 0 shows the probability of class "0" (not likely to buy) and column 1 shows the probability of class "1" (likely to buy).
  • We used NumPy's slicing notation to extract column 1.

Because we're using a well-calibrated classifier called logistic regression, these predicted probabilities can be directly interpreted as the model's confidence in each prediction.

In this example, the model thinks the 8th user is the most likely to buy since they have the highest predicted probability (0.612).

Conclusion:

If you had 50,000 users and you needed to choose which 500 users to target, you would calculate the predicted probability for all 50,000 and then select the 500 users with the highest probabilities!


Did you enjoy this short lesson? There are 148 more video lessons like this in my newest ML course, Master Machine Learning with scikit-learn!


👋 See you next week!

If you liked this week's tip, please share it with a friend! It really helps me out.

- Kevin

P.S. I spent my entire life savings on pasta 🍝

Did someone AWESOME forward you this email? Sign up here to receive more Data Science tips!

Learn Artificial Intelligence from Data School 🤖

Join 25,000+ intelligent readers and receive AI tips every Tuesday!

Read more from Learn Artificial Intelligence from Data School 🤖

Hi Reader, Last week, I encouraged you to experiment with different LLMs, since there’s no one model that is superior across all use cases. Specifically, I suggested you try using Chatbot Arena, which allows you to chat with multiple models at once. It’s completely free, but has two significant disadvantages: Your chats are not private and may be used for research. It lacks the feature-rich interface provided by other LLMs. Today, I want to offer you a better method for experimenting with...

Hi Reader, Over the past 50 tips, I’ve touched on many different topics: Python, Jupyter, pandas, ML, data visualization, and so on. Going forward, I’m planning to focus mostly on Artificial Intelligence. I’m announcing this so you know what to expect, and I know what to deliver! 💌 I’ll also try to make the tips shorter, so that they're easier to digest on-the-go. Finally, I plan to include an “action item” each week, so that you can practice what you’re learning. I hope you like these...

Hi Reader, Next week, I’ll be offering a Black Friday sale on ALL of my courses. I’ll send you the details this Thursday! 🚨 👉 Tip #50: What is a "method" in Python? In Python, a method is a function that can be used on an object because of the object's type. For example, if you create a Python list, the "append" method can be used on that list. All lists have an "append" method simply because they are lists: If you create a Python string, the "upper" method can be used on that string simply...