Agenticum · Thoughts · 6 min read

False Positive vs False Negative: Which Error Should Your AI Tolerate?

False positives and false negatives are the two ways a classifier can be wrong. This guide shows how to tell them apart and how to use cost to decide which one your system should tolerate more of.

Nikolay Zuykov · Agenticum · 5 November 2026

Updated November 2026

False positives vs false negatives: the short answer (updated November 2026)

A false positive is a negative case that the model wrongly labels as positive. A false negative is a positive case that the model wrongly labels as negative. In a spam filter, a false positive is a legitimate email that ends up in the spam folder. A false negative is a spam email that reaches the inbox.

The table compares the two errors, their consequences and the metrics used to track them.

False positiveFalse negative
What happensA negative case is classified as positiveA positive case is classified as negative
Spam filter exampleA legitimate email lands in the spam folderA spam email gets through to the inbox
What it costsA false alarm: something that was fine gets flagged, blocked or lostA miss: the thing the model was built to catch goes unnoticed
Metric that tracks itPrecision and false positive rateRecall (true positive rate)
Raise the thresholdFewer false positivesMore false negatives
Statistics nameType I error (alpha risk)Type II error (beta risk)

Which error to reduce first depends on cost. Google's Machine Learning Crash Course advises optimising recall when false negatives cost more than false positives, and optimising the false positive rate when false positives cost more than false negatives. The rest of this page shows how to put numbers on that.

Where they sit in the confusion matrix

Every prediction from a binary classifier falls into one of four outcomes. A true positive is a positive case correctly classified as positive, such as spam sent to the spam folder. A true negative is a negative case correctly classified as negative, such as a legitimate email delivered to the inbox. The two errors make up the other two outcomes.

A confusion matrix counts each outcome in a 2x2 grid. The layout below follows scikit-learn, where each row is the true class and each column is the predicted class.

Predicted negativePredicted positive
Actually negativeTrue negative (TN)False positive (FP)
Actually positiveFalse negative (FN)True positive (TP)

Check the axes before you read any matrix. The scikit-learn documentation notes that Wikipedia and other references may use a different convention, so a matrix taken from a slide or from another library may have its rows and columns swapped.

How each error affects precision, recall and false positive rate

Precision = TP / (TP + FP)

Recall (true positive rate) = TP / (TP + FN)

False positive rate = FP / (FP + TN)

Precision is the share of the model's positive predictions that are actually positive. With true positives held constant above zero, adding false positives lowers precision. scikit-learn describes precision as a classifier's ability not to label a negative sample as positive.

Recall is the share of actual positives that the model classifies as positive. For a fixed set of actual positives, missing more of them lowers recall. scikit-learn describes recall as the ability to find all the positive samples.

The false positive rate is the share of actual negatives that the model wrongly classifies as positive. Google's Machine Learning Crash Course also calls it the probability of false alarm.

Google's guidance on which one to optimise comes down to cost:

MetricOptimise it when
RecallFalse negatives cost more than false positives
False positive rateFalse positives cost more than false negatives

Precision and recall often move in opposite directions: improving one tends to worsen the other. If you need a single number that reflects both, the F-measure is a weighted harmonic mean of precision and recall, and a parameter called beta sets the weighting.

Why accuracy can mislead

On heavily imbalanced data, accuracy can be misleading. Google's course gives an example: when positives make up 1% of cases, a model that always predicts negative scores 99% accuracy and is still useless.

When the class you are looking for is rare, do not rely on accuracy alone. Report recall, precision and the false positive rate alongside accuracy, and include the confusion matrix.

The threshold: how it shifts both errors

Raising the classification threshold makes the model predict fewer positives overall, so true and false positives both go down while true and false negatives both go up.

0.5 might seem like an intuitive threshold. Google's course warns that it is a poor choice when one type of error costs more than the other, or when the classes are imbalanced.

The ROC curve shows how the model performs across all thresholds. AUC, the area under that curve, is the probability that the model ranks a randomly chosen positive case above a randomly chosen negative one. For choosing a threshold, Google's guidance is to choose a point with a lower false positive rate when false alarms are very costly, even if the true positive rate drops. When false negatives are costly and false positives are cheap, choose the point that gives the highest true positive rate.

In Python, scikit-learn's TunedThresholdClassifierCV tunes the threshold using internal cross-validation. Its default metric is balanced accuracy, and the documentation itself says you should choose a metric that makes sense for your use case.

Which error is worse? Decide by cost, with three examples

Example 1: spam filtering

Here a false positive is a legitimate email sent to the spam folder, where the reader may never see it. A false negative is a spam email in the inbox. If a missed customer email costs you more than a stray spam message, false positives are the expensive error. Google's guidance for that case is to optimise the false positive rate and accept a lower true positive rate.

Example 2: cancer screening

The scikit-learn documentation uses this case. A missed cancer costs far more than further diagnostic tests, so physicians accept more false alarms and the model favours recall. The documentation also notes the trade-off: favouring recall can mean more false positives and lower precision.

Example 3: UAE bank name screening

In name screening, a partial name match is a positive that may turn out to be false. The CBUAE Rulebook expects a licensed financial institution (LFI) that finds a partial match to use reasonable information, for example open-source information, media articles or commercial databases, to cross-verify customer data and rule out false positives. If you raise the threshold to cut alert volume, check whether fewer alerts come at the cost of lower recall, and assess whether that trade-off is acceptable.

Type I and Type II errors in hypothesis testing

In statistics, the analogues of these two errors are Type I and Type II errors. The NIST e-Handbook describes them as two risks in hypothesis testing:

To connect the two vocabularies, read the null hypothesis as 'this case is negative'. Rejecting it when it is true is a false alarm. Failing to reject it when it is false is a miss.

A 5-step checklist before you deploy a classifier in the UAE or KSA

  1. Name the positive class. Write down what 'positive' means for this model, such as a fraudulent payment or a sanctions match.

  2. Put a cost on each error type. Estimate what one false positive and one false negative cost your business. The figures below are illustrative only, for a fictional card fraud model in Saudi Arabia.

    ErrorWhat it means hereIllustrative cost (SAR)USD at the SAR peg
    False positiveA genuine payment is blocked and reviewedSAR 75USD 20
    False negativeA fraudulent payment is approvedSAR 1,500USD 400

    USD figures use SAMA's official peg of 3.75 riyals per US dollar. With these illustrative costs, one missed fraud (SAR 1,500) costs the same as 20 false alarms (20 times SAR 75 is SAR 1,500). Because false negatives cost more in this example, Google's guidance points to optimising recall.

  3. Pick the metric that fits. If false negatives cost more, optimise recall. If false positives cost more, optimise the false positive rate. Track precision in both cases, because it tells your reviewers what share of alerts are real.

  4. Tune the threshold. Do not assume 0.5 is the right threshold. Google's course warns that it is a poor choice when one error costs more than the other or the classes are imbalanced. scikit-learn's TunedThresholdClassifierCV tunes the threshold with internal cross-validation. Its default metric is balanced accuracy, and its documentation says to choose a metric that fits your use case.

  5. Write down how false positives are reviewed. Decide who checks flagged cases, what evidence they use and where they record the decision. For AML name screening in the UAE, the CBUAE Rulebook already expects partial matches to be cross-verified to rule out false positives.

Sources