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