diff --git a/.gitignore b/.gitignore
index b0f526e..816a03b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
-/Manifest.toml
+Manifest.toml
.ipynb_checkpoints
*~
#*
diff --git a/docs/src/notebooks/MLJTutorial/01_data_representation/notebook.md b/docs/src/notebooks/MLJTutorial/01_data_representation/notebook.md
index ccd435f..ca841c7 100644
--- a/docs/src/notebooks/MLJTutorial/01_data_representation/notebook.md
+++ b/docs/src/notebooks/MLJTutorial/01_data_representation/notebook.md
@@ -290,7 +290,7 @@ csv_file = Downloads.download(url)
````
````
-"/tmp/jl_AutsNd/horse.csv"
+"/tmp/jl_nAeUTc/horse.csv"
````
Entering these lines of code downloads the data to a temporary file at the location
@@ -531,8 +531,8 @@ A = rand(2, 3)
````
2×3 Matrix{Float64}:
- 0.56044 0.53664 0.852799
- 0.83311 0.655101 0.199531
+ 0.84235 0.324562 0.731728
+ 0.233998 0.746378 0.485095
````
````@julia
@@ -550,8 +550,8 @@ Asparse = sparse(A)
````
2×3 SparseArrays.SparseMatrixCSC{Float64, Int64} with 6 stored entries:
- 0.56044 0.53664 0.852799
- 0.83311 0.655101 0.199531
+ 0.84235 0.324562 0.731728
+ 0.233998 0.746378 0.485095
````
````@julia
diff --git a/docs/src/notebooks/MLJTutorial/02_models/learning_curve.png b/docs/src/notebooks/MLJTutorial/02_models/learning_curve.png
index f503949..85b533a 100755
Binary files a/docs/src/notebooks/MLJTutorial/02_models/learning_curve.png and b/docs/src/notebooks/MLJTutorial/02_models/learning_curve.png differ
diff --git a/docs/src/notebooks/MLJTutorial/02_models/notebook.md b/docs/src/notebooks/MLJTutorial/02_models/notebook.md
index 8634958..13a1648 100644
--- a/docs/src/notebooks/MLJTutorial/02_models/notebook.md
+++ b/docs/src/notebooks/MLJTutorial/02_models/notebook.md
@@ -625,8 +625,8 @@ mach = machine(model, X, y)
untrained Machine; caches model-specific representations of data
model: NeuralNetworkClassifier(builder = Short(n_hidden = 0, …), …)
args:
- 1: Source @598 ⏎ ScientificTypesBase.Table{AbstractVector{ScientificTypesBase.Continuous}}
- 2: Source @719 ⏎ AbstractVector{ScientificTypesBase.Multiclass{3}}
+ 1: Source @763 ⏎ ScientificTypesBase.Table{AbstractVector{ScientificTypesBase.Continuous}}
+ 2: Source @104 ⏎ AbstractVector{ScientificTypesBase.Multiclass{3}}
````
@@ -652,18 +652,18 @@ fit!(mach, rows=train, verbosity=2);
````
[ Info: Training machine(NeuralNetworkClassifier(builder = Short(n_hidden = 0, …), …), …).
[ Info: MLJFlux: converting input data to Float32
-[ Info: Loss is 1.095
-[ Info: Loss is 1.013
-[ Info: Loss is 0.9721
-[ Info: Loss is 0.9833
-[ Info: Loss is 0.9459
-[ Info: Loss is 0.9987
-[ Info: Loss is 0.9726
-[ Info: Loss is 0.9432
-[ Info: Loss is 0.9477
-[ Info: Loss is 0.9796
-[ Info: Loss is 0.9506
-[ Info: Loss is 0.9341
+[ Info: Loss is 1.564
+[ Info: Loss is 1.405
+[ Info: Loss is 1.245
+[ Info: Loss is 1.125
+[ Info: Loss is 1.073
+[ Info: Loss is 1.018
+[ Info: Loss is 1.019
+[ Info: Loss is 0.9751
+[ Info: Loss is 1.015
+[ Info: Loss is 0.9778
+[ Info: Loss is 0.9424
+[ Info: Loss is 0.9263
````
@@ -676,9 +676,9 @@ yhat[1:3]
````
3-element CategoricalDistributions.UnivariateFiniteVector{ScientificTypesBase.Multiclass{3}, String, UInt32, Float32}:
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.258, Iris-versicolor=>0.371, Iris-virginica=>0.371)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.526, Iris-versicolor=>0.207, Iris-virginica=>0.266)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.521, Iris-versicolor=>0.208, Iris-virginica=>0.27)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.326, Iris-versicolor=>0.331, Iris-virginica=>0.343)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.533, Iris-versicolor=>0.291, Iris-virginica=>0.177)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.524, Iris-versicolor=>0.293, Iris-virginica=>0.183)
````
We'll have more to say on the form of this prediction shortly.
@@ -701,7 +701,7 @@ report(mach)
````
````
-(training_losses = Float32[1.0251051, 1.0951197, 1.0134318, 0.9720827, 0.98331577, 0.9459498, 0.998716, 0.9726323, 0.9431992, 0.9476696, 0.9796031, 0.9506469, 0.93413705],)
+(training_losses = Float32[1.2405895, 1.5638204, 1.4046175, 1.2446647, 1.125359, 1.0727392, 1.0180935, 1.0194263, 0.9750622, 1.0149823, 0.9778134, 0.94241244, 0.9262781],)
````
You save a machine like this:
@@ -720,9 +720,9 @@ yhat[1:3]
````
3-element CategoricalDistributions.UnivariateFiniteVector{ScientificTypesBase.Multiclass{3}, String, UInt32, Float32}:
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.246, Iris-versicolor=>0.375, Iris-virginica=>0.379)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.527, Iris-versicolor=>0.206, Iris-virginica=>0.267)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.248, Iris-versicolor=>0.379, Iris-virginica=>0.373)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.314, Iris-versicolor=>0.33, Iris-virginica=>0.356)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.531, Iris-versicolor=>0.291, Iris-virginica=>0.178)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.322, Iris-versicolor=>0.332, Iris-virginica=>0.346)
````
Machines remember the last set of hyperparameters used during fit,
@@ -737,10 +737,10 @@ fit!(mach, rows=train, verbosity=2);
````
[ Info: Updating machine(NeuralNetworkClassifier(builder = Short(n_hidden = 0, …), …), …) (with warm restart if possible).
-[ Info: Loss is 0.9376
-[ Info: Loss is 0.912
-[ Info: Loss is 0.9313
-[ Info: Loss is 0.8759
+[ Info: Loss is 0.926
+[ Info: Loss is 0.9323
+[ Info: Loss is 0.8731
+[ Info: Loss is 0.8909
````
@@ -771,10 +771,10 @@ fit!(mach, rows=train, verbosity=2);
````
[ Info: Updating machine(NeuralNetworkClassifier(builder = Short(n_hidden = 0, …), …), …) (with warm restart if possible).
-[ Info: Loss is 0.8755
-[ Info: Loss is 0.7998
-[ Info: Loss is 0.8353
-[ Info: Loss is 0.7153
+[ Info: Loss is 0.8501
+[ Info: Loss is 0.8156
+[ Info: Loss is 0.7756
+[ Info: Loss is 0.7181
````
@@ -789,26 +789,26 @@ fit!(mach, rows=train, verbosity=2);
````
[ Info: Updating machine(NeuralNetworkClassifier(builder = Short(n_hidden = 0, …), …), …) (with warm restart if possible).
[ Info: MLJFlux: converting input data to Float32
-[ Info: Loss is 1.27
-[ Info: Loss is 0.9945
-[ Info: Loss is 0.9086
-[ Info: Loss is 0.8736
-[ Info: Loss is 0.827
-[ Info: Loss is 0.7704
-[ Info: Loss is 0.8214
-[ Info: Loss is 0.8043
-[ Info: Loss is 0.7578
-[ Info: Loss is 0.8213
-[ Info: Loss is 0.7772
-[ Info: Loss is 0.8219
-[ Info: Loss is 0.7826
-[ Info: Loss is 0.7933
-[ Info: Loss is 0.706
-[ Info: Loss is 0.688
-[ Info: Loss is 0.8041
-[ Info: Loss is 0.7704
-[ Info: Loss is 0.7841
-[ Info: Loss is 0.7341
+[ Info: Loss is 1.152
+[ Info: Loss is 0.9842
+[ Info: Loss is 0.948
+[ Info: Loss is 0.8713
+[ Info: Loss is 0.8544
+[ Info: Loss is 0.8761
+[ Info: Loss is 0.7668
+[ Info: Loss is 0.7384
+[ Info: Loss is 0.6662
+[ Info: Loss is 0.6725
+[ Info: Loss is 0.7011
+[ Info: Loss is 0.6599
+[ Info: Loss is 0.6516
+[ Info: Loss is 0.6764
+[ Info: Loss is 0.6492
+[ Info: Loss is 0.6193
+[ Info: Loss is 0.6555
+[ Info: Loss is 0.6376
+[ Info: Loss is 0.6776
+[ Info: Loss is 0.7155
````
@@ -827,7 +827,7 @@ yhat[1]
````
````
-UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.111, Iris-versicolor=>0.546, Iris-virginica=>0.343)
+UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.155, Iris-versicolor=>0.582, Iris-virginica=>0.262)
````
What's going on here?
@@ -858,7 +858,7 @@ pdf(yhat[1], "Iris-virginica")
````
````
-0.34308216f0
+0.26227638f0
````
To get the most likely observation, we do
@@ -879,10 +879,10 @@ broadcast(pdf, yhat[1:4], "Iris-versicolor")
````
4-element Vector{Float32}:
- 0.5456025
- 0.0039443267
- 0.0042432365
- 0.0050151083
+ 0.58242285
+ 0.03553577
+ 0.03338368
+ 0.035628445
````
````@julia
@@ -921,10 +921,10 @@ pdf(yhat, L)[1:4, :]
````
4×3 Matrix{Float32}:
- 0.111315 0.545603 0.343082
- 0.995978 0.00394433 7.71183f-5
- 0.99567 0.00424324 8.63841f-5
- 0.994878 0.00501511 0.000107101
+ 0.155301 0.582423 0.262276
+ 0.963971 0.0355358 0.000493214
+ 0.966181 0.0333837 0.000435089
+ 0.963876 0.0356284 0.000495223
````
However, in a typical MLJ workflow, this is not as useful as you might imagine. In
@@ -936,7 +936,7 @@ log_loss(yhat, y[test])
````
````
-0.34627145614243066
+0.3571473942077973
````
To apply a deterministic measure, we first need to obtain point-estimates:
@@ -973,12 +973,12 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: NeuralNetworkClassifier-484
+Tag: NeuralNetworkClassifier-481
Extract:
┌─────────────────────────┬──────────────┬─────────────┐
│ measure │ operation │ measurement │
├─────────────────────────┼──────────────┼─────────────┤
-│ LogLoss( │ predict │ 0.346 │
+│ LogLoss( │ predict │ 0.357 │
│ tol = 2.22045e-16) │ │ │
│ MisclassificationRate() │ predict_mode │ 0.0444 │
│ BrierScore() │ predict │ -0.187 │
@@ -1002,23 +1002,23 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: NeuralNetworkClassifier-252
+Tag: NeuralNetworkClassifier-855
Extract:
┌───┬─────────────────────────┬──────────────┬─────────────┐
│ │ measure │ operation │ measurement │
├───┼─────────────────────────┼──────────────┼─────────────┤
-│ A │ LogLoss( │ predict │ 0.289 │
+│ A │ LogLoss( │ predict │ 0.319 │
│ │ tol = 2.22045e-16) │ │ │
-│ B │ MisclassificationRate() │ predict_mode │ 0.0333 │
-│ C │ BrierScore() │ predict │ -0.152 │
+│ B │ MisclassificationRate() │ predict_mode │ 0.04 │
+│ C │ BrierScore() │ predict │ -0.168 │
└───┴─────────────────────────┴──────────────┴─────────────┘
-┌───┬────────────────────────────────────────────────────────┬─────────┐
-│ │ per_fold │ 1.96*SE │
-├───┼────────────────────────────────────────────────────────┼─────────┤
-│ A │ [0.359, 0.342, 0.222, 0.261, 0.28, 0.269] │ 0.0455 │
-│ B │ [0.04, 0.08, 0.0, 0.0, 0.04, 0.04] │ 0.0264 │
-│ C │ Float32[-0.194, -0.193, -0.105, -0.139, -0.15, -0.129] │ 0.0311 │
-└───┴────────────────────────────────────────────────────────┴─────────┘
+┌───┬───────────────────────────────────────────────────────┬─────────┐
+│ │ per_fold │ 1.96*SE │
+├───┼───────────────────────────────────────────────────────┼─────────┤
+│ A │ [0.363, 0.271, 0.265, 0.305, 0.32, 0.388] │ 0.0432 │
+│ B │ [0.04, 0.04, 0.0, 0.08, 0.04, 0.04] │ 0.0222 │
+│ C │ Float32[-0.205, -0.135, -0.139, -0.17, -0.15, -0.206] │ 0.0279 │
+└───┴───────────────────────────────────────────────────────┴─────────┘
````
@@ -1040,22 +1040,22 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: NeuralNetworkClassifier-228
+Tag: NeuralNetworkClassifier-990
Extract:
┌───┬─────────────────────────┬──────────────┬─────────────┐
│ │ measure │ operation │ measurement │
├───┼─────────────────────────┼──────────────┼─────────────┤
-│ A │ LogLoss( │ predict │ 0.342 │
+│ A │ LogLoss( │ predict │ 0.316 │
│ │ tol = 2.22045e-16) │ │ │
-│ B │ MisclassificationRate() │ predict_mode │ 0.0467 │
-│ C │ BrierScore() │ predict │ -0.182 │
+│ B │ MisclassificationRate() │ predict_mode │ 0.0422 │
+│ C │ BrierScore() │ predict │ -0.172 │
└───┴─────────────────────────┴──────────────┴─────────────┘
┌───┬───────────────────────────────────────────────────────────────────────────
│ │ per_fold ⋯
├───┼───────────────────────────────────────────────────────────────────────────
-│ A │ [0.268, 0.304, 0.265, 0.344, 0.355, 0.286, 0.281, 0.402, 0.267, 0.375, 0 ⋯
-│ B │ [0.0, 0.04, 0.04, 0.04, 0.04, 0.04, 0.0, 0.16, 0.0, 0.04, 0.08, 0.08, 0. ⋯
-│ C │ Float32[-0.134, -0.164, -0.137, -0.175, -0.201, -0.124, -0.157, -0.263, ⋯
+│ A │ [0.363, 0.328, 0.281, 0.313, 0.355, 0.22, 0.29, 0.403, 0.309, 0.386, 0.4 ⋯
+│ B │ [0.0, 0.0, 0.04, 0.0, 0.08, 0.0, 0.04, 0.12, 0.0, 0.04, 0.12, 0.08, 0.08 ⋯
+│ C │ Float32[-0.21, -0.181, -0.144, -0.152, -0.208, -0.103, -0.164, -0.257, - ⋯
└───┴───────────────────────────────────────────────────────────────────────────
2 columns omitted
@@ -1082,51 +1082,51 @@ predict(mach, rows=test) # and predict missing targets
````
45-element CategoricalDistributions.UnivariateFiniteVector{ScientificTypesBase.Multiclass{3}, String, UInt32, Float32}:
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.172, Iris-versicolor=>0.534, Iris-virginica=>0.294)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.992, Iris-versicolor=>0.00823, Iris-virginica=>5.38e-7)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.992, Iris-versicolor=>0.00819, Iris-virginica=>5.46e-7)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.991, Iris-versicolor=>0.00911, Iris-virginica=>6.44e-7)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.189, Iris-versicolor=>0.529, Iris-virginica=>0.282)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00379, Iris-versicolor=>0.28, Iris-virginica=>0.717)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.993, Iris-versicolor=>0.0073, Iris-virginica=>4.57e-7)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.992, Iris-versicolor=>0.00786, Iris-virginica=>5.1e-7)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.0551, Iris-versicolor=>0.456, Iris-virginica=>0.489)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.229, Iris-versicolor=>0.587, Iris-virginica=>0.184)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.000905, Iris-versicolor=>0.202, Iris-virginica=>0.797)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00377, Iris-versicolor=>0.28, Iris-virginica=>0.716)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00147, Iris-versicolor=>0.225, Iris-virginica=>0.773)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.136, Iris-versicolor=>0.5, Iris-virginica=>0.364)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.992, Iris-versicolor=>0.00838, Iris-virginica=>5.59e-7)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.258, Iris-versicolor=>0.611, Iris-virginica=>0.131)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00421, Iris-versicolor=>0.283, Iris-virginica=>0.713)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00537, Iris-versicolor=>0.299, Iris-virginica=>0.696)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.049, Iris-versicolor=>0.448, Iris-virginica=>0.503)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.17, Iris-versicolor=>0.524, Iris-virginica=>0.306)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.307, Iris-versicolor=>0.605, Iris-virginica=>0.0886)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.139, Iris-versicolor=>0.522, Iris-virginica=>0.339)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.174, Iris-versicolor=>0.556, Iris-virginica=>0.27)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00256, Iris-versicolor=>0.255, Iris-virginica=>0.743)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.988, Iris-versicolor=>0.0118, Iris-virginica=>8.8e-7)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00156, Iris-versicolor=>0.228, Iris-virginica=>0.77)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.206, Iris-versicolor=>0.561, Iris-virginica=>0.233)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.0481, Iris-versicolor=>0.437, Iris-virginica=>0.515)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00765, Iris-versicolor=>0.321, Iris-virginica=>0.671)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00704, Iris-versicolor=>0.315, Iris-virginica=>0.678)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.132, Iris-versicolor=>0.536, Iris-virginica=>0.332)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.989, Iris-versicolor=>0.0114, Iris-virginica=>8.69e-7)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.14, Iris-versicolor=>0.537, Iris-virginica=>0.323)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.186, Iris-versicolor=>0.556, Iris-virginica=>0.258)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00189, Iris-versicolor=>0.239, Iris-virginica=>0.759)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.0458, Iris-versicolor=>0.443, Iris-virginica=>0.511)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00411, Iris-versicolor=>0.283, Iris-virginica=>0.713)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.228, Iris-versicolor=>0.579, Iris-virginica=>0.193)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.991, Iris-versicolor=>0.00893, Iris-virginica=>6.13e-7)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.991, Iris-versicolor=>0.00858, Iris-virginica=>5.84e-7)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00643, Iris-versicolor=>0.31, Iris-virginica=>0.683)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.989, Iris-versicolor=>0.0112, Iris-virginica=>8.18e-7)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.0324, Iris-versicolor=>0.422, Iris-virginica=>0.545)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.194, Iris-versicolor=>0.545, Iris-virginica=>0.261)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.0298, Iris-versicolor=>0.415, Iris-virginica=>0.555)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.212, Iris-versicolor=>0.565, Iris-virginica=>0.223)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.989, Iris-versicolor=>0.0114, Iris-virginica=>4.52e-8)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.988, Iris-versicolor=>0.0125, Iris-virginica=>5.2e-8)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.986, Iris-versicolor=>0.0142, Iris-virginica=>6.58e-8)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.236, Iris-versicolor=>0.564, Iris-virginica=>0.2)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00401, Iris-versicolor=>0.257, Iris-virginica=>0.739)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.99, Iris-versicolor=>0.00983, Iris-virginica=>3.51e-8)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.989, Iris-versicolor=>0.0115, Iris-virginica=>4.51e-8)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.0575, Iris-versicolor=>0.445, Iris-virginica=>0.497)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.3, Iris-versicolor=>0.612, Iris-virginica=>0.0877)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00131, Iris-versicolor=>0.194, Iris-virginica=>0.805)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00405, Iris-versicolor=>0.259, Iris-virginica=>0.737)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00183, Iris-versicolor=>0.21, Iris-virginica=>0.788)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.15, Iris-versicolor=>0.514, Iris-virginica=>0.336)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.988, Iris-versicolor=>0.0124, Iris-virginica=>5.19e-8)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.333, Iris-versicolor=>0.615, Iris-virginica=>0.052)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00342, Iris-versicolor=>0.243, Iris-virginica=>0.754)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00366, Iris-versicolor=>0.249, Iris-virginica=>0.748)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.0363, Iris-versicolor=>0.416, Iris-virginica=>0.548)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.209, Iris-versicolor=>0.555, Iris-virginica=>0.236)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.392, Iris-versicolor=>0.584, Iris-virginica=>0.024)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.171, Iris-versicolor=>0.546, Iris-virginica=>0.282)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.225, Iris-versicolor=>0.589, Iris-virginica=>0.186)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00249, Iris-versicolor=>0.225, Iris-virginica=>0.772)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.983, Iris-versicolor=>0.017, Iris-virginica=>8.92e-8)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00176, Iris-versicolor=>0.208, Iris-virginica=>0.79)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.262, Iris-versicolor=>0.597, Iris-virginica=>0.14)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.0433, Iris-versicolor=>0.405, Iris-virginica=>0.552)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00694, Iris-versicolor=>0.287, Iris-virginica=>0.706)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00519, Iris-versicolor=>0.269, Iris-virginica=>0.726)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.161, Iris-versicolor=>0.568, Iris-virginica=>0.271)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.984, Iris-versicolor=>0.0164, Iris-virginica=>8.65e-8)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.176, Iris-versicolor=>0.569, Iris-virginica=>0.255)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.236, Iris-versicolor=>0.593, Iris-virginica=>0.17)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00228, Iris-versicolor=>0.222, Iris-virginica=>0.776)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.04, Iris-versicolor=>0.419, Iris-virginica=>0.541)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00363, Iris-versicolor=>0.249, Iris-virginica=>0.748)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.302, Iris-versicolor=>0.606, Iris-virginica=>0.0924)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.988, Iris-versicolor=>0.0124, Iris-virginica=>5.31e-8)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.987, Iris-versicolor=>0.013, Iris-virginica=>5.6e-8)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.00524, Iris-versicolor=>0.271, Iris-virginica=>0.724)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.985, Iris-versicolor=>0.0155, Iris-virginica=>7.67e-8)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.0264, Iris-versicolor=>0.39, Iris-virginica=>0.584)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.245, Iris-versicolor=>0.582, Iris-virginica=>0.173)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(Iris-setosa=>0.0246, Iris-versicolor=>0.38, Iris-virginica=>0.595)
````
### On learning curves
@@ -1155,7 +1155,7 @@ curve = learning_curve(
````
````
-(parameter_name = "epochs", parameter_scale = :log10, parameter_values = [1, 2, 3, 4, 5, 7, 9, 11, 14, 17, 22, 28, 36, 45, 57, 73, 92, 117, 149, 189, 240, 304, 386, 489, 621, 788, 1000], measurements = [0.9465042091289829, 0.8968707272456822, 0.8497798619992826, 0.7099271009763609, 0.6529691492724031, 0.5895050363047272, 0.5552147272086647, 0.50266843326434, 0.4621853906711376, 0.480670973951723, 0.4369504317305079, 0.3352046880199063, 0.34340528327819964, 0.30567731848288915, 0.34234238147281426, 0.3156098947468397, 0.2971425228432417, 0.3114554575192507, 0.275822974018272, 0.23683517257355358, 0.26349679877851445, 0.27933457250043214, 0.2880902892456894, 0.21653188207277058, 0.266598468633448, 0.21114058446380382, 0.22449880381569934])
+(parameter_name = "epochs", parameter_scale = :log10, parameter_values = [1, 2, 3, 4, 5, 7, 9, 11, 14, 17, 22, 28, 36, 45, 57, 73, 92, 117, 149, 189, 240, 304, 386, 489, 621, 788, 1000], measurements = [0.996922160303613, 0.8577055250248313, 0.7981519638729986, 0.7620389845823741, 0.7323274239258524, 0.6767194293543304, 0.6456183342973714, 0.6019803869670477, 0.6148576306918716, 0.5858385363538815, 0.5420341283852436, 0.5502000369070692, 0.5408171567564948, 0.485989693319718, 0.4936070614522306, 0.4330706602760043, 0.4150256223224028, 0.3341514384124167, 0.2983904685917199, 0.2815979750419263, 0.27383412873432805, 0.2781026630466714, 0.2515121244169944, 0.25689560519828347, 0.2283805057524257, 0.2597360768185133, 0.24229163132135162])
````
````@julia
@@ -1219,15 +1219,15 @@ y4 = [n_devices(row.salary) for row in eachrow(X4)]
````
10-element Vector{Int64}:
1
- 0
- 0
+ 1
2
1
+ 2
0
0
- 2
- 2
- 2
+ 0
+ 1
+ 4
````
(b) What models can be applied if you coerce the salary to a
@@ -1253,10 +1253,10 @@ pretty(data)
│ Int64 │ Float64 │ Float64 │ CategoricalValue{String, UInt32} │
│ Count │ Continuous │ Continuous │ OrderedFactor{2} │
├───────┼────────────┼────────────┼──────────────────────────────────┤
-│ 1 │ 0.542161 │ 0.804485 │ male │
-│ 2 │ 0.541591 │ 0.199257 │ female │
-│ 3 │ 0.472845 │ 0.425963 │ female │
-│ 4 │ 0.075832 │ 0.866623 │ male │
+│ 1 │ 0.303334 │ 0.803837 │ male │
+│ 2 │ 0.765226 │ 0.061673 │ female │
+│ 3 │ 0.88446 │ 0.716328 │ female │
+│ 4 │ 0.255475 │ 0.239904 │ male │
└───────┴────────────┴────────────┴──────────────────────────────────┘
````
diff --git a/docs/src/notebooks/MLJTutorial/03_pipelines/notebook.md b/docs/src/notebooks/MLJTutorial/03_pipelines/notebook.md
index b829bb6..4f4cbf6 100644
--- a/docs/src/notebooks/MLJTutorial/03_pipelines/notebook.md
+++ b/docs/src/notebooks/MLJTutorial/03_pipelines/notebook.md
@@ -31,8 +31,8 @@ x = rand(100);
````
````
-mean(x) = 0.48994182660190133
-std(x) = 0.3012292457201098
+mean(x) = 0.52573272422357
+std(x) = 0.3020501201265377
````
@@ -46,7 +46,7 @@ xhat = transform(mach, x);
````
[ Info: Training machine(Standardizer(features = Symbol[], …), …).
-mean(xhat) = -9.103828801926283e-17
+mean(xhat) = -1.8596235662471373e-16
std(xhat) = 1.0
````
@@ -500,7 +500,7 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: DeterministicPipeline-366
+Tag: DeterministicPipeline-661
Extract:
┌──────────┬───────────┬─────────────┐
│ measure │ operation │ measurement │
@@ -629,7 +629,7 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: DeterministicPipeline-710
+Tag: DeterministicPipeline-106
Extract:
┌──────────┬───────────┬─────────────┐
│ measure │ operation │ measurement │
@@ -669,7 +669,7 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: DeterministicPipeline-846
+Tag: DeterministicPipeline-264
Extract:
┌──────────┬───────────┬─────────────┐
│ measure │ operation │ measurement │
@@ -696,7 +696,7 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: DeterministicPipeline-649
+Tag: DeterministicPipeline-300
Extract:
┌──────────┬───────────┬─────────────┐
│ measure │ operation │ measurement │
diff --git a/docs/src/notebooks/MLJTutorial/04_tuning/gamma_sampler.png b/docs/src/notebooks/MLJTutorial/04_tuning/gamma_sampler.png
index c26d39f..253f458 100644
Binary files a/docs/src/notebooks/MLJTutorial/04_tuning/gamma_sampler.png and b/docs/src/notebooks/MLJTutorial/04_tuning/gamma_sampler.png differ
diff --git a/docs/src/notebooks/MLJTutorial/04_tuning/learning_curve2.png b/docs/src/notebooks/MLJTutorial/04_tuning/learning_curve2.png
index d7f51ab..fec7291 100644
Binary files a/docs/src/notebooks/MLJTutorial/04_tuning/learning_curve2.png and b/docs/src/notebooks/MLJTutorial/04_tuning/learning_curve2.png differ
diff --git a/docs/src/notebooks/MLJTutorial/04_tuning/notebook.md b/docs/src/notebooks/MLJTutorial/04_tuning/notebook.md
index 908f6e0..990c886 100644
--- a/docs/src/notebooks/MLJTutorial/04_tuning/notebook.md
+++ b/docs/src/notebooks/MLJTutorial/04_tuning/notebook.md
@@ -366,7 +366,7 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: ProbabilisticPipeline-992
+Tag: ProbabilisticPipeline-509
Extract:
┌──────────────────────┬───────────┬─────────────┐
│ measure │ operation │ measurement │
@@ -392,7 +392,7 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: ProbabilisticTunedModel-915
+Tag: ProbabilisticTunedModel-395
Extract:
┌──────────────────────┬───────────┬─────────────┐
│ measure │ operation │ measurement │
diff --git a/docs/src/notebooks/MLJTutorial/04_tuning/tuning.png b/docs/src/notebooks/MLJTutorial/04_tuning/tuning.png
index f58579d..9be33e5 100644
Binary files a/docs/src/notebooks/MLJTutorial/04_tuning/tuning.png and b/docs/src/notebooks/MLJTutorial/04_tuning/tuning.png differ
diff --git a/docs/src/notebooks/MLJTutorial/05_composition/notebook.md b/docs/src/notebooks/MLJTutorial/05_composition/notebook.md
index 37c8b3d..f4a1692 100644
--- a/docs/src/notebooks/MLJTutorial/05_composition/notebook.md
+++ b/docs/src/notebooks/MLJTutorial/05_composition/notebook.md
@@ -64,11 +64,11 @@ pretty(X)
│ Float64 │ Float64 │ Float64 │
│ Continuous │ Continuous │ Continuous │
├────────────┼────────────┼────────────┤
-│ 4.62724 │ 10.7352 │ -5.52083 │
-│ 4.40427 │ 16.8041 │ 5.34259 │
-│ -4.39704 │ 7.39387 │ 8.4686 │
-│ 5.70514 │ 8.87656 │ -5.84487 │
-│ 4.5187 │ 9.3778 │ -5.24264 │
+│ 5.31563 │ -3.3673 │ -10.3947 │
+│ -0.249305 │ 4.31778 │ 5.53754 │
+│ 5.32621 │ 11.1213 │ -4.48258 │
+│ 1.26847 │ 6.21007 │ 4.83913 │
+│ -0.599664 │ 5.77754 │ 4.42261 │
└────────────┴────────────┴────────────┘
````
@@ -91,11 +91,11 @@ yhat = predict(mach2, Xstand)
````
5-element CategoricalDistributions.UnivariateFiniteVector{ScientificTypesBase.Multiclass{3}, Int64, UInt32, Float64}:
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.00103, 2=>0.00253, 3=>0.996)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.0011, 2=>0.995, 3=>0.00355)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.996, 2=>0.00124, 3=>0.00261)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.000405, 2=>0.000305, 3=>0.999)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.00122, 2=>0.000793, 3=>0.998)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.996, 2=>0.00197, 3=>0.00173)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.000517, 2=>0.000196, 3=>0.999)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.00154, 2=>0.994, 3=>0.00397)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.00128, 2=>0.00405, 3=>0.995)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.000393, 2=>0.000447, 3=>0.999)
````
**Step 1** - Edit your code as follows:
@@ -119,15 +119,15 @@ yhat = predict(mach2, Xstand)
````
````
-Node @361 → LogisticClassifier(…)
+Node @316 → LogisticClassifier(…)
args:
- 1: Node @114 → Standardizer(…)
+ 1: Node @206 → Standardizer(…)
formula:
predict(
machine(LogisticClassifier(lambda = 0.001, …), …),
transform(
machine(Standardizer(features = Symbol[], …), …),
- Source @383,
+ Source @679,
),
)
````
@@ -150,11 +150,11 @@ Xstand() |> pretty
│ Float64 │ Float64 │ Float64 │
│ Continuous │ Continuous │ Continuous │
├────────────┼────────────┼────────────┤
-│ 0.398744 │ 0.0267856 │ -0.718322 │
-│ 0.34504 │ 1.69018 │ 0.854506 │
-│ -1.77474 │ -0.889044 │ 1.3071 │
-│ 0.658353 │ -0.482654 │ -0.765237 │
-│ 0.3726 │ -0.34527 │ -0.678045 │
+│ 1.06157 │ -1.56085 │ -1.46133 │
+│ -0.84203 │ -0.0942899 │ 0.781855 │
+│ 1.06519 │ 1.20404 │ -0.62893 │
+│ -0.322846 │ 0.266821 │ 0.683523 │
+│ -0.961878 │ 0.18428 │ 0.624879 │
└────────────┴────────────┴────────────┘
````
@@ -178,11 +178,11 @@ yhat()
````
5-element CategoricalDistributions.UnivariateFiniteVector{ScientificTypesBase.Multiclass{3}, Int64, UInt32, Float64}:
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.00103, 2=>0.00253, 3=>0.996)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.0011, 2=>0.995, 3=>0.00355)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.996, 2=>0.00124, 3=>0.00261)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.000405, 2=>0.000305, 3=>0.999)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.00122, 2=>0.000793, 3=>0.998)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.996, 2=>0.00197, 3=>0.00173)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.000517, 2=>0.000196, 3=>0.999)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.00154, 2=>0.994, 3=>0.00397)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.00128, 2=>0.00405, 3=>0.995)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.000393, 2=>0.000447, 3=>0.999)
````
The node `yhat` is the "descendant" (in an associated DAG we have
@@ -194,7 +194,7 @@ origins(yhat)
````
1-element Vector{MLJBase.Source}:
- Source @383 ⏎ `ScientificTypesBase.Table{AbstractVector{ScientificTypesBase.Continuous}}`
+ Source @679 ⏎ `ScientificTypesBase.Table{AbstractVector{ScientificTypesBase.Continuous}}`
````
The data at the source node is replaced by `Xnew` to obtain a
@@ -207,8 +207,8 @@ yhat(Xnew)
````
2-element CategoricalDistributions.UnivariateFiniteVector{ScientificTypesBase.Multiclass{3}, Int64, UInt32, Float64}:
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.0024, 2=>3.71e-5, 3=>0.998)
- UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>0.0744, 2=>8.78e-5, 3=>0.926)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>2.72e-7, 2=>1.01e-7, 3=>1.0)
+ UnivariateFinite{ScientificTypesBase.Multiclass{3}}(1=>2.8e-6, 2=>8.96e-5, 3=>1.0)
````
**Step 2** - Export the learning network as a new stand-alone model type
@@ -238,15 +238,15 @@ yhat = predict(mach2, Xstand)
````
````
-Node @124 → :classifier
+Node @855 → :classifier
args:
- 1: Node @809 → :standardizer
+ 1: Node @680 → :standardizer
formula:
predict(
machine(:classifier, …),
transform(
machine(:standardizer, …),
- Source @383,
+ Source @679,
),
)
````
@@ -380,7 +380,7 @@ y = source(y)
````
````
-Source @198 ⏎ `AbstractVector{ScientificTypesBase.Continuous}`
+Source @924 ⏎ `AbstractVector{ScientificTypesBase.Continuous}`
````
**First layer and target transformation:**
@@ -396,13 +396,13 @@ z = MLJ.transform(mach2, y)
````
````
-Node @283 → UnivariateBoxCoxTransformer(…)
+Node @546 → UnivariateBoxCoxTransformer(…)
args:
- 1: Source @198
+ 1: Source @924
formula:
transform(
machine(UnivariateBoxCoxTransformer(n = 171, …), …),
- Source @198,
+ Source @924,
)
````
@@ -419,10 +419,10 @@ zhat = 0.5*predict(mach3, W) + 0.5*predict(mach4, W)
````
````
-Node @594
+Node @505
args:
- 1: Node @695
- 2: Node @962
+ 1: Node @084
+ 2: Node @653
formula:
+(
var"#*##0#*##1"(
@@ -430,7 +430,7 @@ Node @594
machine(RidgeRegressor(lambda = 0.1, …), …),
transform(
machine(Standardizer(features = Symbol[], …), …),
- Source @397,
+ Source @511,
),
),
),
@@ -439,7 +439,7 @@ Node @594
machine(RandomForestRegressor(max_depth = -1, …), …),
transform(
machine(Standardizer(features = Symbol[], …), …),
- Source @397,
+ Source @511,
),
),
),
@@ -453,9 +453,9 @@ yhat = inverse_transform(mach2, zhat)
````
````
-Node @306 → UnivariateBoxCoxTransformer(…)
+Node @247 → UnivariateBoxCoxTransformer(…)
args:
- 1: Node @594
+ 1: Node @505
formula:
inverse_transform(
machine(UnivariateBoxCoxTransformer(n = 171, …), …),
@@ -465,7 +465,7 @@ Node @306 → UnivariateBoxCoxTransformer(…)
machine(RidgeRegressor(lambda = 0.1, …), …),
transform(
machine(Standardizer(features = Symbol[], …), …),
- Source @397,
+ Source @511,
),
),
),
@@ -474,7 +474,7 @@ Node @306 → UnivariateBoxCoxTransformer(…)
machine(RandomForestRegressor(max_depth = -1, …), …),
transform(
machine(Standardizer(features = Symbol[], …), …),
- Source @397,
+ Source @511,
),
),
),
@@ -491,9 +491,9 @@ yhat(rows=1:3)
````
3-element Vector{Float64}:
- 1.8758898048020904
- 2.0871924627786433
- 1.2714918102034443
+ 0.38643611843841796
+ 0.5723985261534488
+ 0.44151392790057636
````
Now for the new model type:
@@ -546,21 +546,21 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: CompositeModel-927
+Tag: CompositeModel-412
Extract:
┌───┬────────────────────────┬───────────┬─────────────┐
│ │ measure │ operation │ measurement │
├───┼────────────────────────┼───────────┼─────────────┤
-│ A │ RootMeanSquaredError() │ predict │ 3.94 │
-│ B │ LPLoss( │ predict │ 2.48 │
+│ A │ RootMeanSquaredError() │ predict │ 4.0 │
+│ B │ LPLoss( │ predict │ 2.51 │
│ │ p = 1) │ │ │
└───┴────────────────────────┴───────────┴─────────────┘
-┌───┬──────────────────────────────────────┬─────────┐
-│ │ per_fold │ 1.96*SE │
-├───┼──────────────────────────────────────┼─────────┤
-│ A │ [4.92, 3.75, 4.67, 3.46, 3.81, 2.53] │ 0.757 │
-│ B │ [2.76, 2.59, 2.82, 2.36, 2.46, 1.89] │ 0.294 │
-└───┴──────────────────────────────────────┴─────────┘
+┌───┬─────────────────────────────────────┬─────────┐
+│ │ per_fold │ 1.96*SE │
+├───┼─────────────────────────────────────┼─────────┤
+│ A │ [2.67, 2.9, 4.56, 3.85, 5.84, 3.28] │ 1.04 │
+│ B │ [1.81, 2.21, 2.81, 2.27, 3.6, 2.37] │ 0.547 │
+└───┴─────────────────────────────────────┴─────────┘
````
diff --git a/docs/src/notebooks/MLJTutorial/99_solution_to_exercises/exercise_7c.png b/docs/src/notebooks/MLJTutorial/99_solution_to_exercises/exercise_7c.png
index 1d0fd5e..553fd96 100644
Binary files a/docs/src/notebooks/MLJTutorial/99_solution_to_exercises/exercise_7c.png and b/docs/src/notebooks/MLJTutorial/99_solution_to_exercises/exercise_7c.png differ
diff --git a/docs/src/notebooks/MLJTutorial/99_solution_to_exercises/notebook.md b/docs/src/notebooks/MLJTutorial/99_solution_to_exercises/notebook.md
index 6de4333..7624a2d 100644
--- a/docs/src/notebooks/MLJTutorial/99_solution_to_exercises/notebook.md
+++ b/docs/src/notebooks/MLJTutorial/99_solution_to_exercises/notebook.md
@@ -50,8 +50,8 @@ A = rand(2, 3)
````
2×3 Matrix{Float64}:
- 0.436654 0.811629 0.363581
- 0.781021 0.0747531 0.439646
+ 0.441502 0.871795 0.685263
+ 0.535322 0.850152 0.76627
````
````@julia
@@ -77,8 +77,8 @@ Asparse = sparse(A)
````
2×3 SparseArrays.SparseMatrixCSC{Float64, Int64} with 6 stored entries:
- 0.436654 0.811629 0.363581
- 0.781021 0.0747531 0.439646
+ 0.441502 0.871795 0.685263
+ 0.535322 0.850152 0.76627
````
````@julia
@@ -95,8 +95,8 @@ C = coerce(A, Multiclass)
````
2×3 CategoricalArrays.CategoricalArray{Float64,2,UInt32}:
- 0.436654 0.811629 0.363581
- 0.781021 0.0747531 0.439646
+ 0.441502 0.871795 0.685263
+ 0.535322 0.850152 0.76627
````
````@julia
@@ -326,16 +326,16 @@ y4 = [n_devices(row.salary) for row in eachrow(X4)]
````
10-element Vector{Int64}:
- 5
- 1
4
+ 3
2
- 2
- 2
- 0
4
- 3
+ 6
1
+ 3
+ 2
+ 2
+ 2
````
4(a)
@@ -411,10 +411,10 @@ pretty(X)
│ Float64 │ Float64 │
│ Continuous │ Continuous │
├────────────┼────────────┤
-│ 0.961707 │ 0.368005 │
-│ 0.834368 │ 0.482366 │
-│ 0.543462 │ 0.680675 │
-│ 0.41441 │ 0.273404 │
+│ 0.256611 │ 0.672213 │
+│ 0.385614 │ 0.149492 │
+│ 0.873735 │ 0.269848 │
+│ 0.753635 │ 0.206412 │
└────────────┴────────────┘
````
@@ -589,7 +589,7 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: RandomForestClassifier-171
+Tag: RandomForestClassifier-372
Extract:
┌──────────────────────┬───────────┬─────────────┐
│ measure │ operation │ measurement │
@@ -597,11 +597,11 @@ Extract:
│ LogLoss( │ predict │ 1.1 │
│ tol = 2.22045e-16) │ │ │
└──────────────────────┴───────────┴─────────────┘
-┌───────────────────────────────────────┬─────────┐
-│ per_fold │ 1.96*SE │
-├───────────────────────────────────────┼─────────┤
-│ [1.28, 1.38, 1.76, 0.778, 0.72, 0.66] │ 0.391 │
-└───────────────────────────────────────┴─────────┘
+┌─────────────────────────────────────────┬─────────┐
+│ per_fold │ 1.96*SE │
+├─────────────────────────────────────────┼─────────┤
+│ [0.762, 1.39, 1.79, 1.31, 0.697, 0.629] │ 0.411 │
+└─────────────────────────────────────────┴─────────┘
````
@@ -660,7 +660,7 @@ err_forest =
````
````
-1.285130671948529
+0.987927309743752
````
#### Exercise 7
@@ -725,19 +725,19 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: ProbabilisticPipeline-956
+Tag: ProbabilisticPipeline-616
Extract:
┌──────────────────────┬───────────┬─────────────┐
│ measure │ operation │ measurement │
├──────────────────────┼───────────┼─────────────┤
-│ LogLoss( │ predict │ 0.92 │
+│ LogLoss( │ predict │ 0.847 │
│ tol = 2.22045e-16) │ │ │
└──────────────────────┴───────────┴─────────────┘
-┌──────────────────────────────────────────┬─────────┐
-│ per_fold │ 1.96*SE │
-├──────────────────────────────────────────┼─────────┤
-│ [0.943, 1.27, 0.779, 0.792, 0.95, 0.786] │ 0.166 │
-└──────────────────────────────────────────┴─────────┘
+┌───────────────────────────────────────────┬─────────┐
+│ per_fold │ 1.96*SE │
+├───────────────────────────────────────────┼─────────┤
+│ [0.888, 1.15, 0.847, 0.812, 0.782, 0.608] │ 0.154 │
+└───────────────────────────────────────────┴─────────┘
````
@@ -828,7 +828,7 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: DeterministicPipeline-792
+Tag: DeterministicPipeline-942
Extract:
┌──────────┬───────────┬─────────────┐
│ measure │ operation │ measurement │
@@ -854,7 +854,7 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: DeterministicTunedModel-143
+Tag: DeterministicTunedModel-175
Extract:
┌──────────┬───────────┬─────────────┐
│ measure │ operation │ measurement │
diff --git a/docs/src/notebooks/UsingMLJ/01_basics/notebook.md b/docs/src/notebooks/UsingMLJ/01_basics/notebook.md
index 41f5cce..74a57b8 100644
--- a/docs/src/notebooks/UsingMLJ/01_basics/notebook.md
+++ b/docs/src/notebooks/UsingMLJ/01_basics/notebook.md
@@ -186,8 +186,8 @@ fitted_params(mach)
````
(forest = Ensemble of Decision Trees
Trees: 100
-Avg Leaves: 146.77
-Avg Depth: 14.49,)
+Avg Leaves: 147.07
+Avg Depth: 14.67,)
````
````@julia
@@ -206,9 +206,9 @@ predict(mach, X)[1:3]
````
3-element Vector{Float64}:
- 27.016000000000005
- 22.846999999999998
- 34.468999999999994
+ 26.394000000000002
+ 22.337
+ 34.722
````
Predict in the `test` rows:
@@ -224,7 +224,7 @@ mae(ypred, y[test])
````
````
-4.553524752475247
+4.623326732673267
````
`mae` is actually just an alias:
@@ -270,14 +270,14 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: RandomForestRegressor-998
+Tag: RandomForestRegressor-413
Extract:
┌────────────┬───────────┬─────────────┐
│ measure │ operation │ measurement │
├────────────┼───────────┼─────────────┤
-│ LPLoss( │ predict │ 4.55 │
+│ LPLoss( │ predict │ 4.62 │
│ p = 1) │ │ │
-│ RSquared() │ predict │ 0.313 │
+│ RSquared() │ predict │ 0.323 │
└────────────┴───────────┴─────────────┘
````
@@ -298,20 +298,20 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: RandomForestRegressor-838
+Tag: RandomForestRegressor-666
Extract:
┌───┬────────────┬───────────┬─────────────┐
│ │ measure │ operation │ measurement │
├───┼────────────┼───────────┼─────────────┤
-│ A │ LPLoss( │ predict │ 3.06 │
+│ A │ LPLoss( │ predict │ 3.0 │
│ │ p = 1) │ │ │
-│ B │ RSquared() │ predict │ 0.644 │
+│ B │ RSquared() │ predict │ 0.656 │
└───┴────────────┴───────────┴─────────────┘
┌───┬──────────────────────────────────────────┬─────────┐
│ │ per_fold │ 1.96*SE │
├───┼──────────────────────────────────────────┼─────────┤
-│ A │ [2.19, 2.5, 3.49, 2.23, 5.0, 2.98] │ 0.937 │
-│ B │ [0.742, 0.792, 0.702, 0.848, 0.42, 0.36] │ 0.179 │
+│ A │ [2.24, 2.29, 3.32, 2.41, 4.73, 3.03] │ 0.834 │
+│ B │ [0.726, 0.838, 0.7, 0.819, 0.472, 0.376] │ 0.166 │
└───┴──────────────────────────────────────────┴─────────┘
````
@@ -334,21 +334,21 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: RandomForestRegressor-818
+Tag: RandomForestRegressor-199
Extract:
┌───┬────────────┬───────────┬─────────────┐
│ │ measure │ operation │ measurement │
├───┼────────────┼───────────┼─────────────┤
│ A │ LPLoss( │ predict │ 2.45 │
│ │ p = 1) │ │ │
-│ B │ RSquared() │ predict │ 0.836 │
+│ B │ RSquared() │ predict │ 0.842 │
└───┴────────────┴───────────┴─────────────┘
-┌───┬────────────────────────────────────────────────────────────────────────┬──
-│ │ per_fold │ ⋯
-├───┼────────────────────────────────────────────────────────────────────────┼──
-│ A │ [2.47, 2.34, 2.26, 2.94, 2.59, 2.29, 2.49, 2.22, 2.45, 2.43] │ ⋯
-│ B │ [0.801, 0.878, 0.856, 0.743, 0.831, 0.876, 0.867, 0.833, 0.866, 0.806] │ ⋯
-└───┴────────────────────────────────────────────────────────────────────────┴──
+┌───┬───────────────────────────────────────────────────────────────────────┬───
+│ │ per_fold │ ⋯
+├───┼───────────────────────────────────────────────────────────────────────┼───
+│ A │ [2.49, 2.49, 2.6, 2.47, 2.35, 2.52, 2.43, 2.35, 2.52, 2.24] │ ⋯
+│ B │ [0.817, 0.855, 0.835, 0.83, 0.853, 0.808, 0.863, 0.856, 0.835, 0.867] │ ⋯
+└───┴───────────────────────────────────────────────────────────────────────┴───
1 column omitted
````
@@ -359,8 +359,8 @@ e.uncertainty_radius_95
````
2-element Vector{Float64}:
- 0.1351854798171381
- 0.027918917100305033
+ 0.06904375445230268
+ 0.013098268581533108
````
# Interlude on scientific types
@@ -605,8 +605,8 @@ first(yprob, 5)
5-element CategoricalDistributions.UnivariateFiniteVector{ScientificTypesBase.Multiclass{2}, InlineStrings.String7, UInt32, Float64}:
UnivariateFinite{ScientificTypesBase.Multiclass{2}}(<=50K=>1.0, >50K=>0.0)
UnivariateFinite{ScientificTypesBase.Multiclass{2}}(<=50K=>1.0, >50K=>0.0)
- UnivariateFinite{ScientificTypesBase.Multiclass{2}}(<=50K=>0.94, >50K=>0.06)
- UnivariateFinite{ScientificTypesBase.Multiclass{2}}(<=50K=>0.25, >50K=>0.75)
+ UnivariateFinite{ScientificTypesBase.Multiclass{2}}(<=50K=>0.98, >50K=>0.02)
+ UnivariateFinite{ScientificTypesBase.Multiclass{2}}(<=50K=>0.24, >50K=>0.76)
UnivariateFinite{ScientificTypesBase.Multiclass{2}}(<=50K=>1.0, >50K=>0.0)
````
@@ -617,8 +617,8 @@ yprob[3]
````
UnivariateFinite{ScientificTypesBase.Multiclass{2}}
┌ ┐
- <=50K ┤■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 0.94
- >50K ┤■■ 0.06
+ <=50K ┤■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 0.98
+ >50K ┤■ 0.02
└ ┘
````
@@ -629,7 +629,7 @@ accuracy(ypoint, y[test])
````
````
-0.7822593028612377
+0.7822081179300814
````
````@julia
@@ -637,7 +637,7 @@ log_loss(yprob, y[test])
````
````
-1.4905981300833329
+1.5659651402227337
````
Evaluate with one command:
@@ -656,13 +656,13 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: RandomForestClassifier-838
+Tag: RandomForestClassifier-400
Extract:
┌──────────────────────┬──────────────┬─────────────┐
│ measure │ operation │ measurement │
├──────────────────────┼──────────────┼─────────────┤
-│ Accuracy() │ predict_mode │ 0.78 │
-│ LogLoss( │ predict │ 1.54 │
+│ Accuracy() │ predict_mode │ 0.781 │
+│ LogLoss( │ predict │ 1.53 │
│ tol = 2.22045e-16) │ │ │
└──────────────────────┴──────────────┴─────────────┘
diff --git a/docs/src/notebooks/UsingMLJ/02_model_composition/notebook.md b/docs/src/notebooks/UsingMLJ/02_model_composition/notebook.md
index 3336650..47968ab 100644
--- a/docs/src/notebooks/UsingMLJ/02_model_composition/notebook.md
+++ b/docs/src/notebooks/UsingMLJ/02_model_composition/notebook.md
@@ -145,7 +145,7 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: DeterministicPipeline-975
+Tag: DeterministicPipeline-381
Extract:
┌──────────┬───────────┬─────────────┐
│ measure │ operation │ measurement │
@@ -209,7 +209,7 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: TransformedTargetModelDeterministic-815
+Tag: TransformedTargetModelDeterministic-404
Extract:
┌──────────┬───────────┬─────────────┐
│ measure │ operation │ measurement │
diff --git a/docs/src/notebooks/UsingMLJ/03_model_tuning/learning_curve.svg b/docs/src/notebooks/UsingMLJ/03_model_tuning/learning_curve.svg
index 14f2dff..55dc002 100644
--- a/docs/src/notebooks/UsingMLJ/03_model_tuning/learning_curve.svg
+++ b/docs/src/notebooks/UsingMLJ/03_model_tuning/learning_curve.svg
@@ -1,46 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/src/notebooks/UsingMLJ/03_model_tuning/notebook.md b/docs/src/notebooks/UsingMLJ/03_model_tuning/notebook.md
index a562ab2..13d89b2 100644
--- a/docs/src/notebooks/UsingMLJ/03_model_tuning/notebook.md
+++ b/docs/src/notebooks/UsingMLJ/03_model_tuning/notebook.md
@@ -80,7 +80,7 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: ProbabilisticPipeline-707
+Tag: ProbabilisticPipeline-112
Extract:
┌──────────┬──────────────┬─────────────┐
│ measure │ operation │ measurement │
@@ -147,7 +147,7 @@ savefig("learning_curve.svg");
````
[ Info: Training machine(DeterministicTunedModel(model = DeterministicPipeline(continuous_encoder = ContinuousEncoder(drop_last = false, …), …), …), …).
[ Info: Attempting to evaluate 30 models.
-
Evaluating over 30 metamodels: 0%[> ] ETA: N/A[K
Evaluating over 30 metamodels: 3%[> ] ETA: 0:00:03[K
Evaluating over 30 metamodels: 7%[=> ] ETA: 0:00:02[K
Evaluating over 30 metamodels: 10%[==> ] ETA: 0:00:02[K
Evaluating over 30 metamodels: 13%[===> ] ETA: 0:00:01[K
Evaluating over 30 metamodels: 17%[====> ] ETA: 0:00:02[K
Evaluating over 30 metamodels: 20%[=====> ] ETA: 0:00:02[K
Evaluating over 30 metamodels: 23%[=====> ] ETA: 0:00:02[K
Evaluating over 30 metamodels: 27%[======> ] ETA: 0:00:02[K
Evaluating over 30 metamodels: 30%[=======> ] ETA: 0:00:02[K
Evaluating over 30 metamodels: 33%[========> ] ETA: 0:00:03[K
Evaluating over 30 metamodels: 37%[=========> ] ETA: 0:00:03[K
Evaluating over 30 metamodels: 40%[==========> ] ETA: 0:00:04[K
Evaluating over 30 metamodels: 43%[==========> ] ETA: 0:00:04[K
Evaluating over 30 metamodels: 47%[===========> ] ETA: 0:00:04[K
Evaluating over 30 metamodels: 50%[============> ] ETA: 0:00:04[K
Evaluating over 30 metamodels: 53%[=============> ] ETA: 0:00:04[K
Evaluating over 30 metamodels: 57%[==============> ] ETA: 0:00:05[K
Evaluating over 30 metamodels: 60%[===============> ] ETA: 0:00:05[K
Evaluating over 30 metamodels: 63%[===============> ] ETA: 0:00:04[K
Evaluating over 30 metamodels: 67%[================> ] ETA: 0:00:04[K
Evaluating over 30 metamodels: 70%[=================> ] ETA: 0:00:05[K
Evaluating over 30 metamodels: 73%[==================> ] ETA: 0:00:04[K
Evaluating over 30 metamodels: 77%[===================> ] ETA: 0:00:04[K
Evaluating over 30 metamodels: 80%[====================> ] ETA: 0:00:04[K
Evaluating over 30 metamodels: 83%[====================> ] ETA: 0:00:03[K
Evaluating over 30 metamodels: 87%[=====================> ] ETA: 0:00:03[K
Evaluating over 30 metamodels: 90%[======================> ] ETA: 0:00:02[K
Evaluating over 30 metamodels: 93%[=======================> ] ETA: 0:00:02[K
Evaluating over 30 metamodels: 97%[========================>] ETA: 0:00:01[K
Evaluating over 30 metamodels: 100%[=========================] Time: 0:00:29[K
+
Evaluating over 30 metamodels: 7%[=> ] ETA: 0:00:01[K
Evaluating over 30 metamodels: 10%[==> ] ETA: 0:00:01[K
Evaluating over 30 metamodels: 13%[===> ] ETA: 0:00:01[K
Evaluating over 30 metamodels: 17%[====> ] ETA: 0:00:01[K
Evaluating over 30 metamodels: 20%[=====> ] ETA: 0:00:01[K
Evaluating over 30 metamodels: 23%[=====> ] ETA: 0:00:02[K
Evaluating over 30 metamodels: 27%[======> ] ETA: 0:00:02[K
Evaluating over 30 metamodels: 30%[=======> ] ETA: 0:00:02[K
Evaluating over 30 metamodels: 33%[========> ] ETA: 0:00:03[K
Evaluating over 30 metamodels: 37%[=========> ] ETA: 0:00:03[K
Evaluating over 30 metamodels: 40%[==========> ] ETA: 0:00:03[K
Evaluating over 30 metamodels: 43%[==========> ] ETA: 0:00:04[K
Evaluating over 30 metamodels: 47%[===========> ] ETA: 0:00:04[K
Evaluating over 30 metamodels: 50%[============> ] ETA: 0:00:04[K
Evaluating over 30 metamodels: 53%[=============> ] ETA: 0:00:05[K
Evaluating over 30 metamodels: 57%[==============> ] ETA: 0:00:05[K
Evaluating over 30 metamodels: 60%[===============> ] ETA: 0:00:05[K
Evaluating over 30 metamodels: 63%[===============> ] ETA: 0:00:05[K
Evaluating over 30 metamodels: 67%[================> ] ETA: 0:00:05[K
Evaluating over 30 metamodels: 70%[=================> ] ETA: 0:00:05[K
Evaluating over 30 metamodels: 73%[==================> ] ETA: 0:00:05[K
Evaluating over 30 metamodels: 77%[===================> ] ETA: 0:00:05[K
Evaluating over 30 metamodels: 80%[====================> ] ETA: 0:00:05[K
Evaluating over 30 metamodels: 83%[====================> ] ETA: 0:00:04[K
Evaluating over 30 metamodels: 87%[=====================> ] ETA: 0:00:04[K
Evaluating over 30 metamodels: 90%[======================> ] ETA: 0:00:03[K
Evaluating over 30 metamodels: 93%[=======================> ] ETA: 0:00:02[K
Evaluating over 30 metamodels: 97%[========================>] ETA: 0:00:01[K
Evaluating over 30 metamodels: 100%[=========================] Time: 0:00:36[K
````
@@ -224,7 +224,7 @@ savefig("tuned_model_grid.svg");
````
[ Info: Training machine(DeterministicTunedModel(model = DeterministicPipeline(continuous_encoder = ContinuousEncoder(drop_last = false, …), …), …), …).
[ Info: Attempting to evaluate 36 models.
-
Evaluating over 36 metamodels: 6%[=> ] ETA: 0:00:37[K
Evaluating over 36 metamodels: 8%[==> ] ETA: 0:00:40[K
Evaluating over 36 metamodels: 11%[==> ] ETA: 0:00:40[K
Evaluating over 36 metamodels: 14%[===> ] ETA: 0:00:48[K
Evaluating over 36 metamodels: 17%[====> ] ETA: 0:00:45[K
Evaluating over 36 metamodels: 19%[====> ] ETA: 0:00:41[K
Evaluating over 36 metamodels: 22%[=====> ] ETA: 0:00:40[K
Evaluating over 36 metamodels: 25%[======> ] ETA: 0:00:40[K
Evaluating over 36 metamodels: 28%[======> ] ETA: 0:00:38[K
Evaluating over 36 metamodels: 31%[=======> ] ETA: 0:00:35[K
Evaluating over 36 metamodels: 33%[========> ] ETA: 0:00:32[K
Evaluating over 36 metamodels: 36%[=========> ] ETA: 0:00:29[K
Evaluating over 36 metamodels: 39%[=========> ] ETA: 0:00:28[K
Evaluating over 36 metamodels: 42%[==========> ] ETA: 0:00:27[K
Evaluating over 36 metamodels: 44%[===========> ] ETA: 0:00:26[K
Evaluating over 36 metamodels: 47%[===========> ] ETA: 0:00:25[K
Evaluating over 36 metamodels: 50%[============> ] ETA: 0:00:25[K
Evaluating over 36 metamodels: 53%[=============> ] ETA: 0:00:24[K
Evaluating over 36 metamodels: 56%[=============> ] ETA: 0:00:22[K
Evaluating over 36 metamodels: 58%[==============> ] ETA: 0:00:21[K
Evaluating over 36 metamodels: 61%[===============> ] ETA: 0:00:19[K
Evaluating over 36 metamodels: 64%[===============> ] ETA: 0:00:18[K
Evaluating over 36 metamodels: 67%[================> ] ETA: 0:00:17[K
Evaluating over 36 metamodels: 69%[=================> ] ETA: 0:00:15[K
Evaluating over 36 metamodels: 72%[==================> ] ETA: 0:00:14[K
Evaluating over 36 metamodels: 75%[==================> ] ETA: 0:00:13[K
Evaluating over 36 metamodels: 78%[===================> ] ETA: 0:00:12[K
Evaluating over 36 metamodels: 81%[====================> ] ETA: 0:00:10[K
Evaluating over 36 metamodels: 83%[====================> ] ETA: 0:00:09[K
Evaluating over 36 metamodels: 86%[=====================> ] ETA: 0:00:07[K
Evaluating over 36 metamodels: 89%[======================> ] ETA: 0:00:06[K
Evaluating over 36 metamodels: 92%[======================> ] ETA: 0:00:04[K
Evaluating over 36 metamodels: 94%[=======================> ] ETA: 0:00:03[K
Evaluating over 36 metamodels: 97%[========================>] ETA: 0:00:01[K
Evaluating over 36 metamodels: 100%[=========================] Time: 0:00:52[K
+
Evaluating over 36 metamodels: 6%[=> ] ETA: 0:00:33[K
Evaluating over 36 metamodels: 8%[==> ] ETA: 0:00:45[K
Evaluating over 36 metamodels: 11%[==> ] ETA: 0:00:42[K
Evaluating over 36 metamodels: 14%[===> ] ETA: 0:00:37[K
Evaluating over 36 metamodels: 17%[====> ] ETA: 0:00:42[K
Evaluating over 36 metamodels: 19%[====> ] ETA: 0:00:39[K
Evaluating over 36 metamodels: 22%[=====> ] ETA: 0:00:36[K
Evaluating over 36 metamodels: 25%[======> ] ETA: 0:00:36[K
Evaluating over 36 metamodels: 28%[======> ] ETA: 0:00:34[K
Evaluating over 36 metamodels: 31%[=======> ] ETA: 0:00:33[K
Evaluating over 36 metamodels: 33%[========> ] ETA: 0:00:30[K
Evaluating over 36 metamodels: 36%[=========> ] ETA: 0:00:29[K
Evaluating over 36 metamodels: 39%[=========> ] ETA: 0:00:28[K
Evaluating over 36 metamodels: 42%[==========> ] ETA: 0:00:28[K
Evaluating over 36 metamodels: 44%[===========> ] ETA: 0:00:28[K
Evaluating over 36 metamodels: 47%[===========> ] ETA: 0:00:27[K
Evaluating over 36 metamodels: 50%[============> ] ETA: 0:00:26[K
Evaluating over 36 metamodels: 53%[=============> ] ETA: 0:00:25[K
Evaluating over 36 metamodels: 56%[=============> ] ETA: 0:00:24[K
Evaluating over 36 metamodels: 58%[==============> ] ETA: 0:00:22[K
Evaluating over 36 metamodels: 61%[===============> ] ETA: 0:00:21[K
Evaluating over 36 metamodels: 64%[===============> ] ETA: 0:00:19[K
Evaluating over 36 metamodels: 67%[================> ] ETA: 0:00:18[K
Evaluating over 36 metamodels: 69%[=================> ] ETA: 0:00:16[K
Evaluating over 36 metamodels: 72%[==================> ] ETA: 0:00:15[K
Evaluating over 36 metamodels: 75%[==================> ] ETA: 0:00:13[K
Evaluating over 36 metamodels: 78%[===================> ] ETA: 0:00:12[K
Evaluating over 36 metamodels: 81%[====================> ] ETA: 0:00:10[K
Evaluating over 36 metamodels: 83%[====================> ] ETA: 0:00:09[K
Evaluating over 36 metamodels: 86%[=====================> ] ETA: 0:00:08[K
Evaluating over 36 metamodels: 89%[======================> ] ETA: 0:00:06[K
Evaluating over 36 metamodels: 92%[======================> ] ETA: 0:00:04[K
Evaluating over 36 metamodels: 94%[=======================> ] ETA: 0:00:03[K
Evaluating over 36 metamodels: 97%[========================>] ETA: 0:00:01[K
Evaluating over 36 metamodels: 100%[=========================] Time: 0:00:53[K
````
@@ -306,7 +306,7 @@ savefig("tuned_model_random.svg");
````
[ Info: Training machine(DeterministicTunedModel(model = DeterministicPipeline(continuous_encoder = ContinuousEncoder(drop_last = false, …), …), …), …).
[ Info: Attempting to evaluate 40 models.
-
Evaluating over 40 metamodels: 0%[> ] ETA: N/A[K
Evaluating over 40 metamodels: 2%[> ] ETA: 0:00:34[K
Evaluating over 40 metamodels: 5%[=> ] ETA: 0:00:48[K
Evaluating over 40 metamodels: 8%[=> ] ETA: 0:00:52[K
Evaluating over 40 metamodels: 10%[==> ] ETA: 0:00:53[K
Evaluating over 40 metamodels: 12%[===> ] ETA: 0:00:52[K
Evaluating over 40 metamodels: 15%[===> ] ETA: 0:00:49[K
Evaluating over 40 metamodels: 18%[====> ] ETA: 0:00:50[K
Evaluating over 40 metamodels: 20%[=====> ] ETA: 0:00:49[K
Evaluating over 40 metamodels: 22%[=====> ] ETA: 0:00:46[K
Evaluating over 40 metamodels: 25%[======> ] ETA: 0:00:45[K
Evaluating over 40 metamodels: 28%[======> ] ETA: 0:00:42[K
Evaluating over 40 metamodels: 30%[=======> ] ETA: 0:00:43[K
Evaluating over 40 metamodels: 32%[========> ] ETA: 0:00:41[K
Evaluating over 40 metamodels: 35%[========> ] ETA: 0:00:40[K
Evaluating over 40 metamodels: 38%[=========> ] ETA: 0:00:38[K
Evaluating over 40 metamodels: 40%[==========> ] ETA: 0:00:36[K
Evaluating over 40 metamodels: 42%[==========> ] ETA: 0:00:37[K
Evaluating over 40 metamodels: 45%[===========> ] ETA: 0:00:34[K
Evaluating over 40 metamodels: 48%[===========> ] ETA: 0:00:33[K
Evaluating over 40 metamodels: 50%[============> ] ETA: 0:00:31[K
Evaluating over 40 metamodels: 52%[=============> ] ETA: 0:00:30[K
Evaluating over 40 metamodels: 55%[=============> ] ETA: 0:00:28[K
Evaluating over 40 metamodels: 58%[==============> ] ETA: 0:00:27[K
Evaluating over 40 metamodels: 60%[===============> ] ETA: 0:00:25[K
Evaluating over 40 metamodels: 62%[===============> ] ETA: 0:00:24[K
Evaluating over 40 metamodels: 65%[================> ] ETA: 0:00:22[K
Evaluating over 40 metamodels: 68%[================> ] ETA: 0:00:20[K
Evaluating over 40 metamodels: 70%[=================> ] ETA: 0:00:19[K
Evaluating over 40 metamodels: 72%[==================> ] ETA: 0:00:17[K
Evaluating over 40 metamodels: 75%[==================> ] ETA: 0:00:15[K
Evaluating over 40 metamodels: 78%[===================> ] ETA: 0:00:14[K
Evaluating over 40 metamodels: 80%[====================> ] ETA: 0:00:12[K
Evaluating over 40 metamodels: 82%[====================> ] ETA: 0:00:11[K
Evaluating over 40 metamodels: 85%[=====================> ] ETA: 0:00:09[K
Evaluating over 40 metamodels: 88%[=====================> ] ETA: 0:00:08[K
Evaluating over 40 metamodels: 90%[======================> ] ETA: 0:00:06[K
Evaluating over 40 metamodels: 92%[=======================> ] ETA: 0:00:05[K
Evaluating over 40 metamodels: 95%[=======================> ] ETA: 0:00:03[K
Evaluating over 40 metamodels: 98%[========================>] ETA: 0:00:02[K
Evaluating over 40 metamodels: 100%[=========================] Time: 0:01:01[K
+
Evaluating over 40 metamodels: 0%[> ] ETA: N/A[K
Evaluating over 40 metamodels: 2%[> ] ETA: 0:00:32[K
Evaluating over 40 metamodels: 5%[=> ] ETA: 0:00:47[K
Evaluating over 40 metamodels: 8%[=> ] ETA: 0:00:44[K
Evaluating over 40 metamodels: 10%[==> ] ETA: 0:00:46[K
Evaluating over 40 metamodels: 12%[===> ] ETA: 0:00:53[K
Evaluating over 40 metamodels: 15%[===> ] ETA: 0:00:49[K
Evaluating over 40 metamodels: 18%[====> ] ETA: 0:00:47[K
Evaluating over 40 metamodels: 20%[=====> ] ETA: 0:00:46[K
Evaluating over 40 metamodels: 22%[=====> ] ETA: 0:00:47[K
Evaluating over 40 metamodels: 25%[======> ] ETA: 0:00:46[K
Evaluating over 40 metamodels: 28%[======> ] ETA: 0:00:43[K
Evaluating over 40 metamodels: 30%[=======> ] ETA: 0:00:42[K
Evaluating over 40 metamodels: 32%[========> ] ETA: 0:00:40[K
Evaluating over 40 metamodels: 35%[========> ] ETA: 0:00:40[K
Evaluating over 40 metamodels: 38%[=========> ] ETA: 0:00:39[K
Evaluating over 40 metamodels: 40%[==========> ] ETA: 0:00:37[K
Evaluating over 40 metamodels: 42%[==========> ] ETA: 0:00:36[K
Evaluating over 40 metamodels: 45%[===========> ] ETA: 0:00:34[K
Evaluating over 40 metamodels: 48%[===========> ] ETA: 0:00:33[K
Evaluating over 40 metamodels: 50%[============> ] ETA: 0:00:32[K
Evaluating over 40 metamodels: 52%[=============> ] ETA: 0:00:30[K
Evaluating over 40 metamodels: 55%[=============> ] ETA: 0:00:28[K
Evaluating over 40 metamodels: 58%[==============> ] ETA: 0:00:27[K
Evaluating over 40 metamodels: 60%[===============> ] ETA: 0:00:25[K
Evaluating over 40 metamodels: 62%[===============> ] ETA: 0:00:24[K
Evaluating over 40 metamodels: 65%[================> ] ETA: 0:00:22[K
Evaluating over 40 metamodels: 68%[================> ] ETA: 0:00:21[K
Evaluating over 40 metamodels: 70%[=================> ] ETA: 0:00:19[K
Evaluating over 40 metamodels: 72%[==================> ] ETA: 0:00:17[K
Evaluating over 40 metamodels: 75%[==================> ] ETA: 0:00:15[K
Evaluating over 40 metamodels: 78%[===================> ] ETA: 0:00:14[K
Evaluating over 40 metamodels: 80%[====================> ] ETA: 0:00:12[K
Evaluating over 40 metamodels: 82%[====================> ] ETA: 0:00:11[K
Evaluating over 40 metamodels: 85%[=====================> ] ETA: 0:00:09[K
Evaluating over 40 metamodels: 88%[=====================> ] ETA: 0:00:08[K
Evaluating over 40 metamodels: 90%[======================> ] ETA: 0:00:06[K
Evaluating over 40 metamodels: 92%[=======================> ] ETA: 0:00:05[K
Evaluating over 40 metamodels: 95%[=======================> ] ETA: 0:00:03[K
Evaluating over 40 metamodels: 98%[========================>] ETA: 0:00:02[K
Evaluating over 40 metamodels: 100%[=========================] Time: 0:01:01[K
````
@@ -339,7 +339,7 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: DeterministicTunedModel-359
+Tag: DeterministicTunedModel-250
Extract:
┌──────────┬───────────┬─────────────┐
│ measure │ operation │ measurement │
@@ -362,9 +362,9 @@ Comparing with the baseline computed earlier:
````
````
-ebase = PerformanceEvaluation("ProbabilisticPipeline-707", 0.568 ± 0.0332)
-e0 = PerformanceEvaluation("DeterministicPipeline-582", 0.184 ± 0.0281)
-e1 = PerformanceEvaluation("DeterministicTunedModel-359", 0.175 ± 0.021)
+ebase = PerformanceEvaluation("ProbabilisticPipeline-112", 0.568 ± 0.0332)
+e0 = PerformanceEvaluation("DeterministicPipeline-658", 0.184 ± 0.0281)
+e1 = PerformanceEvaluation("DeterministicTunedModel-250", 0.175 ± 0.021)
````
@@ -380,8 +380,8 @@ describe.([e0, e1]) |> pretty
│ String │ Measurement{Float64} │
│ Textual │ Continuous │
├─────────────────────────────┼──────────────────────┤
-│ DeterministicPipeline-582 │ 0.184±0.028 │
-│ DeterministicTunedModel-359 │ 0.175±0.021 │
+│ DeterministicPipeline-658 │ 0.184±0.028 │
+│ DeterministicTunedModel-250 │ 0.175±0.021 │
└─────────────────────────────┴──────────────────────┘
````
diff --git a/docs/src/notebooks/UsingMLJ/03_model_tuning/tuned_model_grid.svg b/docs/src/notebooks/UsingMLJ/03_model_tuning/tuned_model_grid.svg
index a712add..c80b3f8 100644
--- a/docs/src/notebooks/UsingMLJ/03_model_tuning/tuned_model_grid.svg
+++ b/docs/src/notebooks/UsingMLJ/03_model_tuning/tuned_model_grid.svg
@@ -1,294 +1,294 @@
diff --git a/docs/src/notebooks/UsingMLJ/03_model_tuning/tuned_model_random.svg b/docs/src/notebooks/UsingMLJ/03_model_tuning/tuned_model_random.svg
index 014ae4e..9911fd3 100644
--- a/docs/src/notebooks/UsingMLJ/03_model_tuning/tuned_model_random.svg
+++ b/docs/src/notebooks/UsingMLJ/03_model_tuning/tuned_model_random.svg
@@ -1,269 +1,269 @@
diff --git a/docs/src/notebooks/lightning_tour/notebook.md b/docs/src/notebooks/lightning_tour/notebook.md
index 8a20dfa..ba6449b 100644
--- a/docs/src/notebooks/lightning_tour/notebook.md
+++ b/docs/src/notebooks/lightning_tour/notebook.md
@@ -246,8 +246,8 @@ mach = machine(self_tuning_pipe, X, y)
untrained Machine; does not cache data
model: DeterministicTunedModel(model = DeterministicPipeline(continuous_encoder = ContinuousEncoder(drop_last = false, …), …), …)
args:
- 1: Source @763 ⏎ ScientificTypesBase.Table{AbstractVector{ScientificTypesBase.Continuous}}
- 2: Source @207 ⏎ AbstractVector{ScientificTypesBase.Continuous}
+ 1: Source @477 ⏎ ScientificTypesBase.Table{AbstractVector{ScientificTypesBase.Continuous}}
+ 2: Source @252 ⏎ AbstractVector{ScientificTypesBase.Continuous}
````
@@ -261,9 +261,9 @@ first(yhat, 3)
````
3-element Vector{Float32}:
- -2.2105958
- 0.38274634
- -1.1552228
+ -0.42176783
+ 0.82785225
+ 0.09056717
````
Evaluating the "self-tuning" pipeline model's performance using all data and 5-fold
@@ -284,20 +284,20 @@ PerformanceEvaluation object with these fields:
measurement, uncertainty_radius_95, per_fold, per_observation,
fitted_params_per_fold, report_per_fold,
train_test_rows, resampling, repeats
-Tag: DeterministicTunedModel-807
+Tag: DeterministicTunedModel-354
Extract:
┌───┬────────────┬───────────┬─────────────┐
│ │ measure │ operation │ measurement │
├───┼────────────┼───────────┼─────────────┤
-│ A │ LPLoss( │ predict │ 0.23 │
+│ A │ LPLoss( │ predict │ 0.309 │
│ │ p = 1) │ │ │
-│ B │ RSquared() │ predict │ 0.957 │
+│ B │ RSquared() │ predict │ 0.946 │
└───┴────────────┴───────────┴─────────────┘
┌───┬─────────────────────────────────────┬─────────┐
│ │ per_fold │ 1.96*SE │
├───┼─────────────────────────────────────┼─────────┤
-│ A │ [0.224, 0.198, 0.295, 0.189, 0.247] │ 0.0417 │
-│ B │ [0.974, 0.967, 0.929, 0.963, 0.953] │ 0.0172 │
+│ A │ [0.211, 0.279, 0.414, 0.334, 0.305] │ 0.0729 │
+│ B │ [0.967, 0.957, 0.902, 0.944, 0.962] │ 0.0258 │
└───┴─────────────────────────────────────┴─────────┘
````
@@ -319,7 +319,7 @@ describe.(evaluations) |> pretty
````
[ Info: Performing evaluations using 1 thread.
-
Evaluating over 5 folds: 40%[==========> ] ETA: 0:00:12[K
Evaluating over 5 folds: 60%[===============> ] ETA: 0:00:09[K
Evaluating over 5 folds: 80%[====================> ] ETA: 0:00:04[K
Evaluating over 5 folds: 100%[=========================] Time: 0:00:21[K
+
Evaluating over 5 folds: 40%[==========> ] ETA: 0:00:27[K
Evaluating over 5 folds: 60%[===============> ] ETA: 0:00:15[K
Evaluating over 5 folds: 80%[====================> ] ETA: 0:00:07[K
Evaluating over 5 folds: 100%[=========================] Time: 0:00:33[K
[ Info: Performing evaluations using 1 thread.
Evaluating over 5 folds: 40%[==========> ] ETA: 0:00:01[K
Evaluating over 5 folds: 100%[=========================] Time: 0:00:00[K
┌─────────┬──────────────────────┬──────────────────────┐
@@ -327,8 +327,8 @@ describe.(evaluations) |> pretty
│ String │ Measurement{Float64} │ Measurement{Float64} │
│ Textual │ Continuous │ Continuous │
├─────────┼──────────────────────┼──────────────────────┤
-│ booster │ 0.23±0.042 │ 0.957±0.017 │
-│ dummy │ 1.29±0.2 │ -0.13±0.17 │
+│ booster │ 0.309±0.073 │ 0.946±0.026 │
+│ dummy │ 1.48±0.15 │ -0.014±0.021 │
└─────────┴──────────────────────┴──────────────────────┘
````
diff --git a/learning_curve.svg b/learning_curve.svg
new file mode 100644
index 0000000..dd9bd14
--- /dev/null
+++ b/learning_curve.svg
@@ -0,0 +1,46 @@
+
+
diff --git a/tuned_model_grid.svg b/tuned_model_grid.svg
new file mode 100644
index 0000000..358a08e
--- /dev/null
+++ b/tuned_model_grid.svg
@@ -0,0 +1,294 @@
+
+
diff --git a/tuned_model_random.svg b/tuned_model_random.svg
new file mode 100644
index 0000000..f06d6fe
--- /dev/null
+++ b/tuned_model_random.svg
@@ -0,0 +1,269 @@
+
+