---
title: "init(trainingData:userColumn:itemColumn:ratingColumn:parameters:)"
framework: createml
role: symbol
role_heading: Initializer
path: "createml/mlrecommender/init(trainingdata:usercolumn:itemcolumn:ratingcolumn:parameters:)"
---

# init(trainingData:userColumn:itemColumn:ratingColumn:parameters:)

Creates an instance given a table and the names of the item and user columns contained therein.

## Declaration

```swift
init(trainingData: DataFrame, userColumn: String, itemColumn: String, ratingColumn: String? = nil, parameters: MLRecommender.ModelParameters = ModelParameters(nearestItems: nil)) throws
```

## Parameters

- `trainingData`: A data frame containing training data.
- `userColumn`: Name of the Int or String typed column in the training data containing user identifiers.
- `itemColumn`: Name of the Int or String typed column in the training data containing item identifiers.
- `ratingColumn`: Name of an Int or Double typed column optionally in the training data containing scores or ratings. The default is nil, which corresponds to no rating column.
- `parameters`: Model training parameters.

## See Also

### Creating and training a recommender

- [MLRecommender.ModelParameters](createml/mlrecommender/modelparameters-swift.struct.md)
- [modelParameters](createml/mlrecommender/modelparameters-swift.property.md)
- [userIdentifierColumn](createml/mlrecommender/useridentifiercolumn.md)
- [itemIdentifierColumn](createml/mlrecommender/itemidentifiercolumn.md)
- [ratingColumn](createml/mlrecommender/ratingcolumn.md)
