---
title: "init(trainingData:featureColumns:labelColumn:recordingFileColumn:parameters:)"
framework: Create ML
role: symbol
role_heading: Initializer
platforms: [macOS 10.15+]
path: "createml/mlactivityclassifier/init(trainingdata:featurecolumns:labelcolumn:recordingfilecolumn:parameters:)"
---

# init(trainingData:featureColumns:labelColumn:recordingFileColumn:parameters:)

Creates an activity classifier with a training dataset represented by a data source.

## Declaration

```swift
init(trainingData: MLActivityClassifier.DataSource, featureColumns: [String], labelColumn: String? = nil, recordingFileColumn: String? = nil, parameters: MLActivityClassifier.ModelParameters = ModelParameters(validationData: nil)) throws
```

## Parameters

- `trainingData`: An doc://com.apple.createml/documentation/CreateML/MLActivityClassifier/DataSource instance.
- `featureColumns`: The names of the columns in an annotation file that contain sensor data.
- `labelColumn`: The name of the column in an annotation file that contains the activity labels if trainingData uses doc://com.apple.createml/documentation/CreateML/MLActivityClassifier/DataSource/directoryWithDataAndAnnotation(at:annotationFileName:timeStampColumn:labelStartTimeColumn:labelEndTimeColumn:). The initializer ignores this parameter if trainingData uses doc://com.apple.createml/documentation/CreateML/MLActivityClassifier/DataSource/labeledDirectories(at:).
- `recordingFileColumn`: The name of the column in an annotation file that contains the data filenames if trainingData uses doc://com.apple.createml/documentation/CreateML/MLActivityClassifier/DataSource/directoryWithDataAndAnnotation(at:annotationFileName:timeStampColumn:labelStartTimeColumn:labelEndTimeColumn:). The initializer ignores this parameter if trainingData uses doc://com.apple.createml/documentation/CreateML/MLActivityClassifier/DataSource/labeledDirectories(at:).
- `parameters`: An doc://com.apple.createml/documentation/CreateML/MLActivityClassifier/ModelParameters-swift.struct instance you use to configure the model for the training session.

## Discussion

Discussion Use this initializer to create an activity classifier with an MLActivityClassifier.DataSource. To configure the training process, initialize the activity classifier with an MLActivityClassifier.ModelParameters instance. For example, you can explicitly define the validation dataset instead of allowing the model to choose a random selection of your training data. Alternatively, set validationData to nil to allow the activity classifier to choose the validation data for you from among your training data. This lets you set other parameters — like maximumIterations and batchSize — to nondefault values.
