---
title: "init(trainingData:targetColumn:featureColumns:parameters:)"
framework: createml
role: symbol
role_heading: Initializer
path: "createml/mldecisiontreeclassifier/init(trainingdata:targetcolumn:featurecolumns:parameters:)"
---

# init(trainingData:targetColumn:featureColumns:parameters:)

Creates a decision tree classifier.

## Declaration

```swift
init(trainingData: DataFrame, targetColumn: String, featureColumns: [String]? = nil, parameters: MLDecisionTreeClassifier.ModelParameters = ModelParameters(validation: .split(strategy: .automatic))) throws
```

## Parameters

- `trainingData`: The training data
- `targetColumn`: Name of the column containing the class labels
- `featureColumns`: Names of the columns containing feature values. If nil all columns, other than the target column, will be used as feature values.
- `parameters`: Model training parameters. See doc://com.apple.createml/documentation/CreateML/MLDecisionTreeClassifier/ModelParameters-swift.struct for the defaults.

## See Also

### Training a decision tree classifier asynchronously

- [makeTrainingSession(trainingData:targetColumn:featureColumns:parameters:sessionParameters:)](createml/mldecisiontreeclassifier/maketrainingsession(trainingdata:targetcolumn:featurecolumns:parameters:sessionparameters:).md)
- [resume(_:)](createml/mldecisiontreeclassifier/resume(_:).md)
- [restoreTrainingSession(sessionParameters:)](createml/mldecisiontreeclassifier/restoretrainingsession(sessionparameters:).md)
