<!--
{
  "availability" : [
    "iOS: 18.0.0 -",
    "iPadOS: 18.0.0 -",
    "macOS: 15.0.0 -",
    "tvOS: 18.0.0 -",
    "visionOS: 2.0.0 -",
    "watchOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Vision",
  "identifier" : "/documentation/Vision/ClassificationObservation/hasMinimumPrecision(_:forRecall:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Vision"
    ],
    "preciseIdentifier" : "s:6Vision25ClassificationObservationV19hasMinimumPrecision_9forRecallSbSf_SftF"
  },
  "title" : "hasMinimumPrecision(_:forRecall:)"
}
-->

# hasMinimumPrecision(_:forRecall:)

Determines whether the observation has a minimum precision value for a specific recall.

```
func hasMinimumPrecision(_ minimumPrecision: Float, forRecall recall: Float) -> Bool
```

## Parameters

`minimumPrecision`

The minimum desired percentage of correct positive classifications.

`recall`

The percentage of all positive classifications that the algorithm correctly classified.

## Return Value

A Boolean value that indicates whether the classification observation provides a minimum percentage of correct results that meet the desired recall.

## Discussion

The following example uses the `hasMinimumPrecision(_:forRecall)` method to perform a high-recall filter on the results of a `ClassifyImageRequest`:

```swift
let results = try await request.perform(on: image)
    .filter { $0.hasMinimumPrecision(0.1, forRecall: 0.8) }
```

A high-recall filter retains a much broader range of observations, but can result in more false positive results. Testing can help determine the balance point between the `minimumPrecision` and `recall` values to return the best results for a specific use case.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)