Recent Releases of MLJ

MLJ - v0.20.9

MLJ v0.20.9

Diff since v0.20.8

Merged pull requests: - Rm SymbolicRegression from Project.toml (#1168) (@ablaom) - For a 0.20.9 release (#1169) (@ablaom)

Closed issues: - Brainstorming: API for meta-data/side-information on the features (#480) - likely wrong link (#1170)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] 7 months ago

MLJ - v0.20.8

MLJ v0.20.8

Diff since v0.20.7

Merged pull requests: - Add a draft governance document (#1116) (@ablaom) - Update targettransformations.md (#1137) (@era127) - Update doc page for third party logging platforms (#1139) (@ablaom) - Update the manual (#1140) (@ablaom) - Links on organizations (#1142) (@pebeto) - Initial commit for adding affinity propagation (#1147) (@Yuan-Ru-Lin) - Update docs. No new release. (#1148) (@ablaom) - Remove "DRAFT" tag from GOVERNANCE.md document (#1149) (@ablaom) - Governance: add Advisory Committee members (#1150) (@ablaom) - Some minor fixes (#1151) (@ablaom) - Update mljcheatsheet.md (#1156) (@besp-kt) - Integration of new landing page into docs (#1159) (@ablaom) - Bump combat for StatisticalMeasures (#1160) (@ablaom) - Generate updated documentation. No new release. (#1161) (@ablaom) - Create dependabot.yml and update action versions (#1163) (@abhro) - Create docs site favicon (#1164) (@abhro) - Rm symbolic regression from integration tests (#1165) (@ablaom) - For a 0.20.8 release (#1167) (@ablaom)

Closed issues: - Reexport CompactPerformanceEvaluation and InSample (#1111) - [tracking] Add default logger to MLJ (#1124) - Add Missingness Encoder Transformer (#1133) - Failed to use TunedModel with precomputed-SVM (#1141) - Error with RecursiveFeatureElimination + EvoTreeClassifier (#1145) - Dump mention of version number in cheatsheet (#1154) - Remove PartialLeastSquaresRegressor from the docs (#1157) - Regarding issue in recognition of UUID 5ae90465-5518-4432-b9d2-8a1def2f0cab in a registry (#1158)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] 9 months ago

MLJ - v0.20.7

MLJ v0.20.7

Diff since v0.20.6

Merged pull requests: - Make subpages collapse in manual sidebar. No new release (docs only) (#1131) (@ablaom) - Regenerate documentation. (#1132) (@ablaom) - Update FeatureSelection compat (#1136) (@ablaom) - For a 0.20.7 release (#1138) (@ablaom)

Closed issues: - Recursive Feature Elimination RFE - Feature Request? (#426) - For 0.17 release (#864) - Transformers that need to see target (eg, recursive feature elimination) (#874) - MLJ API for Missing Imputation ? (#950) - [Tracking issue] Add raw_training_scoresaccessor function (#960) - Extract probability for a tresholded model (#981) - Load data that support the Tables.jl interface (#988) - Add new sk-learn models to the docs (#1066) - Improve documentation by additional hierarchy (#1094) - Link in examples on CV Recursive Feature Elimination into the manual or in the planned tutorial interface. (#1129) - broken link for UnivariateFinite doc string (#1130) - Add pipeline support for Unsupervised models that have a target in fit (#1134) - InteractionTransformer is missing from the "Transformers and Other..." manual page (#1135)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 1 year ago

MLJ - v0.20.6

MLJ v0.20.6

Diff since v0.20.5

  • (new functionality) Add RecursiveFeatureElimination model wrapper.

Merged pull requests: - CompatHelper: bump compat for MLJFlow to 0.5 (#1122) (@github-actions[bot]) - Add model wrappers to the Model Browser (#1127) (@ablaom) - For a 0.20.6 release (#1128) (@ablaom)

Closed issues: - Requesting better exposure to MLJFlux in the model browser (#1110) - Remove info(rms) from the cheatsheet (#1117) - Enable entry of model wrappers into the MLJ Model Registry (#1125)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 1 year ago

MLJ - v0.20.5

MLJ v0.20.5

Diff since v0.20.4

Merged pull requests: - Tweak the cheatsheet again (#1121) (@ablaom) - For a 0.20.5 release (#1123) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 2 years ago

MLJ - v0.20.4

MLJ v0.20.4

Diff since v0.20.3

  • Bump the requirement for MLFlow to 0.4.2. This is technically breaking (but not marked as such because MLJFlow integration is considered expermental). With latest version of MLFlowClient installed, where previously you would define logger=MLJFlow.Logger("http://127.0.0.1:5000/") you must now do logger=MLJFlow.Logger("http://127.0.0.1:5000/api") or similar; see also https://github.com/JuliaAI/MLFlowClient.jl/releases/tag/v0.5.1.

Merged pull requests: - Add PartionedLS.jl model to docs and browser (#1103) (@ablaom) - Update documentation. No new release. (#1104) (@ablaom) - Update ROADMAP.md (#1106) (@ablaom) - Use repl language tag for sample (#1107) (@abhro) - Update cheatsheet and workflow docs (#1109) (@ablaom) - Force documentation updates. No new release. (#1112) (@ablaom) - Updates now that MLJ.jl has been moved to the JuliaAI GitHub organization (#1113) (@DilumAluthge) - Remove Telco example (#1114) (@ablaom) - Suppress model-generated warnings in integration tests (#1115) (@ablaom) - Upgrading MLJFlow.jl to v0.4.2 (#1118) (@pebeto) - For a 0.20.4 release (#1120) (@ablaom)

Closed issues: - Curated list of models (#716) - Migrate MLJ from alan-turing-institute to JuliaAI? (#829) - Update the binder demo for MLJ (#851) - Add wrappers for clustering to get uniform interface (#982) - Confusing Julia code in addingmodelsforgeneraluse.md (#1061) - featureimportances for Pipeline including XGBoost don't work (#1100) - Current performance evaluation objects, recently added to TunedModel histories, are too big (#1105) - Update cheat sheet instance of depracated `@fromnetwork` code (#1108)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 2 years ago

MLJ - v0.20.3

MLJ v0.20.3

Diff since v0.20.2

  • Bump compat for MLJFlow to 0.4 to buy into MLJBase.save method ambiguity fix (in MLJFlow 0.4.1).

Merged pull requests: - Clarify input_scitype for Static models (#1076) (@ablaom) - Documentation updates (#1077) (@ablaom) - Add integration tests (#1079) (@ablaom) - Test new integration tests. No new release. (#1080) (@ablaom) - Fix the integration tests (#1081) (@DilumAluthge) - Move EvoLinear into [extras] where it belongs (#1083) (@ablaom) - CI: split the integration tests into a separate job (#1086) (@DilumAluthge) - CI tweaks (#1087) (@ablaom) - Update listofsupportedmodels for betaml (#1089) (@sylvaticus) - Update ModelDescriptors.toml for BetaML models (#1090) (@sylvaticus) - Update documentation to reflect recent BetaML reorganisation (#1091) (@ablaom) - Replace relevant sections of manual with links to the new MLJModelInterface docs. (#1095) (@ablaom) - Update docs. No new release (#1096) (@ablaom) - Update gettingstarted.md to avoid error from line 338 (#1098) (@caesquerre) - For a 0.20.3 release (#1102) (@ablaom)

Closed issues: - Meta issue: lssues for possible collaboration with UCL (#673) - Integration test failures: Classifiers (#939) - Oversample undersample (#983) - Add AutoEncoderMLJ model (part of BetaML) (#1074) - Add new model descriptors to fix doc-generation fail (#1084) - Update list of BetaML models (#1088) - Upate ROADMAP.md (#1093) - Deserialisation fails for wrappers like TunedModel when atomic model overloads save/restore (#1099)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 2 years ago

MLJ - v0.20.2

MLJ v0.20.2

Diff since v0.20.1

  • Replace MLFlowLogger with MLJFlow.Logger; see here. So a logger instance is now instantiated with using MLJFlow; logger = MLJFlow.Logger(baseuri). This is technically breaking but not tagged as such, because MLFlow integration is still experimental.

Merged pull requests: - Fix MLJTuning.jl links (#1068) (@jd-foster) - CompatHelper: add new compat entry for Statistics at version 1, (keep existing compat) (#1070) (@github-actions[bot]) - Bump compat: MLJFlow 0.3 (#1072) (@ablaom) - For a 0.20.2 release (#1073) (@ablaom)

Closed issues: - Export the name MLJFlow (#1067) - evaluate errors (#1069)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 2 years ago

MLJ - v0.20.1

MLJ v0.20.1

Diff since v0.20.0

  • (new feature) Add the BalancedModel wrapper from MLJBalancing.jl (#1064)
  • (docs) Add the over/undersampling models from Imbalance.jl to the Model Browser (#1064)

Merged pull requests: - Add MLJBalancing to MLJ and add class imbalance docs (#1064) (@ablaom) - For a 0.20.1 release (#1065) (@ablaom)

Closed issues: - Oversampling and undersampling (#661) - [Tracking] Migration of measures MLJBase.jl -> StatisticalMeasures.jl (#1053) - Include MLJBalancing.jl in MLJ and re-export it's names. (#1062) - Update docs for new class imbalance support (#1063)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 2 years ago

MLJ - v0.20.0

MLJ v0.20.0

Diff since v0.19.5

  • (breaking) Adapt to the migration of measures from MLJBase.jl to StatisticalMeasures.jl (#1054). See the MLJBase 1.0 migration guide for details.

Merged pull requests: - CI: fix the YAML syntax for the docs job, and thus properly surface any docbuild failures (#1046) (@DilumAluthge) - Update docs (#1048) (@ablaom) - Try again to generate the documentation (#1049) (@ablaom) - docs/make.jl: set devbranch to master, which means that the docs will be deployed for pushes to `master (#1051) (@DilumAluthge) - Try to deploy docs again x 3 (#1052) (@ablaom) - Adapt to migration of measures MLJBase.jl -> StatisticalMeasures.jl (#1054) (@ablaom) - For a 0.20 release (#1060) (@ablaom)

Closed issues: - Julia crashes when fitting a SVC (#1030) - Update deprecated document example in "Transformers ..." section of manual (#1040) - fit! not exported in 0.19.3/0.19.4? (#1041) - Doc generation is failing silently (#1045)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 2 years ago

MLJ - v0.19.5

MLJ v0.19.5

Diff since v0.19.4

  • Correct problem with previous version in which some methods were not exported, namely: source, node, fit!, freeze!, thaw!, Node, sources, origins (#1043) @pebeto

Closed issues: - Is the Averager documentation deprecated? (#1039)

Merged pull requests: - Adding necessary exports (#1043) (@pebeto) - For a 0.19.5 release (#1044) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 2 years ago

MLJ - v0.19.4

MLJ v0.19.4

Diff since v0.19.3

Merged pull requests: - Updating MLJBase.jl dep to last version (#1037) (@pebeto)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 2 years ago

MLJ - v0.19.3

MLJ v0.19.3

Diff since v0.19.2

Closed issues: - SymbolicRegression.jl — registry update (#1032)

Merged pull requests: - feat: Update ROADMAP.md be more understandable (#1031) (@MelihDarcanxyz) - add sirus.jl and symbolicregression.jl models to model browser (#1033) (@OkonSamuel) - Add MLJFlow for integration with MLflow logging platform (#1034) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 2 years ago

MLJ - v0.19.2

MLJ v0.19.2

Diff since v0.19.1

Closed issues: - @from_network does more strange eval stuff (#703) - Create new package for MLJ-universe-wide integration tests (#885) - Stack of TunedModels (#980) - Please add CatBoost or any alternate package (pure Julia) which can beat it (#992) - Update list of models for BetaML (#993) - Update List of Supported Models Clustering.jl Section (#1000) - predict should work on DataFrameRow (#1004) - Documentation generation fails silently (#1007) - Clarify and fix documentation around reformat. (#1010) - Reporting a vulnerability (#1015) - What causes the Distributed.ProcessExitedException(3) error in Julia and how can I resolve it in my Pluto notebook? (#1018) - Add link to Mt Everest blog (#1021) - Remove "experimental" label for acceleration API docs (#1026)

Merged pull requests: - Fix TransformedTarget example in manual (no new release) (#999) (@ablaom) - updating Clustering.jl model list to address #1000 (#1001) (@john-waczak) - Add CatBoost to list of models and 3rd party packages (#1002) (@ablaom) - Some small documentations improvements. Not to trigger a new release. (#1003) (@ablaom) - Add auto-generated Model Browser section to the manual (#1005) (@ablaom) - Add new auto-generated Model Browser section to the manual. Not to trigger new release. (#1006) (@ablaom) - Add Model Browser entry for SelfOrganizingMap (#1008) (@ablaom) - Update documentation (#1009) (@ablaom) - Clarify data front-end in docs (#1011) (@ablaom) - Doc fixes. No new release. (#1012) (@ablaom) - Update model browser and list of models to reflect addition of CatBoost.jl and some OutlierDetectionPython.jl models (#1013) (@ablaom) - Update to the manual. No new release. (#1014) (@ablaom) - Make docs fail on error (#1017) (@rikhuijzer) - Cleaned up Adding Models for General Use documentation (#1019) (@antoninkriz) - CompatHelper: bump compat for StatsBase to 0.34, (keep existing compat) (#1020) (@github-actions[bot]) - Remove CatBoost.jl from third party packages (#1024) (@tylerjthomas9)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 2 years ago

MLJ - v0.19.1

MLJ v0.19.1

Diff since v0.19.0

Closed issues: - Support for ProbabilisticSet type in MLJModelInterface.jl (#978) - question about Isotonic Regression (#986) - predictmode of pipeline model return a UnivariateFinite after upgrade to 0.19.0 (#987) - MLJ Tuning optimizers are no working with julia 1.8.3 and julia 1.9.0 (#990) - WARNING: both MLJBase and DataFrames export "transform"; uses of it in module Main must be qualified (#991) - CURANDError: kernel launch failure (code 201, CURANDSTATUSLAUNCHFAILURE) (#997)

Merged pull requests: - Document changes and sundries. No new release. (#985) (@ablaom) - (re) updated model names of BetaML (#994) (@sylvaticus) - Exclude bib, md, and drawio from repo stats (#995) (@rikhuijzer) - For a 0.19.1 release (#998) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] about 3 years ago

MLJ - v0.19.0

MLJ v0.19.0

Diff since v0.18.6

MLJBase compatibility is bumped to 0.21 and MLJModels compatibility is bumped to 0.16. This makes a new simplified method for exporting learning networks available but also introduces some breaking changes:

Closed issues: - Do not re-export value (#891) - Large models name change in BetaML (#963) - Add ConformalPrediction.jl to list of 3rd party packages (#967) - Documentation for BinaryThresholdPredictor (#973)

Merged pull requests: - Update docs for new learning network export method (#972) (@ablaom) - added to docs (#979) (@pat-alt) - For a 0.19 release (#984) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 3 years ago

MLJ - v0.18.6

MLJ v0.18.6

Diff since v0.18.5

Closed issues: - DBSCAN from Clustering.jl not registered (#845) - Update manual re new reporting_operations trait (#956) - Improvement in the Preparing Data part (#964) - serializable and restore! should be "safe" to use any time (#965) - Adds EvoLinearRegressor to list of models (#966) - export InteractionTransformer from MLJModels (#969) - Encoders for feature engineering (#970) - Clarify meaning of "table" in documentation (#971) - re-export serializable and restore! (#975)

Merged pull requests: - Updated names of BetaML models (#968) (@sylvaticus) - add the interface package to add (#974) (@xgdgsc) - Minor doc improvements and new exports (#976) (@ablaom) - For a 0.18.6 release (#977) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 3 years ago

MLJ - v0.18.5

MLJ v0.18.5

Diff since v0.18.4

Merged pull requests: - Fix mini typos in docs (#958) (@svilupp) - Documentation updates (#959) (@ablaom) - Bump version (#961) (@jbrea) - For a 0.18.5 release (#962) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 3 years ago

MLJ - v0.18.4

MLJ v0.18.4

Diff since v0.18.3

Closed issues: - Tutorial not working (#951) - Bump MLJBase compat and re-export feature_importances (#954)

Merged pull requests: - Update link for telco example to Data Science Tutorials version (#952) (@ablaom) - Update API spec re training losses and feature importances (#953) (@ablaom) - For a 0.18.4 release (#955) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 3 years ago

MLJ - v0.18.3

MLJ v0.18.3

Diff since v0.18.2

Closed issues: - Feature request: ability to convert scitype warnings into errors (#908) - Confusing truenegative(x, y) error (#919) - Show is too long for MulticlassPrecision and MulticlassTruePositiveRate (#923) - DOC: Link giving 404 not found (#929) - Re-export `scitypecheck_level(#936) - models(matching(X, y)) returns empty but shouldn't (#937) - LoadError on Getting Started Fit and Predict exercise (#940) - Change in Julia version generating the Manifest.toml 's ? (#941) - exportPerformanceEvaluation` (#944) - Make docs regarding Random Forest and Ensebles more clear (#945) - Compile time for DataFrames, typename hack not working (#946) - Factor out performance evaluation tools (#947)

Merged pull requests: - Fix level of confidence interval in telco example to make it 95% (#938) (@ablaom) - Update the list of models in the manual (#942) (@ablaom) - Re-export default_scitype_check_level (#943) (@ablaom) - Clarify homogeneous ensembles comments (#948) (@ablaom) - For a 0.18.3 release (#949) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 3 years ago

MLJ - v0.18.2

MLJ v0.18.2

Diff since v0.18.1

Closed issues: - Update Save method documentation (#899) - DOC: Link giving 404 not found (#929) - Question about using acceleration to implement parallelism (#934)

Merged pull requests: - Fix a table in telco tutorial (#927) (@ablaom) - add MLCourse (#928) (@jbrea) - Add link to MLCourse in the documentation (#930) (@ablaom) - Move EPFL course up the list on "Learning MLJ" page (#931) (@ablaom) - Add OneRuleClassifier to list of models in manual (#932) (@ablaom) - For a 0.18.2 release (#935) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 4 years ago

MLJ - v0.18.1

MLJ v0.18.1

Diff since v0.18.0

  • Re-export doc from MLJModels and bump compat of same

Merged pull requests: - For a 0.18.1 release (#926) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 4 years ago

MLJ - v0.18.0

MLJ v0.18.0

Diff since v0.17.3

This release supports changes appearing in the upstream package releases listed below (click on package for detailed release notes).

The principal change, which is breaking, is how model serialization works. The previous MLJ.save method still works, but you can only save to Julia JLS files, and the format is new and not backwards compatible. A new workflow allows for serialization using any generic serializer; serialization now plays nicely with model composition and model wrappers, such as TunedModel and EnsembleModel (even with non-Julia atomic models), and training data will not be inadvertently serialized.

Refer to this manual page details.

The package MLJSerialization has been dropped as a dependency as serialization functionality has moved to MLJBase.

Closed issues: - Use of ScientificTypes and CategoricalArrays in native model (#907) - Broken tutorial link (#917) - For a 0.18 release (#920)

Merged pull requests: - More doc updates and new example (#914) (@ablaom) - Documentation update. No new release. (#916) (@ablaom) - Address changes in MLJBase 0.20 (#921) (@ablaom) - Update manual to reflect changes in MLJBase 0.20 (#922) (@ablaom) - For a 0 point 18 release (#924) (@ablaom) - For a 0.18 release (#925) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 4 years ago

MLJ - v0.17.3

MLJ v0.17.3

Diff since v0.17.2

Merged pull requests: - Add documentation for the new model docstring standard (#906) (@ablaom) - For a 0.17.2 release (#912) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 4 years ago

MLJ - v0.17.2

MLJ v0.17.2

Diff since v0.17.1

Closed issues: - Discussion: Outlier Detection API in MLJ (#780) - Is MLJ ready for Julia 1.7? (#869) - Documentation of 'Common MLJ Workflows' shows wrong partition syntax (#894) - [Discussion] Review model documentation strings (#898) - Update list of models in docs for MLJText model change (#900) - Proposal for new Model docstrings standard (#901)

Merged pull requests: - Documentation fix. No new release (#895) (@ablaom) - Explain outlier detection models (#896) (@davnn) - Update listofsupported_models.md (#897) (@zsz00) - Remove binder notebook from readme and documentation (#902) (@ablaom) - BagOfWordsTransformer -> CountTransformer in List of Models (#903) (@ablaom) - A number of documentation updates. No new release. (#904) (@ablaom) - Tweak docs for nodes (#905) (@ablaom) - Export UnivariateFillImputer (#909) (@ablaom) - For a 0.17.2 release (#910) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 4 years ago

MLJ - v0.17.1

MLJ v0.17.1

Diff since v0.17.0

  • Programatically export all measure types, aliases and instances, which catches a few previously missed cases (#892)
  • Programatically export almost all model and measure traits (#892)
  • Bump MLJBase requirement to ensure built-in measure instances (eg log_loss) have doc-strings.

Closed issues: - Extend model serialization to composite models with a components needing specialised serialization (#678) - New measures RSquared and aliases rsq, rsquared need exporting (#880) - Re-export all traits. (#888) - What does MLJ.save really save? (#889) - Programmatically re-export measures and their aliases from MLJBase (#890)

Merged pull requests: - Fix typos in Getting Started (#881) (@takuti) - Typos in docs. No new release. (#882) (@ablaom) - Fix MLJFlux.jl project URL (#883) (@i-aki-y) - Broken link fixes in docs. No new release. (#884) (@ablaom) - Update examples/lightning_tour/ for MLJ 0.17 (#886) (@ablaom) - Added recent measures to src/MLJ.jl (#887) (@sayantan1410) - Clean up export of measure-related methods (#892) (@ablaom) - For a 0.17.1 release (#893) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] about 4 years ago

MLJ - v0.17.0

MLJ v0.17.0

Diff since v0.16.11

Bumps the versions of the following dependencies:

Following are the changes relevant to most users. Developers and advanced users can refer to the release notes linked above for a complete list.

  • (breaking) schema(X) no longer includes the nrows property. Use nrows(X) instead (https://github.com/JuliaAI/MLJBase.jl/issues/698)
  • (mildly breaking) unpack(table, p1, p2, ...) now includes an extra component in its return value, namely a table with all columns not selected by any of the predicates p1, p2, ... Frequently, users' existing code will safely ignore the extra component (https://github.com/JuliaAI/MLJBase.jl/issues/691)
  • (breaking) Change syntax EnsembleModel(atom=...) to EnsembleModel(model=...) for consistency with other MLJ model wrappers (eg, TunedModel) but additionally allow passing model as non-keyword argument, as in EnsembleModel(my_tree, ...).
  • (breaking) The default scale for unbounded NumericRanges is changed from :log to :log10 (https://github.com/JuliaAI/MLJBase.jl/issues/677).
  • (breaking) Remove deprecated code for exporting learning networks by hand (https://github.com/JuliaAI/MLJBase.jl/issues/643), which should instead be achieved using return! method (docs).
  • (mildly breaking) The range(model, :hyperparameter, ...) constructor now tries to infer type information for the range from the corresponding model struct field type for :hyperparameter, rather than from the type of the current value (https://github.com/JuliaAI/MLJBase.jl/issues/666)
  • (breaking) Dissallow previously deprecated use of wrapped_model=... in BinaryThresholdPredictor. Correct syntax is BinaryThresholdPredictor(model=...) or BinaryThresholdPredictor(model, ...) (https://github.com/JuliaAI/MLJModels.jl/421)

  • (enhancement) Add a new Pipeline type for constructing pipelines without macros. Pipelines are to be constructed using the syntax model1 |> model2 |> ... or with the constructor Pipeline which exposes more options. The @pipeline macro is deprecated (https://github.com/JuliaAI/MLJBase.jl/issues/664)

  • (enhancement) Add the metamodel TransformedTargetModel for wrapping supervised models in transformations of the target variable, which can be learned transformations (eg, standardisation). Previously this functionality was available as part of @pipeline (https://github.com/JuliaAI/MLJBase.jl/issues/678)

  • (enhancement) The partition function can now be called with a tuple of data arguments, for "synchronised" partitioning, but this requires specifying multi=true (because some tables are tuples) as in (Xtrain, ytrain), (Xtest, ytest) = partition((X, y), 0.6, rng=123, multi=true) (https://github.com/JuliaAI/MLJBase.jl/issues/696)

  • (enhancement) Create a way to include the state, after training, of arbitrary nodes of a learning network, in the report of a model created by exporting the learning network (https://github.com/JuliaAI/MLJBase.jl/issues/644)

  • (new models) Add the following new models to the registry from MLJText.jl: BM25Transformer, BagOfWordsTransformer (https://github.com/JuliaAI/MLJModels.jl/419)

  • (enhancement) Implement the Tables.jl interface for objects returned by schema (https://github.com/JuliaAI/ScientificTypes.jl/pull/174)

Closed issues: - Add facility to quickly define a model stack with meta-learner (#76) - Bug in MultinomialNBClassifier (#97) - Add docs for 'pipe' syntax (#231) - Use alphabetical ordering for ambiguous provider package (#257) - FAQ for Julia Meetup 22.10.2019 (#286) - More arrows (#307) - Support for class weights (and interpretation) (#328) - Visualizing hyperparameter tuning results for arbitrary numbers of parameters (#416) - Check number of levels of ytrain before calling fit (#542) - @loadMNIST (#584) - Programmatic creation of pipelines (#594) - Unable to retrieve machine in Mac which is saved from Windows (#840) - Broken Link (#858) - Problems with compilation failure due to "ArrayLikeVariate not defined" (#863) - @pipeline throws LoadError/UndefVarError in Pluto notebook (#865) - transformations like in R with formulas y ~ a + a * b + b^3. (#867) - Loading a Flux model into a MLJ machine (#870) - Stratified CV not working - LoadError: MethodError: no method matching iterate(::CategoricalValue{String, UInt32}) (#871) - Add new MLJText models to list of models (#872) - Add doc-string for PerformanceEvaluation to manual (#873) - Add entry to manual explaining new interface point for exported learning networks. (#875)

Merged pull requests: - Some typo fixes on Linear Pipeline doc page (#866) (@mjsmith037) - Update dependency compats, in preparation for 0.17 release (#878) (@ablaom) - For a 0.17 release (#879) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] about 4 years ago

MLJ - v0.16.11

MLJ v0.16.11

Diff since v0.16.10

Merged pull requests: - Simplify the exports of composition.jl (#859) (@davnn) - For a 0.16.11 release (#860) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 4 years ago

MLJ - v0.16.10

MLJ v0.16.10

Diff since v0.16.9

Closed issues: - Link to video to learn design patterns in julia is broken (#850) - re-export MLJIteration (#853)

Merged pull requests: - Add new iteration controls to docs and re-export MLJIteration (#854) (@ablaom) - Further doc updates for new iteration controls (#855) (@ablaom) - For a 0.16.10 release (#856) (@ablaom) - fix broken link (#857) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 4 years ago

MLJ - v0.16.9

MLJ v0.16.9

Diff since v0.16.8

Closed issues: - Document the Explicit tuning strategy (#822) - Add TSVD transformer to list of models (#824) - Remove @234 business from display of MLJ objects? (#842) - Inconsistent output type for different clustering models (#846)

Merged pull requests: - Documentation fix. No new release (#837) (@ablaom) - More documentation fixes. No new release (#838) (@ablaom) - Use isordered instead of private CategoricalArray fields (#839) (@nalimilan) - Doc updates. No release (#843) (@ablaom) - Add detection models to list of models in the documentation (#844) (@ablaom) - Re export TimeSeriesCV and add to docs (#847) (@ablaom) - Typo (#848) (@ablaom) - For a 0.16.9 release (#849) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 4 years ago

MLJ - v0.16.8

MLJ v0.16.8

Diff since v0.16.7

  • (code re-organization) Suspend use of MLJOpenML.jl in favour of OpenML.jl, a non-breaking change (https://github.com/JuliaAI/MLJOpenML.jl/pull/19#issuecomment-894742616)

Closed issues: - Issue to tag new releases (#571) - Migrate packages to JuliaAI (#765) - export training_losses (#772) - Add link to support channel if an official channel exists (#773) - Saving the out of sample Loss in iterated models (#793) - Have evaluate! automatically run the right kinds of predictions for each metric (#795) - Update "Traits" section of "Adding models for general use" in the manual (#799) - export Stack (#804) - "applicable method may be too new" error instantiating models loaded in function scope with @load (#809) - Following end-to-end tutorial on AMES but got error (#815) - Test dependency related fail in CI (#817) - MLJ: machine / evaluate! are random in unclear ways (#823) - Document hyper-parameter access requirements to ensure compatibility with MLJTuning API (#827) - r2 metrics (#830) - Error MLJ in linux (#833)

Merged pull requests: - To generate updated docs. No new release. (#819) (@ablaom) - Add a code of conduct (#820) (@ablaom) - Bump MLJOpenML compat and add new methods to manual (#821) (@ablaom) - Document hyper-parameter access required for models (#828) (@ablaom) - Update lightning tour (#831) (@ablaom) - For a 0.16.8 release (#832) (@ablaom) - Fix typo in documentation (#835) (@rikhuijzer) - Document the Explicit tuning strategy (#836) (@rikhuijzer)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 4 years ago

MLJ - v0.16.7

MLJ v0.16.7

Diff since v0.16.6

Closed issues: - Tuned Model interface doesnt have class_weights (#808) - MLJBase breaking ParallelKMeans CI (#811)

Merged pull requests: - Update linguist to better reflect the source language of the package (#812) (@paniash) - Adapt to renaming of ScientificTypes (#813) (@ablaom) - For a 0.16.7 release (#814) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 4 years ago

MLJ - v0.16.6

MLJ v0.16.6

Diff since v0.16.5

  • x Re-export Stack from MLJBase to make model stacking available.

Merged pull requests: - Doc improvements and sundry small items (#805) (@ablaom) - For a 0.16.6 release (#806) (@ablaom) - Bump MLJBase compat to make Stack available (#807) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 4 years ago

MLJ - v0.16.5

MLJ v0.16.5

Diff since v0.16.4

Closed issues: - Multiple Motivations for using same Mathematical Composite Functional notation f(g(h(x))) for language syntax to encode Custom objective/loss/cost functions (XGBoost), as to encode Distributed Parallel Workflow Pipeline sequence. (#488) - Add link to TreeParzen from "Tuning Models" section of the manual, and the doc string for LatinHypercube (#690) - Coercing exotic table types (#774) - Remove cap on StatsBase in docs/Project.toml (#785) - Improve docs around weight specification (#787) - Bug: evaluate! crashes being called several times in a row when acceleration is used (#788) - Make it possible to use deterministic metrics for models providing probabilistic prediction types (#789) - Add deterministic metric to Getting Started evaluate! example (#790) - Pipeline with XGBoost doesn't seem to serialize properly (#794) - MLJ universe graphic in README.md transparency issue (#796) - Re-export logpdf from Distributions (#797) - Measures for Multi-Target models (#800)

Merged pull requests: - Improve docs re weights (#791) (@ablaom) - Doc improvements. No new release (#792) (@ablaom) - Typo (#798) (@flyingdutchman23) - Use new MLJEnsembles.jl package (#801) (@giordano) - Export logpdf (#802) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 4 years ago

MLJ - v0.16.4

MLJ v0.16.4

Diff since v0.16.3

  • [x] Re-export BinaryThresholdClassifier from MLJModels (for wrapping binary probabilistic classifiers as deterministic classifiers using a user-specified threshold)

  • [x] Extend Distributions compatibility to version 0.25^

Merged pull requests: - CompatHelper: bump compat for "Distributions" to "0.25" (#784) (@github-actions[bot]) - For a 0.16.4 release (#786) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 5 years ago

MLJ - v0.16.3

MLJ v0.16.3

Diff since v0.16.2

Closed issues: - LoadError: UndefVarError: refcode not defined (#782)

Merged pull requests: - CompatHelper: bump compat for "CategoricalArrays" to "0.10" (#779) (@github-actions[bot]) - For a 0.16.3 release (#783) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 5 years ago

MLJ - v0.16.2

MLJ v0.16.2

Diff since v0.16.1

Closed issues: - Expose feature importances of EvoTreeClassifier (#745) - New BetaML models (to be checked) (#749) - Error for the iris dataset example in Getting Started page (#768) - Issue to track MLJModelInterface 1.0 rollout (#776)

Merged pull requests: - Fix some new issues with the manual arising from recent code re-organization (#770) (@ablaom) - Doc fixes. No new release. (#771) (@ablaom) - Bump compat for MLJIteration and update manual for iteration and tuning (#777) (@ablaom) - For a 0.16.2 release (#778) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 5 years ago

MLJ - v0.16.1

MLJ v0.16.1

Diff since v0.16.0

  • x Explicitly include MLJIteration, re-exporting its methods and types, so that using MLJIteration is no longer required to make use of the newly released package (https://github.com/alan-turing-institute/MLJ.jl/issues/139). For documentation, see here.
  • [x] Update MLJBase and import the new packages MLJOpenML and MLJSerialization, which provide functionality contained in the older MLJBase versions. Should have no effect on the MLJ user (https://github.com/alan-turing-institute/MLJBase.jl/issues/416)

Closed issues: - Model wrapper for controlling iterative models. (#139) - Restore broken ensemble testing (#683) - No more symbols in CategoricalArrays (#691) - Can't load KMeans from ParallelKMeans (#740) - DecisionTreeClassifier does not appear to be a Supervised model. (#741) - Unable to retrieve saved machines (#743) - Need help in creating a MLJModelInterface.Model interface of a complex model (#744) - Meaning of the various methods for unsupervised models ? (#748) - Load issue (#752) - MultinomialNBClassifier not available. (#753) - Evaluate with acceleration is only working on a single worker (#754) - Add to docs for new implementations: fit should not mutate model hyper-parameters (#755)

Merged pull requests: - Typo (#750) (@PallHaraldsson) - Doc updates. No new release (#751) (@ablaom) - Add iteration docs (#759) (@ablaom) - Add MLJIteration documentation to the MLJ manual. No new release (#760) (@ablaom) - Improvements to landing page of manual (#761) (@ablaom) - Documentation updates. No new release (#762) (@ablaom) - Add MLJIteration and re-export it's constructors/types (#764) (@ablaom) - Adaptations to further disintegration of MLJBase (#766) (@ablaom) - For a 0.16.1 release (#767) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 5 years ago

MLJ - v0.16.0

MLJ v0.16.0

Diff since v0.15.2

Release notes:

Update MLJModels and MLJBase compatibility requirements. Includes some breaking changes. Most significantly note that @load now returns a model type instead of an instance (see https://github.com/alan-turing-institute/MLJ.jl/blob/dev/docs/src/loadingmodelcode.md). For full list of changes, see:

MLJBase 0.17.0 release notes MLJModels 0.14.0 release notes

Closed issues: - Can't use @load within a module (#321) - Add option to cache data at nodes of learning networks to avoid repeating operations (transform, predict, etc) (#702)

Merged pull requests: - Documentation updates for adding data front-end to model implementations (#727) (@ablaom) - use add instead of develop when recommending old OpenSpecFun_jll (#737) (@KristofferC) - For a 0.16 release (#738) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] about 5 years ago

MLJ - v0.15.2

MLJ v0.15.2

Diff since v0.15.1

Closed issues: - @load should only do import or using, not define a const (#721) - When using the Standardizer method, why can't the fit! function take an argument of type AbstractMatrix{Continuous}? (#730)

Merged pull requests: - update roadmap (#732) (@ablaom) - Update Roadmap; no new release (#733) (@ablaom) - For 0.15.2 release (#734) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] about 5 years ago

MLJ - v0.15.1

MLJ v0.15.1

Diff since v0.15.0

Closed issues: - Unsupported const declaration (#715) - TunedModel is not fitted with measure=misclassification_rate (#725)

Merged pull requests: - Move from Travis CI to GitHub Actions CI (#717) (@DilumAluthge) - Delete the docs/src/_old folder (#718) (@DilumAluthge) - switch ci to github actions (#719) (@ablaom) - Update citations to JOSS paper (#720) (@ablaom) - removed type piracy of show for MersenneTwister (#722) (@ExpandingMan) - No new release. Update docs about pkg needed for DecisionTreeClassifier (#723) (@ablaom) - Add entry to tuning section of manual for Latin hyper cube (#724) (@ablaom) - Add examples to tuning (#728) (@ablaom) - For a 0.15.1 release (bump [compat] for MLJTuning) (#729) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] about 5 years ago

MLJ - v0.15.0

MLJ v0.15.0

Diff since v0.14.1

  • [x] Extend compat for MLJBase, MLJModels, MLJScientificTypes, CategoricalArrays. Includes a minor breaking change in behaviour of the coerce method; see https://github.com/alan-turing-institute/MLJBase.jl/releases/tag/v0.16.0.

Closed issues: - root: nothing does not appear to be a Supervised model. (#686) - Review TagBot configurations for all MLJ repos (#692) - less fidgity alternative to @load (#693) - ERROR: MethodError: no method matching PCA() (#699) - MLJDecisionTreeInterface.jl (#700) - Just a doc typo (#704) - Saving snapshots of a TunedModel as it trains (#708) - All CV scores in a TunedModel (#709) - Undefvarerror when tuning a model (#711)

Merged pull requests: - Shorten MLJ design paper following JOSS review (#676) (@ablaom) - Design paper update. No release (#677) (@ablaom) - Update Slack URL (#679) (@logankilpatrick) - Doc update. No new release. (#680) (@ablaom) - Paper references (#681) (@darenasc) - Fix bibliography in paper. No new release (#682) (@ablaom) - Suspend EnsembleModel testing (#684) (@ablaom) - Update affiliations in paper. No new release (#688) (@ablaom) - Add verbose affiliations to paper.md. No release (#694) (@ablaom) - fife -> St Andrews . No release (#695) (@ablaom) - Added latinhypercube docs (#697) (@ludoro) - Update modelsearch.md (#705) (@dsweber2) - For 0.15 Release (#710) (@ablaom) - Revert "Added latin_hypercube docs" (#712) (@ablaom) - Extend compat for MLJBase, MLJModels, MLJScientificTypes, CategoricalArrays (#713) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] about 5 years ago

MLJ - v0.14.1

MLJ v0.14.1

Diff since v0.14.0

Closed issues: - XGBoostClassifier can't be serialised. Add custom serialisation? (#512) - Problems deserialising pipeline models because of auto-generated type name (#649) - Add warning about not mutating hyperparameters in model fit. (#654) - Add warning about consistency of categorical pools when supplying production data. (#663) - Add conspicuous links to List of Supported Models (#672)

Merged pull requests: - Documentation updates. No new release. (#664) (@ablaom) - Update workingwithcategorical_data.md (#665) (@bas-dirks) - corrected typo (#666) (@OkonSamuel) - CompatHelper: bump compat for "Distributions" to "0.24" (#667) (@github-actions[bot]) - Documentation improvements. No new release. (#669) (@ablaom) - Doc tweaks. No release. (#670) (@ablaom) - Update manual for new serialization API. No release (#671) (@ablaom) - Fix to figure in paper. No release (#674) (@ablaom) - For a 0.14.1 release (#675) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 5 years ago

MLJ - v0.14.0

MLJ v0.14.0

Diff since v0.13.0

Updates to MLJTuning to 0.5:

  • x Add selection_heuristic option to TunedModel instances (https://github.com/alan-turing-institute/MLJTuning.jl/pull/75 #487). Introduce NaiveSelection strategy (the default, reproducing existing behaviour).

  • x Tweak the format of a TunedModel report r: Rename r.best_result to r.best_history_entry; and standardize the form of r.history across tuning strategies, making it a named tuple that always includes the keys model, measure, measurement, per_fold (plus strategy-specific keys).

Closed issues: - Adopt and update XGBoost.jl wrappers (#116) - Options to Select the "Best" Hyperparameter (#487) - Correlated predictions for Probabilistic models (#552) - MLJ_VERSION ci test fails on julia >=1.4 (#660)

Merged pull requests: - Doc tweaks. No new release (#655) (@ablaom) - tweak lightning tour to avoid model/machine confusion (#656) (@ablaom) - MLJTuning update (#658) (@ablaom) - For a 0.15 release (#659) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 5 years ago

MLJ - v0.13.0

MLJ v0.13.0

Diff since v0.12.1

Updates requirements for MLJBase, MLJModels and MLJScientificTypes to enable new features and fix some bugs:

  • x Add fitted_params_per_fold and report_per_fold properties to the object returned by evaluate/evaluate! to give user access to the outcomes of training for each train/test pair in resampling (#400, https://github.com/alan-turing-institute/MLJ.jl/issues/616)

  • x Implement logpdf for UnivariateFinite distributions (https://github.com/alan-turing-institute/MLJBase.jl/issues/411)

  • x Fix bug related to creating new composite models by hand in special case of non-model hyper-parameters (not an issue with @pipeline or @from_network models). Introduce new return! syntax for doing this and deprecate calling of learning network machines ( https://github.com/alan-turing-institute/MLJBase.jl/issues/390, https://github.com/alan-turing-institute/MLJBase.jl/issues/391, https://github.com/alan-turing-institute/MLJBase.jl/issues/377)

  • x Change the behavior of evaluate/evaluate! so that weights are only passed to measures if explicitly passed using the key-word argument weights=... (https://github.com/alan-turing-institute/MLJBase.jl/issues/405)

  • x Add UnivariateTimeTypeToContinuous model for converting assorted time data into Continuous data (https://github.com/alan-turing-institute/MLJModels.jl/pull/295)

  • x LDA models from MultivariateStats that take UnivariateFinite objects as a hyper-parameters to take dictionaries instead. Also change some default hyper-parameter values and improve the report (https://github.com/alan-turing-institute/MLJModels.jl/pull/276)

  • x Improve efficiency of FillImputer model (https://github.com/alan-turing-institute/MLJModels.jl/pull/292)

  • x Fix issue with syntax for loading models with a user-specified name (https://github.com/alan-turing-institute/MLJModels.jl/pull/294)

  • x Regard Nothing as a native scientific type and declare scitype(nothing) = Nothing (old behaviour: scitype(nothing) = Unknown (https://github.com/alan-turing-institute/ScientificTypes.jl/pull/112) Also updates the manual to reflect changes, and makes some improvements to the same.

  • x Remove deprecated @pipeline syntax (https://github.com/alan-turing-institute/MLJBase.jl/pull/350)

Closed issues: - [docs] Document metadatapkg, metadatamodel and @mljmodel (#241) - Improved docs for the data interface between MLJ and the world (#379) - Document workaround for @mljmodel macro issues around negative defaults (#504) - Document: can't use multithreading for python models (#525) - In "Working with Categorical Data" part of docs, explain about int method. (#605) - Allow access to the outcomes of fitting models on each fold in resampling (#616) - Errors when columns read from the CSV file have missing entries. (#622) - On models that fit a distribution to some data. (#641) - Meta-issue: Add the JointProbabilistic <: Probabilistic subtype (#642)

Merged pull requests: - Documentation updates for version 0.13 (#648) (@ablaom) - For a 0.13.0 release (#653) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 5 years ago

MLJ - v0.12.1

MLJ v0.12.1

Diff since v0.12.0

Closed issues: - Should some if any "classic" ML algorithms accepts matrix input in addition to table input? (#209) - Dataset generation for model inspection (#214) - Coerce fails when a column has type Vector{Missing} (#549) - OpenML integration: Columns as Symbols (#579) - Issue to generate new releases (#583) - Something not right with the Binder project file? (#587) - range(pipeEvoTreeClassifier, :(selector.features), values = cases): ArgumentError: values does not have an appropriate type. (#590) - fittedparams(LogisticModel): linearbinaryclassifier = Any - Problem fetching spawned @pipeline processes (#598) - LogisticModel: pdf(ŷ[i], 1) does not work after the last release (#599) - Improve error message for non-functions in @pipeline ... operation=... (#600) - unable to use `predictmode()on machine associated with pipeline since MLJ 0.12.0 release (#601) - Unable to use functions predict(), predict_mode() (#602) - In the latest version, how do we do range(pipeXGBoostRegressor, :(xgr.max_depth), lower=3, upper=10) ? (#603) - Add section on creating synthetic data to the manual (#604) - Documentation for adding models: Discourage fields with type Union{Nothing,T} where T<:Real (#606) - ERROR: LoadError: BoundsError: pkg = DecisionTree (#607) - Old @from_network syntax still in docs (#608) - Can't use @load inside a package (#613) - max_samples parameter for RamdomForestClassifier (#619) - Ambiguous assignment in soft scope on Julia 1.5 and Julia 1.6 (#624) - inverse_transform of a PCA (#625) - potential bug in MLJBase.roc_curve (#630) - MLJ 0.12.0 doesn't work with Julia 1.5.0 (Windows) (#631) - Meta-issue: Add theJointProbabilistic` supervised model type (#633)

Merged pull requests: - links to mybinder.org added (#585) (@darenasc) - Add binder links in readme and documentation (#586) (@ablaom) - binder option (#589) (@darenasc) - Sanitize filename of workflowslearningcurves.png to fix git checkouts on Windows (#595) (@Sh4pe) - Binder with instantiate (#596) (@ablaom) - Minor readme figure changes (not for new release) (#609) (@ablaom) - Binder change. Not for new release (#610) (@ablaom) - Binder again (#611) (@ablaom) - Dump JIT demo from binder for now (only works in regular notebook) (#612) (@ablaom) - paper.md edit . No release (#614) (@ablaom) - switch to new @fromnetwork synthax in docs (#615) (@OkonSamuel) - Add arXiv version 1 of paper. No release (#617) (@ablaom) - Update links to arXiv version 1 of paper. No release (#618) (@ablaom) - Add links to JuliaCon 2020 workshop. No release. (#623) (@ablaom) - Add Generating Synthetic Data section to manual (#626) (@ablaom) - Manual updates. No new release. (#627) (@ablaom) - fix readme links for manual. no release (#629) (@ablaom) - corrected wrong method signatures in docs (#635) (@OkonSamuel) - Doc fixes. No release. (#638) (@ablaom) - Discourage Union types for fields (#639) (@ablaom) - Doc fixes. No release (#640) (@ablaom) - Create the "PullRequestBaseBranch" GitHub Action (#643) (@DilumAluthge) - Install CompatHelper on this repository (#644) (@DilumAluthge) - New GitHub action. No new release. (#645) (@ablaom) - Export JointProbabilistic and `predictjoint` (#646) (@DilumAluthge) - For a 0.12.1 release (#647) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 5 years ago

MLJ - v0.11.6

MLJ v0.11.6 (NOT LATEST RELEASE see 0.12 below)

Diff since v0.11.5

Patch removing redundant files causing problems for Windows #591

Closed issues: - Integrate flux models (#33) - Conflict w Scikitlearn.jl (#502) - Accessing nested machines is (still) awkward (#553) - Standardization of multi-targets (#568) - Add note at MLJ landing page that MLJ wraps a majority of sk-learn models (#573) - OpenML integration: Columns as Symbols (#579) - OpenML integration: Kmeans is not fitting (#580)

Merged pull requests: - export brier_score (#572) (@OkonSamuel) - Add binder notebooks to the repo (#577) (@darenasc) - Add MLJFlux to Model List, alphabetize model list (#578) (@azev77) - For a 0.12.0 release (#581) (@ablaom) - For a 0.12.0 release (#582) (@ablaom) - links to mybinder.org added (#585) (@darenasc) - Sanitize filename of workflowslearningcurves.png to fix git checkouts on Windows (#595) (@Sh4pe)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 5 years ago

MLJ - v0.12.0

MLJ v0.12.0

Diff since v0.11.5

This release provides updates to breaking changes in MLJBase 0.14.0, and MLJModels 0.11.0 and MLJTuning 0.4.0. For a complete list of changes, closed issues and pull requests, refer to the linked release notes.

It also updates the MLJ documentation to reflect the new changes.

Summary

Main breaking changes:

  • Adds restrictions to acceleration options - nesting distributed processes within multithread process is now disallowed.

  • Adds more user-friendly interface for inspecting training reports and fitted parameters of composite models. For example, if composite = @pipeline OneHotEncoder KNNRegressor and mach = machine(composite, X, y), then access the fitted parameters of the machine associated with KNNRegressor using fitted_params(mach).knn_regressor.

  • The @from_network syntax has been changed to make it more expressive. In particular, through the new concept of learning network machines it is possible to export a learning network to a composite type supporting multiple operations (e.g., predict and transform, as in clustering). See the manual for details. The old syntax is no longer supported.

Other enhancements of note:

  • Adds MLJFlux models to the registry for incorporating neural network models.

  • A more economic @pipeline syntax has been introduced. For example, pipe = @pipeline OneHotEncoder PCA(maxoutdim=3) defines model pipe with automatically generated field names and model type name. Target inverse transformations now ooccur immediately after the supervised model in a @pipeline, instead of at the end, unless invert_last=true. The old syntax is available but deprecated.

  • It is now possible to simulataneously load model code for models having the same name but from different packages, when using @load or load.

  • Removes the requirement to specify the kind of source node, as in source(y, kind=:target). The role of source nodes in learning networks is now inferred from the order in which they appear in learning network machine constructors (see above).

Deprecations:

  • The old @pipeline syntax.

  • The specification of kind when constructing a source node.

  • The use of fitresults() when exporting learning networks "by hand". See the manual for the new way to do this.

Closed issues: - Integrate flux models (#33) - Conflict w Scikitlearn.jl (#502) - Accessing nested machines is (still) awkward (#553) - Add note at MLJ landing page that MLJ wraps a majority of sk-learn models (#573) - OpenML integration: Kmeans is not fitting (#580)

Merged pull requests: - export brier_score (#572) (@OkonSamuel) - Add binder notebooks to the repo (#577) (@darenasc) - Add MLJFlux to Model List, alphabetize model list (#578) (@azev77) - For a 0.12.0 release (#581) (@ablaom) - For a 0.12.0 release (#582) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 5 years ago

MLJ - v0.11.5

MLJ v0.11.5

Diff since v0.11.4

Closed issues: - computing UnivariateFinite matrix seems to be substantially slow (#511) - AMES tutorial doesn't work (UndefVarError) if ScikitLearn.jl or StatsBase.jl are loaded (#534) - DimensionMismatch in evaluate() (#540) - Hyperparameter tuning of KNN classifier (#543) - Decision trees from ScikitLearn.jl not available (#545) - Export supportsweights() and predictiontype() (#547) - Testing for type of values in a range too restrictive (#548) - SVC won't tune cost (#551) - Implementation of Tversky Loss (#554) - Fix broken MLJ logo in the manual (MLJ github pages) (#555) - Add configuration options for RandomForestClassifier.nsubfeatures that depend on the data size (#557) - Change DecisionTree.jl `nsubfeatures` default to -1 for random forest classifier and regressor (#558) - Tutorial link in Getting Started doesn't link to right spot (#560) - Old documentation deployed on github pages (#561) - Document how to load models without the @load macro (#562) - Request for monte-carlo cross validation (#564) - Loading SKLearn packages causes Julia to crash (#565)

Merged pull requests: - typos (#541) (@ablaom) - typo (#544) (@OkonSamuel) - update tutorial link (#563) (@OkonSamuel) - Update the documentation at /docs to reflect recent changes at MLJBase (#566) (@ablaom) - Documentation update (not to trigger a new release) (#567) (@ablaom) - For a 0.11.5 release - Bump [compat] MLJModels="^0.10" (#569) (@ablaom) - For a 0.11.5 release (#570) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 5 years ago

MLJ - v0.11.4

MLJ v0.11.4

Diff since v0.11.3

Closed issues: - Working with models with the same name from different packages (#446) - Update readme: MLJModels does not need to be in user's env after MLJModels 0.9.10 (#520) - More informative error for supplying model type instead of instance in range method (#521) - Readme inconsistency (#524) - Not loading to all workers: @everywhere @load RandomForestClassifier pkg = DecisionTree (#527) - Re-export mape and MAPE from MLJBase (#532)

Merged pull requests: - docs only (#531) (@ablaom) - Re-export mape (#533) (@azev77) - Update paper (#535) (@ablaom) - Typo in paper (#536) (@ablaom) - Export make_moons, etc; re-organize documentation (#537) (@ablaom) - For a 0.11.4 release (#538) (@ablaom) - teak readme again (#539) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 6 years ago

MLJ - v0.11.3

MLJ v0.11.3

Diff since v0.11.2

  • Update CategoricalArrays compatibility requirement to "^0.8" (#528) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 6 years ago

MLJ - v0.11.2

MLJ v0.11.2

Diff since v0.11.1

Fix bug in defining MLJ_VERSION (#508 PR #509)

Merged pull requests: - A more correct and robust way of getting the MLJ version number (#509) (@DilumAluthge) - For a 0.11.2 release (#510) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 6 years ago

MLJ - v0.11.1

MLJ v0.11.1

Diff since v0.11.0

Minor issues only:

  • [x] #497
  • [x] Revise cheatsheet (#474)

Closed issues: - Add sample-weight interface point? (#177) - Add defaultmeasure to learningcurve! (#283) - Flush out unsupervised models in "Adding models for general use" section of manual (#285) - isprobabilistic=true in @pipeline syntax is clunky (#305) - [suggestions] Unroll the network in `@fromnetwork` (#311) - Towards stabilisation of the core API (#318) - failure on nightly (1.4) (#384) - Documentation of extracting best fitted params (#386) - incorporate inputscitype and targetscitype declarations for @pipeline models (#412) - "Supervised" models with no predict method (#460) - Use OpenML.load to iris data set in the Getting Started page of docs? (#461) - Review cheatsheet (#474) - Re-export UnsupervisedNetwork from MLJBase (#497) - Broken link for MLJ tour in documentation (#501)

Merged pull requests: - For a 0.11.1 release (#506) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 6 years ago

MLJ - v0.11.0

MLJ v0.11.0

Diff since v0.10.3

Make compatibility updates to MLJBase and MLJModels to effect the following changes to MLJ (see the linked release notes for links to the issues/PRs)):

  • x Add LightGBM models LightGBMClassifier and LightGBMRegressor

  • x Add new built-in model, ContinuousEncoder, for transforming all features of a table to Continuous scitype, dropping any features that cannot be so transformed

  • x Add ParallelKMeans model, KMeans, loaded with @load KMeans pkg=ParallelKMeans

  • x Arrange for the CV resampling strategyto spread fold "remainders" evenly among folds in train_test_pairs(::CV, ...) (a small change only noticeable in small datasets)

  • x Restyle report and fitted_params for exported learning networks (e.g., pipelines) to include a dictionary of reports or fitted_params, keyed on the machines in the underlying learning network. New doc-strings detail the new behaviour.

  • x Allow calling of transform on machines with Static models without first calling fit!

  • [x] Allow machine constructor to work on supervised models that take nothing for the input features X (for models that simply fit a sampler/distribution to the target data y) (#51)

Also:

  • x In the "Adding New Models for General Use" section of the manual, add detail on how to wrap unsupervised models, as well as models that fit a sampler/distribution to data

  • x Expand the "Transformers" sections of the manual, including more material on static transformers and transformers that implement predict (#393)

Closed issues: - Add tuning by stochastic search (#37) - Improve documentation around static transformers (#393) - Error in docs for model search (#478) - Update [compat] StatsBase="^0.32,^0.33" (#481) - For a 0.10.3 release (#483) - Help with coercing strings for binary data into Continuous variables (#489) - EvoTree Error (#490) - Add info with workaround to avoid MKL error (#491) - LogisticClassifier pkg = MLJLinearModels computes a number of coefficients but not the same number of meanandstdgivenfeature (#492) - MethodError: no method matching... (#493) - For a 0.10.4 release (#495) - Error: fitted_params(LogisticModel) (#498)

Merged pull requests: - Fixes the docs for model search (#486) (@ven-k) - Readme update (#494) (@ablaom) - paper added to MLJ repo (#496) (@darenasc) - For a 0.11.0 release (#499) (@ablaom) - For a 0.11.0 release (#500) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 6 years ago

MLJ - v0.10.3

MLJ v0.10.3

Diff since v0.10.2

  • [x] Allow MLJ to use StatsBase v0.33 (PR #484 , #481)

  • [x] Enable use of RandomSearch tuning strategy (PR #482, #37)

Merged pull requests: - Enable hyper-parameter tuning using random search (#482) (@ablaom) - Extend [compat] StatsBase = "^0.32,^0.33" (#484) (@ablaom) - For a 0.10.3 release (#485) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 6 years ago

MLJ - v0.10.2

MLJ v0.10.2

Diff since v0.10.1

  • [x] Extend [compat] Distributions = "^0.21,^0.22,^0.23"

  • [x] Minor doc fixes

Closed issues: - Task design discussion (#166) - Non-normalized versions of measures (#445) - Overload model traits to work on the named-tuple "proxies" for models listed by models() (#464) - Multiprocess issue (#468) - Julia v1.4.0 is downloading MLJ v0.2.3 instead of MLJ v0.10.1 (#476)

Merged pull requests: - Added IRIS example in docs (#475) (@ashryaagr) - For a 0.10.2 release (#479) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 6 years ago

MLJ - v0.10.1

MLJ v0.10.1

Diff since v0.10.0

(enhancement) Add serialization for machines. Serialization is model-specific, with a fallback implementation using JLSO. The user serializes with MLJBase.save(path, mach) and de-serializes with machine(path) (#138, #292)

Closed issues: - Adhere by Invenia's bluestyle (#434) - Update list of scikitlearn models in readme table. (#469)

Merged pull requests: - updated list of ScikitLearn models in Readme (#472) (@OkonSamuel) - For a 0.10.1 release (#473) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 6 years ago

MLJ - v0.10.0

MLJ v0.10.0

Diff since v0.9.3

Upgrade to MLJBase 0.12.0 and MLJModels 0.9.0 to effect the following changes:

  • x suppress normalisation of measure weights (MLJBase PR #208)

  • x Shift the optional rng argument of iterator to first position (MLJBase #215)

  • x Let all models (supervised and unsupervised) share a common set of traits. So, for example, unsupervised models now have the target_scitype trait (usually taking the value Unknown). For a list of the common traits, do models()[1] |> keys |> collect (https://github.com/alan-turing-institute/MLJBase.jl/issues/163).

  • x Add sampler wrapper for one-dimensional ranges, for random sampling from ranges using rand (MLJBase #213)

  • [x] Change default value of num_round in XGBoost models from 1 to 100 (MLJModels PR #201)

Closed issues: - Help with loading code on multiple processes for paralleled tuning of a pipeline (#440) - Re-export CPU1, CPUProcesses, CPUThreads (#447) - Taking loss functions seriously (#450) - @pipeline to accept multiple Supervised models (#455) - What parts of MLJBase should be reexported in MLJ (#462) - unpack not working (#465) - Automatic Ensembling options (#466)

Merged pull requests: - Fix model table link in README.md (#467) (@pshashk) - For a 0.10.0 release (#471) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 6 years ago

MLJ - v0.9.3

MLJ v0.9.3

Diff since v0.9.2

Merged pull requests: - re-instate [compat] declarations for MLJ* (#453) (@ablaom) - Documentation fixes (#454) (@ablaom) - Patch 2 (#458) (@OkonSamuel) - Update README.md (#459) (@azev77) - For 0.9.3 release (#463) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 6 years ago

MLJ - v0.9.2

MLJ v0.9.2

  • x Update Tables requirement to "^1.0" (#444)

  • x Add the pure-julia gradient boosted tree models from EvoTrees: EvoRegressor, EvoTreeCount, EvoTreeGaussian, EvoTreeCount (#122)

  • x Update README.md and some documentation errors

Diff since v0.9.1

Closed issues: - Implementing MLJ model interface for EvoTrees.jl (#122) - Improve the tuning strategy interface (#315) - Re-organizing the MLJ stack (#317) - Add Tables 1.0 (#444)

Merged pull requests: - Further updates to the manual to reflect light interface restructuring (#441) (@ablaom) - Patch 2 (#443) (@OkonSamuel) - Tablesv1 (#448) (@tlienart) - Readme review (#451) (@ablaom) - For 0.9.2 release (#452) (@ablaom) - re-instate [compat] declarations for MLJ* (#453) (@ablaom)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 6 years ago

MLJ - v0.9.1

MLJ v0.9.1

Diff since v0.9.0

  • x Enable dataset loading from OpenML using OpenML.load(id).

  • x Update the MLJ manual with missing measure docstrings; and to reflect use of MLJScientificTypes in place of ScientificTypes

  • x Update manual to reflect split of MLJBase into MLJBase and MLJModelInterface

Closed issues: - Evaluation error logs on loading model (#433)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] about 6 years ago

MLJ -

Scientific Software - Peer-reviewed - Julia
Published by tlienart about 6 years ago

MLJ - v0.8.0

  • x MLJ now uses MLJTuning v0.1.1 to implement tuning. For the moment the only tuning strategy remains grid search, but expect this to improve soon with a new and improved tuning strategy interface for developers.

  • x The Grid tuning strategy no longer has the acceleration hyperparameter, as computational resources (distributed computing / multithreading) is now declared in the TunedModel constructor (see below). A Grid search now generates models for evaluation in a random order unless shuffle=false is specified. (To simulate a random search, use a high resolution but use a reduced value of n.) One can no longer specify a dictionary of resolutions keyed on model hyperparameter name. The specified global resolution is now overriden by specifying hyperparameter-specific resolutions in aTunedModel's range object. For details query ?Grid.

  • x One can now specify a goal for the total number of grid points with Grid(goal=...), in which case global and hyperparameter-specific resolutions are ignored.

  • x The form of reports generated by fitting a machine bound to TunedModel have changed. Query ?TunedModel for details. What was previously obtained with report(mach) is now obtained using report(mach).plotting. In the case of a grid search, there is also report(mach).history.

  • x Tuning is now conceptualised as an iterative procedure in all cases. In the TunedModel constructor, one may now optionally specify the number of models to be searched withn=.... This overrides a default number determined by the particular tuning strategy. Increasing this parameter and refitting a machine bound to a TunedModel does not trigger a new search for the optimal hyperparemeters, but restarts the search from where it left off. (In the future this will allow for external control of tuning, including the saving of intermediate results.)

  • x learning_curve! has been renamed learning_curve as it is non-mutating. The old name is retained for backwards compatibility. One may no longer specify n=... to generate multiple learning curves. Rather, for reproducibility and parallizability, one must instead: (i) pass the name of the model RNG hyperparameter field with rng_name=...; and (ii) a list of unique RNG's, one for each curve, as in rngs=[MersenneTwister(1), MersenneTwister(42)] (for two curves). Alternatively, RNGs can be automatically generated by specifying an integer, as in rngs=2. Query ?learning_curve for details.

  • x learning_curve now has an acceleration key-word argument for distributing the generation of multiple learning curves, and sample weights can be passed to learning _curve.

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] about 6 years ago

MLJ - v0.7.0

  • Update to ScientificTypes 0.5.1. This is mainly to improve performance of scitype and coerce in the case of (possibly) missing values and on arrays of Any type. This should speed up the machine constructor in some cases. These changes are mildly breaking but won't effect many users. See these releases notes for details

  • Update to MLJBase 0.10.0:

    • Give the partition function a new keyword argument stratify=y for specifying a Finite vector y on which to base stratified partitioning. Query ?partition for details (#113)
    • Add new methods for generating synthetic data sets: make_blobs, make_moons, make_circles, make_regression (#155)
    • Improve show method for the results of performance evaluations (calling evaluate!, evaluate)
    • Add keyword argument repeats=1 to evaluate!/evaluate for repeated resampling. For example, specifying resampling=CV(nfolds=3, shuffle=true), repeats=2 to generate 6 per_fold performance estimates for aggregation. Query ?evaluate! for details (https://github.com/alan-turing-institute/MLJ.jl/issues/406)
    • In specifying one-dimensional ranges in tuning, unbounded ranges are now allowed. Query ?range and ?iterator for details.
    • improve show method for MLJType objects that "show as constructed" (https://github.com/alan-turing-institute/MLJ.jl/issues/351)
  • Update MLJModels to 0.7.0:

    • (new model) Add the AdaBoostStumpClassifier from DecisionTree
    • Arrange for clustering algorithms to predict categorical elements instead of integers (https://github.com/alan-turing-institute/MLJ.jl/issues/418)

Under the hood, this release represents some re-organizing of the MLJ stack, with performance evaluation (resampling) and one-dimensional ranges moving to MLJBase.

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] about 6 years ago

MLJ - v0.6.1

  • Resolves a bug introduced when using ScientificTypes 0.3.2 (#414 PR #414)

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] about 6 years ago

MLJ - v0.6.0

Update to ScientificTypes 0.3, MLJBase 0.9.1, MLJModels 0.6

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] about 6 years ago

MLJ - v0.5.9

  • [x] Re-export table from MLJBase (#381)

  • [x] Add learning_curve(model, args...; kwargs...) which is equivalent to learning_curve!(machine(model, args...); kwargs...) (#377, PR #388)

  • [x] Resolve minor issues #282, #283.

  • [x] Allow learning_curve! to assign a default measure when none specified (#283)

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] about 6 years ago

MLJ - v0.5.8

v0.5.8 (2019-12-05)

Diff since v0.5.7

Merged pull requests:

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] about 6 years ago

MLJ - v0.5.7

v0.5.7 (2019-12-05)

Diff since v0.5.6

Closed issues:

  • ArgumentError - scitype mismatch during evaluate (#376)

Merged pull requests:

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] about 6 years ago

MLJ - v0.5.6

  • x Add "Learning Curves" section to the manual (#362 PR #372)

  • x Fix distributed acceleration in EnsembleModel (#361, PR #370)

  • [x] Re-export elscitype from ScientificTypes.jl.

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] about 6 years ago

MLJ - v0.5.5

  • x Enable sample weight support in performance evaluation, in tuning, in ensembling, in @pipelines, in learning networks, and exported composite model types (PR #356)
  • x Update to MLJBase 0.8.4 to enable static transformations depending on user-specified parameters to be included in @pipelines and @from_network exported composite models. Update the "Composing Models" section of the manual accordingly (#291, PR #350)
  • x add stratified sampling (issue #108)

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] about 6 years ago

MLJ - v0.5.4

  • x Update to MLJBase 0.8.1 to make available: many new performance measures (do ?measures() to list); confusion_matrix and roc_curve (receiver operator characteristic) methods; methods to list and query available measures, measures(), measures(conditions...) (API same as for querying models with models methods) (PR MLJBase #88)

  • x Change performance evaluation method evaluate! (for resampling) to aggregate using measure-specific method (as specified by new measure trait aggregation) rather than mean in all cases (PR #333)

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] over 6 years ago

MLJ - v0.5.3

v0.5.3 (2019-11-13)

Diff since v0.5.2

Closed issues:

  • Get Started Examples doesn't work on MLJ 0.5.2 (#324)
  • Streamline tests (#323)
  • Can't use FillImputer with @pipeline ? (#320)
  • DecisionTreeClassifier producing strange results after upgrade (#319)
  • Move the MLJ manual to new repo MLJManual (#316)
  • Example of unpack in ?unpack doesn't work: ERROR: MethodError: no method matching !=(::Symbol) (#313)
  • Scitype check after dropping missing values (#306)
  • train_test_pairs method in resampling interface needs extra arguments (#297)
  • Comments in manual on multivariate targets need updating (#295)
  • CV(shuffle=true) does not seem to properly shuffle the data (#289)
  • Overload mean, mode and median for Nodes (#288)
  • @load is too slow (#280)
  • Towards 0.5.2 (#273)
  • Create/utilize a style guide (#243)

Merged pull requests:

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] over 6 years ago

MLJ - v0.5.2

  • x Ensure CV(shuffle=true) actually does shuffle the data (#289)

  • x Allow resampling strategies to see the data by adding arguments to the train_test_rows method implemented by new strategies. Refer to the updated manual under "Custom resampling strategies" for details (#297, PR #299)

  • x Update requirements on MLJBase and MLJModels to resolve some issues with MLJModels 0.5.3 and MLJBase 0.7.2

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] over 6 years ago

MLJ - v0.5.1

  • (Enhancement) Update requirements for MLJBase and MLJModels to eliminate the current cap of 0.5.2 on CategoricalArrays. Among other things, this allows more recent versions of CSV and DataFrames to be used with MLJ, and eliminates some warnings. (https://github.com/alan-turing-institute/MLJBase.jl/issues/44, PR #275)

  • (Enhancement) The MLJBase update also adds the Brier score for probabilistic classifiers

  • (Bug) Fix a bug with |> syntax for building learning networks (julia >= 0.3) (#253, PR #263 )

  • (Bug) Fix problem with loading most ScikitLearn classifiers (#252)

  • (Enhancement) Allow specification of different resolutions for each dimension in a grid search (#269 , PR #278). Do ?Grid for details.

  • (Enhancement) Allow selectcols(X, c) to work on nodes in addition to tables/matrices/vectors X. So, if X is a node and N=selectnode(X, c), then N() is the same as select(X(), c) (#271)

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] over 6 years ago

MLJ - v0.5.0

  • (Enhancement) Add |> syntactic sugar for building learning networks. Requires julia 1.3 (#228, #231)
  • (Enhancement) Add matching method to streamline model search, without constructing MLJTask objects with supervised or unsupervised (the existing task constructors are to remain but be ultimately depreciated or replaced) (#236, PR #238)
  • (Mildly breaking) Change the method name train_eval_pairs for custom resampling strategies to train_test_pairs, which is less confusing. Update the manual accordingly. Unlikely to affect any users yet (#244)
  • (Enhancement, mildly breaking) Update MLJModels requirement to v0.5.0 to make available most scikit-learn classifiers, KNNClassifier and new improved version of KNNRegressor. As KNNRegressor is no longer an MLJ built-in model, code must be explicitly imported with @load KNNRegressor before instantiating. Do models() to get up-do-date list of all models (MLJModels PR #60, MLJModels PR #47)

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] over 6 years ago

MLJ - v0.4.0

  • (Enhancment) Update to MLJBase 0.5.0 and MLJModels 0.4.0. The following new scikit-learn models are thereby made available:

  • ScikitLearn.jl

  • SVM: SVMClassifier, SVMRegressor, SVMNuClassifier, SVMNuRegressor, SVMLClassifier, SVMLRegressor,

  • Linear Models (regressors): ARDRegressor, BayesianRidgeRegressor, ElasticNetRegressor, ElasticNetCVRegressor, HuberRegressor, LarsRegressor, LarsCVRegressor, LassoRegressor, LassoCVRegressor, LassoLarsRegressor, LassoLarsCVRegressor, LassoLarsICRegressor, LinearRegressor, OrthogonalMatchingPursuitRegressor, OrthogonalMatchingPursuitCVRegressor, PassiveAggressiveRegressor, RidgeRegressor, RidgeCVRegressor, SGDRegressor, TheilSenRegressor

  • (New feature) The macro @pipeline allows one to construct linear (non-branching) pipeline composite models with one line of code. One may include static transformations (ordinary functions) in the pipeline, as well as target transformations for the supervised case (when one component model is supervised).

  • (Breaking) Source nodes (type Source) now have a kind field, which is either :input,:target or :other, with :input the default value in the source constructor. If building a learning network, and the network is to be exported as a standalone model, then it is now necessary to tag the source nodes accordingly, as in Xs = source(X) and ys = source(y, kind=:target).

  • (Breaking) By virtue of the preceding change, the syntax for exporting a learning network is simplified. Do?@from_network for details. Also, one now uses fitresults(N) instead of fit results(N, X, y) and fitresults(N, X) when exporting a learning network N "by hand"; see the updated manual for details.

  • (Breaking) One must explicitly state if a supervised learning network being exported with @from_network is probabilistic by adding is_probablistic=true to the macro expression. Before, this information was unreliably inferred from the network.

  • (Enhancement) Add macro-free method for loading model code into an arbitrary module. Do ?load for details.

  • (Enhancement) @load now returns a mode instance with default hyperparameters (instead of nothing), as in tree_model = @load DecisionTreeRegressor

  • (Breaking) info("PCA") now returns a named-tuple, instead of a dictionary, of the properties of a the model named "PCA"

  • (Breaking) The list returned by models(conditional) is now a list of complete metadata entries (named-tuples, as returned by info). An entry proxy appears in the list exactly when conditional(proxy) == true. Model query is simplified; for example models() do model model.is_supervised && model.is_pure_julia end finds all pure julia supervised models.

  • (Bug fix) Introduce new private methods to avoid relying on MLJBase type piracy [MLJBase

    30](https://github.com/alan-turing-institute/MLJBase.jl/issues/30).

  • (Enhancement) If composite is a a learning network exported as a model, and m = machine(composite, args...) then report(m) returns the reports for each machine in the learning network, and similarly for fitted_params(m).

  • (Enhancement) MLJ.table, vcat and hcat now overloaded for AbstractNode, so that they can immediately be used in defining learning networks. For example, if X = source(rand(20,3)) and y=source(rand(20)) then MLJ.table(X) and vcat(y, y) both make sense and define new nodes.

  • (Enhancement) pretty(X) prints a pretty version of any table X, complete with types and scitype annotations. Do ?pretty for options. A wrap of pretty_table from PrettyTables.jl.

  • (Enhancement) std is re-exported from Statistics

  • (Enhancement) The manual and MLJ cheatsheet have been updated.

  • Performance measures have been migrated to MLJBase, while the model registry and model load/search facilities have migrated to MLJModels. As relevant methods are re-exported to MLJ, this is unlikely to effect many users.

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] over 6 years ago

MLJ - v0.3.0

v0.3.0 (2019-08-21)

Diff since v0.2.5

  • Introduction of traits for measures (loss functions, etc); see top of /src/measures.jl for definitions. This

    • allows user to use loss functions from LossFunctions.jl,
    • enables improved measure checks and error message reporting with measures
    • allows evaluate! to report per-observation measures when available (for later use by Bayesian optimisers, for example)
    • allows support for sample-weighted measures playing nicely with rest of API
  • Improvements to resampling:

    • evaluate! method now reports per-observation measures when available
    • sample weights can be passed to evaluate! for use by measures that support weights
    • user can pass a list of train/evaluation pairs of row indices directly to evaluate!, in place of a ResamplingStrategy object
    • implementing a new ResamplingStrategy is now straightforward (see docs)
    • one can call evaluate (no exclamation mark) directly on model + data without first constructing a machine, if desired
  • Doc strings and the manual have been revised and updated. The manual includes a new section "Tuning models", and extra material under "Learning networks" explaining how to export learning networks as stand-alone models using the @from_network macro.

  • Improved checks and error-reporting for binding models to data in machines.

  • (Breaking) CSV is now an optional dependency, which means you now need to import CSV before you can load tasks with load_boston(), load_iris(), load_crabs(), load_ames(), load_reduced_ames()

  • Added schema method for tables (re-exported from ScientificTypes.jl). Returns a named tuple with keys :names, :types, :scitypes and :nrows.

  • (Breaking) Eliminate scitypes method. The scientific types of a table are returned as part of ScientificTypes schema method (see above)

Closed issues:

  • Migrate @load macro to MLJBase.jl? (#208)
  • Loss functions in MLJ (#205)
  • Missing package dependency? (#204)
  • Test for MLJModels/Clustering.jl gives warning "implicit dims=2... (#202)
  • TunedModel objects not displaying correctly (#197)
  • DecisionTreeRegressor fails to predict (#193)
  • Control verbosity of @load macro (#192)
  • How to know which models are regression models? (#191)
  • Error loading the package (#190)
  • Data science and ML ontologies in MLJ (#189)
  • Machine fit! from the model not working (#187)
  • How can I extract a fitresult that does not contain any of the original data? (#186)
  • @from_network not working if MLJBase not in load path. (#184)
  • Improve nested parameter specification in tuning (#180)
  • Resampling strategies should have option for independent RNG (#178)
  • Fitting SVC machine changes hyperparameters (#172)
  • range(SVC, :gamma, ...) returns NominalRange instead of NumericRange (#170)
  • Local support at the ATI? (#169)
  • range(tree, :n, ...) not working for tree=DecisionTreeRegressorClassfier (#168)
  • Add some transformers from MultivariateStats.jl (#167)
  • Use of MLJRegistry (#165)
  • No method matching build_tree (#164)
  • Multiple learning curves just repeating the first curve (#163)
  • Register v0.2.5 (#162)
  • Register v0.2.4 (#160)
  • Issue with Documentation/Example - DecisionTreeClassifier again... (#156)
  • Convert example/xgboost.jl into notebook (#148)
  • GSoC Project Proposal (#78)
  • Implement MLJ interface for linear models (#35)

Merged pull requests:

  • Update to MLJBase 0.4.0 (#212) (ablaom)
  • Improve resampling/evaluation; add measures API (incl. LossFunctions) (#206) (ablaom)
  • Fix link to ipynb tour (#203) (Kryohi)
  • Fix197b (#201) (tlienart)
  • Fix #192: Add verbosity option to @load macro (#196) (juliohm)
  • Update bug_report.md (#194) (juliohm)
  • Make CSV a test dependency (#185) (DilumAluthge)
  • Minor fixes + docstrings (#183) (tlienart)
  • typo fix in learning networks docs (#182) (tlienart)
  • Add rng to resampling methods (cv and holdout) (#179) (ayush-1506)
  • Change get_type implementation (#171) (oleskiewicz)

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] over 6 years ago

MLJ - v0.2.5

v0.2.5 (2019-06-15)

Diff since v0.2.4

Closed issues:

  • Register v0.2.3 (#154)

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] over 6 years ago

MLJ - v0.2.4

v0.2.4 (2019-06-13)

Diff since v0.2.3

Closed issues:

  • Allow ability to call predict\(mach, \*\) on a task (as well as new input data)? (#158)
  • misclassification_rate StackOverflow error (#133)
  • Add task interface (#68)
  • Treatment of supervised models predicting an ordered categorical (#48)
  • Proposal for metadata (#22)
  • Boosting Packages (#21)
  • Literature discussion (#10)

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] over 6 years ago

MLJ - v0.2.3

v0.2.3 (2019-06-05)

Diff since v0.2.2

Closed issues:

  • Classification task: no models (#153)
  • Register v0.2.2 (#149)
  • Announcing MLJ + sktime tutorial and development sprint (#143)

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] over 6 years ago

MLJ - v0.2.2

v0.2.2 (2019-05-30)

Diff since v0.2.1

Closed issues:

  • specifying new rows in calls to fit! on a Node not triggering retraining. (#147)
  • fit! of Node sometimes calls update on model when it should call fit on model (#146)
  • MultivariateStats.PCA has wrong load_path (#141)
  • Error running the tour.ipynb notebook (#140)
  • For reproducibility, include a Manifest.toml file with all examples. (#137)
  • Coveralls activation (#131)
  • Register v0.2.1 (#127)
  • Migrate MultivariateStats: MLJ -> MLJModels (#125)
  • Register v0.2.0 (#124)
  • Wrap Scikitlearn.jl Elastic Net algorithms (#112)

Merged pull requests:

  • Improve coverage of other files (#145) (giordano)
  • add manifest.toml, project.toml for example notebooks, update tour.ipynb (#142) (ayush-1506)
  • Simplify methods of load macro by reducing code duplication (#136) (giordano)
  • Improve test coverage of tasks.jl (#135) (giordano)
  • Move docs dependencies to Project.toml (#130) (giordano)
  • Adding SimpleRidgeRegressor (#129) (ayush-1506)
  • Send code coverage to Coveralls and Codecov (#128) (giordano)

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] over 6 years ago

MLJ - v0.2.1

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] almost 7 years ago

MLJ - v0.2.0

Scientific Software - Peer-reviewed - Julia
Published by julia-tagbot[bot] almost 7 years ago