1# Learner 2Most estimators have the ability to be trained with data. These estimators are called *Learners* and require training before they are can make predictions. Training is the process of feeding data to the learner so that it can form a generalized representation or *model* of the dataset. 3 4### Train a Learner 5To train a learner pass a training dataset as argument to the `train()` method: 6```php 7public train(Dataset $training) : void 8``` 9 10```php 11$estimator->train($dataset); 12``` 13 14!!! note 15 Calling the `train()` method on an already trained learner will erase its previous training. If you would like to train a model incrementally, you can do so with learners implementing the [Online](online.md) interface. 16 17### Is the Learner Trained? 18Return whether or not the learner has been trained: 19```php 20public trained() : bool 21``` 22 23```php 24var_dump($estimator->trained()); 25``` 26 27```sh 28bool(true) 29``` 30