Skip to content

Commit 3cb79ff

Browse files
committed
tweaks
1 parent 20fe561 commit 3cb79ff

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

docs/src/anatomy_of_an_implementation.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,10 @@ Regarding the return value of `fit`:
9595
Our `fit` method assumes that `X` is a table (satifies the [Tables.jl
9696
spec](https://github.com/JuliaData/Tables.jl)) whose rows are the observations; and it
9797
will need need `y` to be an `AbstractFloat` vector. A model implementation is free to
98-
dictate the representation of data that `fit` accepts but must articulate its requirements
99-
using appropriate traits; see [Training data types](@ref) below.
98+
dictate the representation of data that `fit` accepts but articulates its requirements
99+
using appropriate traits; see [Training data types](@ref) below. We recommend against data
100+
type checks internal to `fit`; this would ordinarily be the responsibility of a higher
101+
level API, using those trasits.
100102

101103

102104
## Operations

docs/src/index.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ A basic Julia interface for training and applying machine learning models </span
1313
- For developers wanting to **IMPLEMEMT** LearnAPI: [Anatomy of
1414
an Implementation](@ref).
1515

16-
- For those who wanting to **USE** models implementing LearnAPI.jl: [Basic fit/predict
16+
- For those who wanting to **USE** models implementing LearnAPI: [Basic fit/predict
1717
workflow](@ref workflow).
1818

1919
## Approach
@@ -43,9 +43,10 @@ on the target proxy.
4343

4444
## Methods
4545

46-
LearnAPI.jl is a base interface for machine learning algorithms in which behaviour is
47-
articulated using traits. It has no abstract model types, apart from an optional supertype
48-
`Model`. It provides the following methods, dispatched on model type:
46+
In LearnAPI.jl a *model* is just a container for the hyper-parameters of some machine
47+
learning algorithm, and that's all. It does not include learned parameters.
48+
49+
The following methods, dispatched on model type, are provided:
4950

5051
- `fit` for regular training, overloaded if the model generalizes to new data, as in
5152
classical supervised learning
@@ -94,7 +95,7 @@ resampling*. However, LearnAPI.jl is predicated on a few basic undefined notions
9495

9596
- Each machine learning model's behaviour is governed by a number of user-specified
9697
**hyperparameters**. The regularization parameter in ridge regression is an
97-
example. Hyperparameters are data independent. For example, the number of target classes
98+
example. Hyperparameters are data-independent. For example, the number of target classes
9899
is not a hyperparameter.
99100

100101
- Information needed for training that is not a model hyperparameter and not data is

0 commit comments

Comments
 (0)