From 67dab8580deec31192e03570d0ea7172508a768e Mon Sep 17 00:00:00 2001 From: "Anthony D. Blaom" Date: Tue, 25 Jun 2024 12:25:13 +1200 Subject: [PATCH 01/10] in sidebar: "Model Basics" -> "Models" --- docs/make.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/make.jl b/docs/make.jl index bd93dca68..6dea1a81c 100755 --- a/docs/make.jl +++ b/docs/make.jl @@ -67,7 +67,7 @@ pages = [ "Generating Synthetic Data" => "generating_synthetic_data.md", "OpenML Integration" => "openml_integration.md", ], - "Model Basics" => [ + "Models" => [ "Model Search" => "model_search.md", "Loading Model Code" => "loading_model_code.md", "Transformers and Other Unsupervised models" => "transformers.md", From 662f912764ed172b4eb2cd9c9fd015c9773eb98d Mon Sep 17 00:00:00 2001 From: "Anthony D. Blaom" Date: Wed, 10 Jul 2024 15:32:55 +1200 Subject: [PATCH 02/10] bump compat FeatureSelection = "0.2" --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 8dac6decf..158fb38b4 100644 --- a/Project.toml +++ b/Project.toml @@ -32,7 +32,7 @@ Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" CategoricalArrays = "0.8,0.9, 0.10" ComputationalResources = "0.3" Distributions = "0.21,0.22,0.23, 0.24, 0.25" -FeatureSelection = "0.1.1" +FeatureSelection = "0.2" MLJBalancing = "0.1" MLJBase = "1" MLJEnsembles = "0.4" From 49f2ea081a41d7993a806b6cd251a962cbe8bb96 Mon Sep 17 00:00:00 2001 From: "Anthony D. Blaom" Date: Wed, 10 Jul 2024 15:33:59 +1200 Subject: [PATCH 03/10] add interaction transformer to docs to close #1135 --- docs/src/transformers.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/src/transformers.md b/docs/src/transformers.md index 8428db1df..0e6da8d34 100644 --- a/docs/src/transformers.md +++ b/docs/src/transformers.md @@ -32,6 +32,7 @@ MLJModels.FillImputer MLJModels.UnivariateFillImputer FeatureSelection.FeatureSelector MLJModels.UnivariateBoxCoxTransformer +MLJModels.InteractionTransformer MLJModels.UnivariateDiscretizer MLJModels.UnivariateTimeTypeToContinuous ``` From a53389c16c3fac9d16bd6c31e6821c551e643937 Mon Sep 17 00:00:00 2001 From: "Anthony D. Blaom" Date: Wed, 10 Jul 2024 16:33:31 +1200 Subject: [PATCH 04/10] fix a link to close #1130 --- docs/src/working_with_categorical_data.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/src/working_with_categorical_data.md b/docs/src/working_with_categorical_data.md index f1506f2f5..c6997252d 100644 --- a/docs/src/working_with_categorical_data.md +++ b/docs/src/working_with_categorical_data.md @@ -345,3 +345,9 @@ d_vec = UnivariateFinite(["no", "yes"], yes_probs, augment=true, pool=v) ``` For more options, see [`UnivariateFinite`](@ref). + +## Reference + +```@docs +UnivariateFinite +``` From e7e1c2a399902df84306b48ee6b06713b9a89fee Mon Sep 17 00:00:00 2001 From: "Anthony D. Blaom" Date: Wed, 10 Jul 2024 21:06:56 +1200 Subject: [PATCH 05/10] add page for feature selection to close #1129 --- docs/make.jl | 1 + docs/src/feature_selection.md | 13 ++++++++++++ docs/src/model_search.md | 11 +++++------ docs/src/transformers.md | 37 +++++++++++++++++++++++------------ 4 files changed, 43 insertions(+), 19 deletions(-) create mode 100644 docs/src/feature_selection.md diff --git a/docs/make.jl b/docs/make.jl index 6dea1a81c..d9bf0c738 100755 --- a/docs/make.jl +++ b/docs/make.jl @@ -71,6 +71,7 @@ pages = [ "Model Search" => "model_search.md", "Loading Model Code" => "loading_model_code.md", "Transformers and Other Unsupervised models" => "transformers.md", + "Feature Selection" => "feature_selection.md", "List of Supported Models" => "list_of_supported_models.md", ], "Meta-algorithms" => [ diff --git a/docs/src/feature_selection.md b/docs/src/feature_selection.md new file mode 100644 index 000000000..dcb86eb8d --- /dev/null +++ b/docs/src/feature_selection.md @@ -0,0 +1,13 @@ +# Feature Selection + +For more on feature selection tools, refer to the [FeatureSelection.jl](https://juliaai.github.io/FeatureSelection.jl/dev/) documentation. + +- [`FeatureSelector`](@ref) +- [`RecursiveFeatureElimination`](@ref) + +## Reference + +```@docs +FeatureSelector +RecursiveFeatureElimination +``` diff --git a/docs/src/model_search.md b/docs/src/model_search.md index b6e344fa7..2f5becaaf 100644 --- a/docs/src/model_search.md +++ b/docs/src/model_search.md @@ -1,11 +1,10 @@ # [Model Search](@id model_search) -MLJ has a model registry, allowing the user to search models and their -properties, without loading all the packages containing model code. In -turn, this allows one to efficiently find all models solving a given -machine learning task. The task itself is specified with the help of -the `matching` method, and the search executed with the `models` -methods, as detailed below. +In addition to perusing the [Model Browser](@ref), one can programatically search MLJ's +Model Registry, without actually loading all the packages providing model code. This +allows you to efficiently find all models solving a given machine learning task. The task +itself is specified with the help of the `matching` method, and the search executed with +the `models` methods, as detailed below. For commonly encountered problems with model search, see also [Preparing Data](@ref). diff --git a/docs/src/transformers.md b/docs/src/transformers.md index 0e6da8d34..9703041f6 100644 --- a/docs/src/transformers.md +++ b/docs/src/transformers.md @@ -24,19 +24,16 @@ that learn a probability distribution](@ref) for an example. ## Built-in transformers -```@docs -MLJModels.Standardizer -MLJModels.OneHotEncoder -MLJModels.ContinuousEncoder -MLJModels.FillImputer -MLJModels.UnivariateFillImputer -FeatureSelection.FeatureSelector -MLJModels.UnivariateBoxCoxTransformer -MLJModels.InteractionTransformer -MLJModels.UnivariateDiscretizer -MLJModels.UnivariateTimeTypeToContinuous -``` - +- [`Standardizer`](@ref) +- [`OneHotEncoder`](@ref) +- [`ContinuousEncoder`](@ref) +- [`FillImputer`](@ref) +- [`UnivariateFillImputer`](@ref) +- [`UnivariateBoxCoxTransformer`](@ref) +- [`InteractionTransformer`](@ref) +- [`UnivariateDiscretizer`](@ref) +- [`UnivariateTimeTypeToContinuous`](@ref) +- [`FeatureSelector`](@ref). ## Static transformers @@ -232,3 +229,17 @@ compare[51:58] ```@example predtrans compare[101:108] ``` + +## Reference + +```@docs +MLJModels.Standardizer +MLJModels.OneHotEncoder +MLJModels.ContinuousEncoder +MLJModels.FillImputer +MLJModels.UnivariateFillImputer +MLJModels.UnivariateBoxCoxTransformer +MLJModels.InteractionTransformer +MLJModels.UnivariateDiscretizer +MLJModels.UnivariateTimeTypeToContinuous +``` From 80eb0b75ac08abd784afafd136f287799fabb054 Mon Sep 17 00:00:00 2001 From: "Anthony D. Blaom" Date: Thu, 11 Jul 2024 06:58:06 +1200 Subject: [PATCH 06/10] bump compat MLJBase ="1.5" --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 158fb38b4..a57ce9d0c 100644 --- a/Project.toml +++ b/Project.toml @@ -34,7 +34,7 @@ ComputationalResources = "0.3" Distributions = "0.21,0.22,0.23, 0.24, 0.25" FeatureSelection = "0.2" MLJBalancing = "0.1" -MLJBase = "1" +MLJBase = "1.5" MLJEnsembles = "0.4" MLJFlow = "0.5" MLJIteration = "0.6" From 74c7195afc4fdcfb69ef6e42b4b28a56231423c8 Mon Sep 17 00:00:00 2001 From: "Anthony D. Blaom" Date: Thu, 11 Jul 2024 06:59:01 +1200 Subject: [PATCH 07/10] export default_logger --- src/MLJ.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MLJ.jl b/src/MLJ.jl index ccdb4c7f9..85805f277 100644 --- a/src/MLJ.jl +++ b/src/MLJ.jl @@ -146,7 +146,7 @@ export nrows, color_off, color_on, @pipeline, Stack, Pipeline, TransformedTargetModel, ResamplingStrategy, Holdout, CV, TimeSeriesCV, StratifiedCV, evaluate!, Resampler, iterator, PerformanceEvaluation, - default_resource, pretty, + default_resource, default_logger, pretty, make_blobs, make_moons, make_circles, make_regression, fit_only!, return!, int, decoder, default_scitype_check_level, From 1ff67f1769e381a35d2fe1e6c68fdc3bdf640c58 Mon Sep 17 00:00:00 2001 From: "Anthony D. Blaom" Date: Thu, 11 Jul 2024 06:59:48 +1200 Subject: [PATCH 08/10] bump 0.20.7 --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index a57ce9d0c..198a31ab9 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "MLJ" uuid = "add582a8-e3ab-11e8-2d5e-e98b27df1bc7" authors = ["Anthony D. Blaom "] -version = "0.20.6" +version = "0.20.7" [deps] CategoricalArrays = "324d7699-5711-5eae-9e2f-1d82baa6b597" From 92dc16dbbd13ca90fedcf8076444e8812e1f7996 Mon Sep 17 00:00:00 2001 From: "Anthony D. Blaom" Date: Thu, 18 Jul 2024 21:01:18 +1200 Subject: [PATCH 09/10] update ModelDescriptors: NeuralNetworkBinaryClassifier --- docs/ModelDescriptors.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/ModelDescriptors.toml b/docs/ModelDescriptors.toml index 95caa68cc..4865da222 100644 --- a/docs/ModelDescriptors.toml +++ b/docs/ModelDescriptors.toml @@ -154,6 +154,7 @@ MultitargetNeuralNetworkRegressor_BetaML = ["regression", "neural_networks"] MultitargetNeuralNetworkRegressor_MLJFlux = ["regression", "iterative_models", "neural_networks"] MultitargetRidgeRegressor_MultivariateStats = ["regression"] MultitargetSRRegressor_SymbolicRegression = ["regression"] +NeuralNetworkBinaryClassifier_MLJFlux = ["classification", "neural_networks"] NeuralNetworkClassifier_BetaML = ["classification", "neural_networks"] NeuralNetworkClassifier_MLJFlux = ["classification", "iterative_models", "neural_networks"] NeuralNetworkRegressor_BetaML = ["regression", "neural_networks"] From 8026e8a8b2dfe87f5601b7d70f1d3d5a455a3f10 Mon Sep 17 00:00:00 2001 From: "Anthony D. Blaom" Date: Fri, 19 Jul 2024 07:49:33 +1200 Subject: [PATCH 10/10] force exlusion of RecursiveFeatureElimination from integration tests --- test/integration.jl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/integration.jl b/test/integration.jl index d1413ea77..06102a677 100644 --- a/test/integration.jl +++ b/test/integration.jl @@ -155,7 +155,11 @@ PATHOLOGIES = filter(MODELS) do model # too slow to train! (model.name == "LOCIDetector" && model.package_name == "OutlierDetectionPython") || # TO REDUCE TESTING TIME - model.package_name == "MLJScikitLearnInterface" + model.package_name == "MLJScikitLearnInterface" || + # can be removed after resolution of + # https://github.com/JuliaAI/FeatureSelection.jl/issues/15 + # and a Model Registry update + model.name == "RecursiveFeatureElimination" end WITHOUT_DATASETS = vcat(WITHOUT_DATASETS, PATHOLOGIES)