Is this you? As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.
Claim your profile
Articles by Aniruddha Karajgi
A Case for the T-statistic
undefined, I started thinking about the parallels between point-anomaly detection and trend-detection. When it comes to points, it’s generally intuitive, and the z-score solves most problems. What took me a while to figure out was applying some kind of statistical test to trends — singular points are now whole distributions, and the standard deviation that made a lot of sense when I was looking at one point, started to feel plain wrong. This is what I uncovered.
Keeping Probabilities Honest: The Jacobian Adjustment
customer annoyance from wait times. Calls arrive randomly, so wait time X follows an Exponential distribution—most waits are short, a few are painfully long. Now I’d argue that annoyance isn’t linear: a 10-minute wait feels more than twice as bad as a 5-minute one. So you decide to model “annoyance units” as \(Y = X²\). Simple, right? Just take the pdf of X, replace x with \(\sqrt{y}\), and you’re done. You plot it. It looks reasonable—peaked near zero, long tail.
Understanding Prefix Trees
We’ll first define a class. Each node in our trie will be an instance of this class. As discussed in the design section, each node will have the following attributes to construct a simple trie: • a boolean flag to indicate if a word ends on this node: • and a dictionary of children of the form : Now, let’s define the class and its methods. This is the most complex method to implement so far.
Pandas: apply, map or transform?
A guide to Pandas’ most versatile function As someone who’s been using Pandas for a few years now, I’ve noticed how many people (myself included) often resort to almost always using the applyfunction. While this isn’t an issue on smaller datasets, the performance issues caused by this become a lot more noticeable when working with larger amounts of data. While apply’s flexibility makes it an easy choice, this article introduces other Pandas' functions as potential alternatives.
Pandas: apply, map or transform?
A guide to Pandas’ most versatile function As someone who’s been using Pandas for a few years now, I’ve noticed how many people (myself included) often resort to almost always using the applyfunction. While this isn’t an issue on smaller datasets, the performance issues caused by this become a lot more noticeable when working with larger amounts of data. While apply’s flexibility makes it an easy choice, this article introduces other Pandas' functions as potential alternatives.
Dissecting the Birthday Paradox
Statistics isn’t always very intuitive Try to answer this question without actually working it out. What would you answer purely based on intuition? What would a reasonable answer look like? 50 people? 100? 183? 365? When I came across this problem, I guessed the answer to be about 70–80 people. I did the math after that and the answer surprised me. Apparently, only 23 people are required! Let’s prove this.
How Do Chatbots Understand?
image by author In the previous posts in this series, we’ve discussed the fundamentals of building chatbots, slots and entities and handling bot failure. We’ll now talk about how Rasa implements bot understanding through intents. We’ll also build a simple custom intent classifier based on Logistic Regression, though Rasa does provide some good ones right out of the box.
Handling chatbot failure gracefully
The Fallback classifier implements two thresholds: the nlu fallback threshold and the ambiguity_threshold The fallback classifier thresholds — image by author In your config file, it's defined after the intent classifiers like so: language: en pipeline: .. .. # intent classifier like DIETClassifier defined here - name: FallbackClassifier threshold: 0.7 ambiguity_threshold: 0.1 (NLU Fallback) Threshold The threshold key is used to specify the threshold for NLU fallback in config.yml.
Evaluating Multi-label Classifiers
- Accuracy - The Confusion Matrix - A multi-label classification example - Multilabel classification confusion matrix - Aggregate metrics - Some Common Scenarios Classification is an important application of machine learning, which involves applying algorithms that learn from data. Classification is a predictive modelling task that requires assigning a class label to a data point, and we can say that that datapoint was classified as belonging to a particular class.
Are Slots and Entities the same?
A quick refresher: this is how you could define these terms. Slots Slots are the bot's memory. Anywhere you need persistence in saving values, you use slots. Rasa gives you a lot of flexibility when it comes to defining and using slots. You can give them a type — text, boolean, and even custom types — and you can also choose whether a slot should or shouldn’t affect how the conversation goes.
Building a Chatbot with Rasa
Chatbots are programs that simulate human conversation. These can range from simple rule-based chatbots, where the user is limited to clicking on buttons or suggested replies that the bot provides, all the way to fully-fledged bots that can handle context, chitchat, and other complex things, which are otherwise very common in human conversation.
Python: Decorators in OOP
The Object Oriented Programming paradigm became popular in the ’60s and ‘70s, in languages like Lisp and Smalltalk. Such features were also added to existing languages like Ada, Fortran and Pascal. Python is an object oriented programming language, though it doesn’t support strong encapsulation.
How to Build Audience Clusters With Website Data Using BigQuery ML
A technical guide to gather audience insights and build customer segmentation A common marketing analytics challenge is to understand consumer behavior and develop customer attributes or archetypes. As organizations get better at tackling this problem, they can activate marketing strategies to incorporate additional customer knowledge into their campaigns. Building customer profiles is now easier than ever with BigQuery ML, using a technique called clustering.
How Neural Networks Solve the XOR Problem
The perceptron is a classification algorithm. Specifically, it works as a linear binary classifier. It was invented in the late 1950s by Frank Rosenblatt. The perceptron basically works as a threshold function — non-negative outputs are put into one class while negative ones are put into the other class.
Understanding Dynamic Programming
An intuitive guide to the popular optimization technique. Dynamic programming, or DP, is an optimization technique. It is used in several fields, though this article focuses on its applications in the field of algorithms and computer programming. Its a topic often asked in algorithmic interviews. Since DP isn’t very intuitive, most people (myself included!) often find it tricky to model a problem as a dynamic programming model.
Show More
loading
Actions
Is this you?
As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.Get in touch with Aniruddha
Contact Aniruddha, search articles and posts on X, monitor coverage, and track replies from one place.
Learn more about Muck Rack