splitobs
function defined in module
MLUtils
splitobs(n::Int; at) -> Tuple
Compute the indices for two or more disjoint subsets of the range
1:n with splits given by
at.
julia
>
splitobs
(
100
,
at
=
0.7
)
(
1
:
70
,
71
:
100
)
julia
>
splitobs
(
100
,
at
=
(
0.1
,
0.4
)
)
(
1
:
10
,
11
:
50
,
51
:
100
)
splitobs(data; at, shuffle=false) -> Tuple
Split the
data into multiple subsets proportional to the value(s) of
at.
If
shuffle=true, randomly permute the observations before splitting.
Supports any datatype implementing the
numobs and
getobs interfaces.
# A 70%-30% split
train
,
test
=
splitobs
(
X
,
at
=
0.7
)
# A 50%-30%-20% split
train
,
val
,
test
=
splitobs
(
X
,
at
=
(
0.5
,
0.3
)
)
# A 70%-30% split with multiple arrays and shuffling
train
,
test
=
splitobs
(
(
X
,
y
)
,
at
=
0.7
,
shuffle
=
true
)
Xtrain
,
Ytrain
=
trainThere are
2
methods for MLUtils.splitobs:
The following pages link back here:
Data containers
FastAI.jl , learner.jl , tasks/taskdata.jl , MLUtils.jl , splitobs.jl