From b82d73b41740955c7e06610d97fd2f44edb3bb00 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Aug 2025 14:50:47 +0000 Subject: [PATCH 1/5] Bump actions/checkout from 4 to 5 Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5ea2e42c1..b79bff22b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: echo "head_ref is: ${{ github.head_ref }}" echo "target repository is: ${{ github.repository }}" echo "head repository is: ${{ github.event.pull_request.head.repo.full_name }}" - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: julia-actions/setup-julia@v2 with: version: ${{ matrix.version }} @@ -61,7 +61,7 @@ jobs: os: - 'ubuntu-latest' steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: persist-credentials: false - uses: julia-actions/setup-julia@v2 @@ -80,7 +80,7 @@ jobs: env: JULIA_PKG_SERVER: "" steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: persist-credentials: false - uses: julia-actions/setup-julia@v2 From d60df51e2ee0523c3d581cd42557e30fbfe71403 Mon Sep 17 00:00:00 2001 From: "Anthony D. Blaom" Date: Mon, 10 Nov 2025 09:02:33 +1300 Subject: [PATCH 2/5] bump CategoricalArrays = "1", StatisticalMeasures = "0.3", v=0.22.0 --- Project.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Project.toml b/Project.toml index 230689a3b..5d818b986 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.21.0" +version = "0.22.0" [deps] CategoricalArrays = "324d7699-5711-5eae-9e2f-1d82baa6b597" @@ -30,7 +30,7 @@ StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" [compat] -CategoricalArrays = "0.8,0.9, 0.10" +CategoricalArrays = "1" ComputationalResources = "0.3" Distributions = "0.21,0.22,0.23, 0.24, 0.25" FeatureSelection = "0.2" @@ -49,7 +49,7 @@ ProgressMeter = "1.1" Random = "<0.0.1, 1" Reexport = "1.2" ScientificTypes = "3" -StatisticalMeasures = "0.2" +StatisticalMeasures = "0.3" Statistics = "<0.0.1, 1" StatsBase = "0.32,0.33, 0.34" Tables = "0.2,1.0" From 29d7fabe64e81f4086b6e083946b099cb51cb145 Mon Sep 17 00:00:00 2001 From: "Anthony D. Blaom" Date: Thu, 20 Nov 2025 19:33:06 +1300 Subject: [PATCH 3/5] pare down integration tests to a core set of well-maintained packages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Packages that are to be permanently removed from integration tests: | BetaML │ CatBoost │ MLJXGBoostInterface │ MLJScikitLearnInterface │ OutlierDetectionNeighbors │ SIRUS │ MLJTSVDInterface │ PartitionedLS │ Maxnet │ ParallelKMeans │ MLJNaiveBayesInterface │ Imbalance │ EvoLinear │ LightGBM │ LaplaceRedux │ MLJText --- Project.toml | 22 +------------------ test/integration.jl | 51 +++++++-------------------------------------- 2 files changed, 8 insertions(+), 65 deletions(-) diff --git a/Project.toml b/Project.toml index 5d818b986..d3804f0e6 100644 --- a/Project.toml +++ b/Project.toml @@ -56,41 +56,21 @@ Tables = "0.2,1.0" julia = "1.6" [extras] -BetaML = "024491cd-cc6b-443e-8034-08ea7eb7db2b" -CatBoost = "e2e10f9a-a85d-4fa9-b6b2-639a32100a12" -EvoLinear = "ab853011-1780-437f-b4b5-5de6f4777246" EvoTrees = "f6006082-12f8-11e9-0c9c-0d5d367ab1e5" -Imbalance = "c709b415-507b-45b7-9a3d-1767c89fde68" InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240" -LaplaceRedux = "c52c1a26-f7c5-402b-80be-ba1e638ad478" -LightGBM = "7acf609c-83a4-11e9-1ffb-b912bcd3b04a" MLJClusteringInterface = "d354fa79-ed1c-40d4-88ef-b8c7bd1568af" MLJDecisionTreeInterface = "c6f25543-311c-4c74-83dc-3ea6d1015661" MLJFlux = "094fc8d1-fd35-5302-93ea-dabda2abf845" MLJGLMInterface = "caf8df21-4939-456d-ac9c-5fefbfb04c0c" -MLJLIBSVMInterface = "61c7150f-6c77-4bb1-949c-13197eac2a52" MLJLinearModels = "6ee0df7b-362f-4a72-a706-9e79364fb692" MLJMultivariateStatsInterface = "1b6a4a23-ba22-4f51-9698-8599985d3728" -MLJNaiveBayesInterface = "33e4bacb-b9e2-458e-9a13-5d9a90b235fa" -MLJScikitLearnInterface = "5ae90465-5518-4432-b9d2-8a1def2f0cab" -MLJTSVDInterface = "7fa162e1-0e29-41ca-a6fa-c000ca4e7e7e" MLJTestIntegration = "697918b4-fdc1-4f9e-8ff9-929724cee270" MLJTestInterface = "72560011-54dd-4dc2-94f3-c5de45b75ecd" -MLJText = "5e27fcf9-6bac-46ba-8580-b5712f3d6387" -MLJXGBoostInterface = "54119dfa-1dab-4055-a167-80440f4f7a91" Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" -Maxnet = "81f79f80-22f2-4e41-ab86-00c11cf0f26f" NearestNeighborModels = "636a865e-7cf4-491e-846c-de09b730eb36" -OneRule = "90484964-6d6a-4979-af09-8657dbed84ff" -OutlierDetectionNeighbors = "51249a0a-cb36-4849-8e04-30c7f8d311bb" -OutlierDetectionPython = "2449c660-d36c-460e-a68b-92ab3c865b3e" -ParallelKMeans = "42b8e9d4-006b-409a-8472-7f34b3fb58af" -PartitionedLS = "19f41c5e-8610-11e9-2f2a-0d67e7c5027f" -SIRUS = "cdeec39e-fb35-4959-aadb-a1dd5dede958" -SelfOrganizingMaps = "ba4b7379-301a-4be0-bee6-171e4e152787" StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3" Suppressor = "fd094767-a336-5f1f-9728-57cf17d0bbfb" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [targets] -test = ["BetaML", "CatBoost", "EvoLinear", "EvoTrees", "Imbalance", "InteractiveUtils", "LightGBM", "LaplaceRedux", "Maxnet", "MLJClusteringInterface", "MLJDecisionTreeInterface", "MLJFlux", "MLJGLMInterface", "MLJLIBSVMInterface", "MLJLinearModels", "MLJMultivariateStatsInterface", "MLJNaiveBayesInterface", "MLJScikitLearnInterface", "MLJTSVDInterface", "MLJTestInterface", "MLJTestIntegration", "MLJText", "MLJXGBoostInterface", "Markdown", "NearestNeighborModels", "OneRule", "OutlierDetectionNeighbors", "OutlierDetectionPython", "ParallelKMeans", "PartitionedLS", "SelfOrganizingMaps", "SIRUS", "StableRNGs", "Suppressor", "Test"] +test = ["EvoTrees", "InteractiveUtils", "MLJClusteringInterface", "MLJDecisionTreeInterface", "MLJFlux", "MLJGLMInterface", "MLJLinearModels", "MLJMultivariateStatsInterface", "MLJTestInterface", "MLJTestIntegration", "Markdown", "NearestNeighborModels", "StableRNGs", "Suppressor", "Test"] diff --git a/test/integration.jl b/test/integration.jl index 85cec9f7e..afbee90d3 100644 --- a/test/integration.jl +++ b/test/integration.jl @@ -1,4 +1,4 @@ -using MLJTestIntegration, MLJModels, MLJ, Test, Markdown +using MLJTestIntegration, MLJModels, MLJ, Test, Markdown import MLJTestIntegration as MTI import Pkg.TOML as TOML using Suppressor @@ -29,46 +29,7 @@ FILTER_GIVEN_ISSUE = Dict( "https://github.com/JuliaAI/MLJ.jl/issues/1085" => model -> (model.name == "AdaBoostStumpClassifier" && - model.package_name == "DecisionTree") || - (model.name == "COFDetector" && - model.package_name == "OutlierDetectionNeighbors") || - (model.name == "TSVDTransformer" && - model.package_name == "TSVD"), - "https://github.com/sylvaticus/BetaML.jl/issues/65" => - model -> model.name in ["KMeans", "KMedoids"] && - model.package_name == "BetaML", - "https://github.com/JuliaAI/MLJ.jl/issues/1074" => - model -> model.name == "AutoEncoderMLJ", - "https://github.com/rikhuijzer/SIRUS.jl/issues/78" => - model -> model.package_name == "SIRUS", - "MLJScikitLearnInterface - multiple issues, WIP" => - model -> model.package_name == "MLJScikitLearnInterface" && - model.name in [ - "MultiTaskElasticNetCVRegressor", - "MultiTaskElasticNetRegressor", - "MultiTaskLassoCVRegressor", - "MultiTaskLassoRegressor", - ], - "https://github.com/sylvaticus/BetaML.jl/issues/75" => - model -> model.package_name == "BetaML" && - model.name == "NeuralNetworkClassifier", - "https://github.com/sylvaticus/BetaML.jl/issues/80" => - model -> model.package_name == "BetaML" && - model.name in ["PegasosClassifier", "PerceptronClassifier"], - "https://github.com/sylvaticus/BetaML.jl/issues/81" => - model -> model.package_name == "BetaML" && - model.name in ["RandomForestClassifier", "RandomForestRegressor"], - "https://github.com/JuliaAI/MLJTransforms.jl/issues/42" => - model -> model.package_name == "MLJTransforms" && - model.name in [ - "CardinalityReducer", - "ContrastEncoder", - "FrequencyEncoder", - "MissingnessEncoder", - "OrdinalEncoder", - ], - # "https://github.com/JuliaAI/Imbalance.jl/issues/103" => - # model -> model.package_name == "Imbalance", + model.package_name == "DecisionTree") ) @@ -262,9 +223,11 @@ for (model_set, level) in [ end end -isempty(missing_pkgs) || @warn "Integration tests for the following packages in the "* - "model registry were omitted, as they do not have an entry in the [extras] "* - "section of the MLJ Project.toml file: "*join(missing_pkgs, ", ") +isempty(missing_pkgs) || @info "\nIntegration tests are only carried out for some core "* + "packages. To be included in tests, a package must have an entry in the "* + "[extras] "* + "section of the MLJ Project.toml file. The following packages with MLJ-registered "* + "model are not in that list:\n"*join(missing_pkgs, "\n") okay = isempty(problems) okay || @error "Integration tests failed for these models: \n $problems" From 290319fe76d03e876fa74902b008639bd567292d Mon Sep 17 00:00:00 2001 From: "Anthony D. Blaom" Date: Fri, 21 Nov 2025 07:57:55 +1300 Subject: [PATCH 4/5] remove redundant exports (these now reexported from MLJTransforms) --- src/MLJ.jl | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/MLJ.jl b/src/MLJ.jl index 6a74dbca2..6d5183260 100644 --- a/src/MLJ.jl +++ b/src/MLJ.jl @@ -174,11 +174,7 @@ export Grid, RandomSearch, Explicit, TunedModel, LatinHypercube, # re-export from MLJModels: export models, localmodels, @load, @iload, load, info, doc, ConstantRegressor, ConstantClassifier, # builtins/Constant.jl - UnivariateStandardizer, - Standardizer, UnivariateBoxCoxTransformer, - OneHotEncoder, ContinuousEncoder, UnivariateDiscretizer, - FillImputer, matching, BinaryThresholdPredictor, - UnivariateTimeTypeToContinuous, InteractionTransformer # builtins/Transformers.jl + matching, BinaryThresholdPredictor, # re-export from MLJIteration: export MLJIteration From cc61b31ee296f3fffab2f3b0fa0f5ca5a2c2679a Mon Sep 17 00:00:00 2001 From: "Anthony D. Blaom" Date: Fri, 21 Nov 2025 08:08:09 +1300 Subject: [PATCH 5/5] re-export DeterministicConstantRegressor/Classifier --- src/MLJ.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/MLJ.jl b/src/MLJ.jl index 6d5183260..e5622b320 100644 --- a/src/MLJ.jl +++ b/src/MLJ.jl @@ -174,7 +174,8 @@ export Grid, RandomSearch, Explicit, TunedModel, LatinHypercube, # re-export from MLJModels: export models, localmodels, @load, @iload, load, info, doc, ConstantRegressor, ConstantClassifier, # builtins/Constant.jl - matching, BinaryThresholdPredictor, + DeterministicConstantClassifier, DeterministicConstantRegressor, + matching, BinaryThresholdPredictor # re-export from MLJIteration: export MLJIteration