<!--
{
  "availability" : [
    "iOS: 18.0.0 -",
    "iPadOS: 18.0.0 -",
    "macCatalyst: 18.0.0 -",
    "macOS: 15.0.0 -",
    "tvOS: 18.0.0 -",
    "visionOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CreateMLComponents",
  "identifier" : "/documentation/CreateMLComponents/TimeSeriesClassifier/fitted(to:validateOn:eventHandler:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Create ML Components"
    ],
    "preciseIdentifier" : "s:18CreateMLComponents20TimeSeriesClassifierV6fitted2to10validateOn12eventHandlerAC5ModelVyxq__Gqd___qd_0_yAA5EventVYbcSgtYaKSTRd__STRd_0_AA16AnnotatedFeatureVy6CoreML13MLShapedArrayVyxGq_G7ElementRtd__AtURtd_0_r0_lF"
  },
  "title" : "fitted(to:validateOn:eventHandler:)"
}
-->

# fitted(to:validateOn:eventHandler:)

Fits a time series classifier model to a sequence of examples.

```
func fitted(to input: some Sequence<AnnotatedFeature<MLShapedArray<Scalar>, Label>>, validateOn validation: some Sequence<AnnotatedFeature<MLShapedArray<Scalar>, Label>>, eventHandler: EventHandler? = nil) async throws -> TimeSeriesClassifier<Scalar, Label>.Model
```

## Parameters

`input`

A sequence of annotated features for training. Each feature’s shape should be `[sequenceLength, featureSize]`.

`validation`

A sequence of annotated features for validating. Each feature’s shape should be `[sequenceLength, featureSize]`.

`eventHandler`

An event handler.

## Return Value

The fitted time series classifier model.

## Discussion

The training process partitions the input into random batches according to the batch size configuration
parameter. Training stops when the validation loss stops improving or when the maximum number of iterations
is reached.

---

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)