Cal11 calculator

Calculate True Positive Python From Scratch

Reviewed by Calculator Editorial Team

Calculating true positives in Python from scratch is essential for evaluating classification models. This guide provides a complete implementation with explanations, examples, and an interactive calculator.

What is a True Positive?

A true positive (TP) in classification is an outcome where the model correctly predicts the positive class. In medical testing, this would be a correctly identified disease case. In machine learning, it represents a correct positive prediction.

True Positive Formula

True Positive = Number of correct positive predictions

TP = Number of items correctly classified as positive

True positives are part of the confusion matrix, which also includes true negatives (TN), false positives (FP), and false negatives (FN).

Python Implementation

Here's a complete Python implementation to calculate true positives from scratch:

This implementation assumes you have actual and predicted labels as binary values (0 or 1).

Step-by-Step Code

  1. Import necessary libraries
  2. Define the true_positive function
  3. Create sample data
  4. Calculate and display results

Here's the complete code:

def true_positive(actual, predicted):
    """
    Calculate true positives from scratch.

    Parameters:
    actual (list): List of actual binary labels (0 or 1)
    predicted (list): List of predicted binary labels (0 or 1)

    Returns:
    int: Number of true positives
    """
    tp = 0
    for a, p in zip(actual, predicted):
        if a == 1 and p == 1:
            tp += 1
    return tp

# Example usage
actual_labels = [1, 0, 1, 1, 0, 1, 0, 1, 0, 1]
predicted_labels = [1, 0, 0, 1, 0, 1, 1, 1, 0, 0]

tp = true_positive(actual_labels, predicted_labels)
print(f"True Positives: {tp}")

This implementation manually counts the true positives by comparing each pair of actual and predicted labels.

Example Calculation

Let's walk through an example with these labels:

Index Actual Predicted Result
1 1 1 True Positive
2 0 0 True Negative
3 1 0 False Negative
4 1 1 True Positive
5 0 0 True Negative

In this example, there are 2 true positives (indices 1 and 4).

Common Mistakes

When calculating true positives, be aware of these common errors:

  • Confusing true positives with false positives
  • Miscounting when labels are not binary
  • Forgetting to handle edge cases (empty lists, mismatched lengths)
  • Assuming all positive predictions are correct

Always verify your implementation with known test cases before using it in production.

FAQ

What is the difference between true positive and false positive?

A true positive is a correct positive prediction (actual = 1, predicted = 1), while a false positive is an incorrect positive prediction (actual = 0, predicted = 1).

Can I use this code for multi-class classification?

No, this implementation is for binary classification only. For multi-class, you would need to extend the logic to handle multiple classes.

How do I handle imbalanced datasets?

For imbalanced datasets, consider using metrics like precision, recall, or F1-score instead of just counting true positives.

What if my labels are not binary?

You would need to convert your labels to binary form first, typically by thresholding continuous values or using one-hot encoding.