Recent Releases of MLJ
MLJ - v0.20.9
MLJ v0.20.9
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
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
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
- (new functionality) Add
RecursiveFeatureEliminationmodel 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.4
MLJ v0.20.4
- 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 dologger=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
- Bump compat for MLJFlow to 0.4 to buy into
MLJBase.savemethod 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
- Replace
MLFlowLoggerwithMLJFlow.Logger; see here. So a logger instance is now instantiated withusing 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
- (new feature) Add the
BalancedModelwrapper 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
- (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
- 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.3
MLJ v0.19.3
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
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
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
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:
- (mildy breaking) The
valuemethod is no longer exported by MLJ as essentially private (#891) - MLJBase 0.21 release notes
- MLJModels 0.16 release notes
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
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.4
MLJ v0.18.4
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
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
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.0
MLJ v0.18.0
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.2
MLJ v0.17.2
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
- 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
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 thenrowsproperty. Usenrows(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 predicatesp1, p2, ...Frequently, users' existing code will safely ignore the extra component (https://github.com/JuliaAI/MLJBase.jl/issues/691) - (breaking) Change syntax
EnsembleModel(atom=...)toEnsembleModel(model=...)for consistency with other MLJ model wrappers (eg,TunedModel) but additionally allow passing model as non-keyword argument, as inEnsembleModel(my_tree, ...). - (breaking) The default
scalefor unboundedNumericRanges is changed from:logto: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 correspondingmodelstruct 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=...inBinaryThresholdPredictor. Correct syntax isBinaryThresholdPredictor(model=...)orBinaryThresholdPredictor(model, ...)(https://github.com/JuliaAI/MLJModels.jl/421)(enhancement) Add a new
Pipelinetype for constructing pipelines without macros. Pipelines are to be constructed using the syntaxmodel1 |> model2 |> ...or with the constructorPipelinewhich exposes more options. The@pipelinemacro is deprecated (https://github.com/JuliaAI/MLJBase.jl/issues/664)(enhancement) Add the metamodel
TransformedTargetModelfor 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
partitionfunction can now be called with a tuple of data arguments, for "synchronised" partitioning, but this requires specifyingmulti=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.10
MLJ v0.16.10
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
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
- (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
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
- x Re-export
Stackfrom 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
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
[x] Re-export
BinaryThresholdClassifierfrom 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
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
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
- x Explicitly include MLJIteration, re-exporting its methods and types, so that
using MLJIterationis 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
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
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
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
- [x] Extend compat for MLJBase, MLJModels, MLJScientificTypes, CategoricalArrays. Includes a minor breaking change in behaviour of the
coercemethod; 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
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
Updates to MLJTuning to 0.5:
x Add
selection_heuristicoption toTunedModelinstances (https://github.com/alan-turing-institute/MLJTuning.jl/pull/75 #487). IntroduceNaiveSelectionstrategy (the default, reproducing existing behaviour).x Tweak the format of a
TunedModelreportr: Renamer.best_resulttor.best_history_entry; and standardize the form ofr.historyacross tuning strategies, making it a named tuple that always includes the keysmodel,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
Updates requirements for MLJBase, MLJModels and MLJScientificTypes to enable new features and fix some bugs:
x Add
fitted_params_per_foldandreport_per_foldproperties to the object returned byevaluate/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
logpdfforUnivariateFinitedistributions (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
@pipelineor@from_networkmodels). Introduce newreturn!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 argumentweights=...(https://github.com/alan-turing-institute/MLJBase.jl/issues/405)x Add
UnivariateTimeTypeToContinuousmodel for converting assorted time data intoContinuousdata (https://github.com/alan-turing-institute/MLJModels.jl/pull/295)x LDA models from MultivariateStats that take
UnivariateFiniteobjects as a hyper-parameters to take dictionaries instead. Also change some default hyper-parameter values and improve thereport(https://github.com/alan-turing-institute/MLJModels.jl/pull/276)x Improve efficiency of
FillImputermodel (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
Nothingas a native scientific type and declarescitype(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
@pipelinesyntax (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
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)
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
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 KNNRegressorandmach = machine(composite, X, y), then access the fitted parameters of the machine associated withKNNRegressorusingfitted_params(mach).knn_regressor.The
@from_networksyntax 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.,predictandtransform, 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
@pipelinesyntax has been introduced. For example,pipe = @pipeline OneHotEncoder PCA(maxoutdim=3)defines modelpipewith 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, unlessinvert_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
@loadorload.Removes the requirement to specify the
kindof source node, as insource(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
@pipelinesyntax.The specification of
kindwhen 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
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
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.2
MLJ v0.11.2
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
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
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
LightGBMClassifierandLightGBMRegressorx Add new built-in model,
ContinuousEncoder, for transforming all features of a table toContinuousscitype, dropping any features that cannot be so transformedx Add ParallelKMeans model,
KMeans, loaded with@load KMeans pkg=ParallelKMeansx Arrange for the
CVresampling strategyto spread fold "remainders" evenly among folds intrain_test_pairs(::CV, ...)(a small change only noticeable in small datasets)x Restyle
reportandfitted_paramsfor 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
transformon machines withStaticmodels without first callingfit![x] Allow
machineconstructor to work on supervised models that takenothingfor the input featuresX(for models that simply fit a sampler/distribution to the target datay) (#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
[x] Allow MLJ to use StatsBase v0.33 (PR #484 , #481)
[x] Enable use of
RandomSearchtuning 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
[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
(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
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
rngargument 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_scitypetrait (usually taking the valueUnknown). For a list of the common traits, domodels()[1] |> keys |> collect(https://github.com/alan-turing-institute/MLJBase.jl/issues/163).x Add
samplerwrapper for one-dimensional ranges, for random sampling from ranges usingrand(MLJBase #213)[x] Change default value of
num_roundin 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
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
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
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 - 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
Gridtuning strategy no longer has theaccelerationhyperparameter, as computational resources (distributed computing / multithreading) is now declared in theTunedModelconstructor (see below). AGridsearch now generates models for evaluation in a random order unlessshuffle=falseis specified. (To simulate a random search, use a high resolution but use a reduced value ofn.) One can no longer specify a dictionary of resolutions keyed on model hyperparameter name. The specified globalresolutionis now overriden by specifying hyperparameter-specific resolutions in aTunedModel'srangeobject. 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
TunedModelhave changed. Query?TunedModelfor details. What was previously obtained withreport(mach)is now obtained usingreport(mach).plotting. In the case of a grid search, there is alsoreport(mach).history.x Tuning is now conceptualised as an iterative procedure in all cases. In the
TunedModelconstructor, 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 aTunedModeldoes 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 renamedlearning_curveas it is non-mutating. The old name is retained for backwards compatibility. One may no longer specifyn=...to generate multiple learning curves. Rather, for reproducibility and parallizability, one must instead: (i) pass the name of the model RNG hyperparameter field withrng_name=...; and (ii) a list of unique RNG's, one for each curve, as inrngs=[MersenneTwister(1), MersenneTwister(42)](for two curves). Alternatively, RNGs can be automatically generated by specifying an integer, as inrngs=2. Query?learning_curvefor details.x
learning_curvenow has anaccelerationkey-word argument for distributing the generation of multiple learning curves, and sample weights can be passed tolearning _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
scitypeandcoercein the case of (possibly) missing values and on arrays ofAnytype. This should speed up themachineconstructor in some cases. These changes are mildly breaking but won't effect many users. See these releases notes for detailsUpdate to MLJBase 0.10.0:
- Give the
partitionfunction a new keyword argumentstratify=yfor specifying aFinitevectoryon which to base stratified partitioning. Query?partitionfor details (#113) - Add new methods for generating synthetic data sets:
make_blobs,make_moons,make_circles,make_regression(#155) - Improve
showmethod for the results of performance evaluations (callingevaluate!,evaluate) - Add keyword argument
repeats=1toevaluate!/evaluatefor repeated resampling. For example, specifyingresampling=CV(nfolds=3, shuffle=true), repeats=2to generate 6per_foldperformance 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
?rangeand?iteratorfor details. - improve
showmethod forMLJTypeobjects that "show as constructed" (https://github.com/alan-turing-institute/MLJ.jl/issues/351)
- Give the
Update MLJModels to 0.7.0:
- (new model) Add the
AdaBoostStumpClassifierfrom DecisionTree - Arrange for clustering algorithms to predict categorical elements instead of integers (https://github.com/alan-turing-institute/MLJ.jl/issues/418)
- (new model) Add the
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.5.9
[x] Re-export
tablefrom MLJBase (#381)[x] Add
learning_curve(model, args...; kwargs...)which is equivalent tolearning_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.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_networkexported 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_matrixandroc_curve(receiver operator characteristic) methods; methods to list and query available measures,measures(),measures(conditions...)(API same as for querying models withmodelsmethods) (PR MLJBase #88)x Change performance evaluation method
evaluate!(for resampling) to aggregate using measure-specific method (as specified by new measure traitaggregation) 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)
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
unpackin?unpackdoesn'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,modeandmedianforNodes(#288) - @load is too slow (#280)
- Towards 0.5.2 (#273)
- Create/utilize a style guide (#243)
Merged pull requests:
- Patch release 0.5.3 (#332) (tlienart)
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_rowsmethod 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
?Gridfor details.(Enhancement) Allow
selectcols(X, c)to work on nodes in addition to tables/matrices/vectorsX. So, ifXis a node andN=selectnode(X, c), thenN()is the same asselect(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
matchingmethod to streamline model search, without constructingMLJTaskobjects withsupervisedorunsupervised(the existing task constructors are to remain but be ultimately depreciated or replaced) (#236, PR #238) - (Mildly breaking) Change the method name
train_eval_pairsfor custom resampling strategies totrain_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,
KNNClassifierand new improved version ofKNNRegressor. AsKNNRegressoris no longer an MLJ built-in model, code must be explicitly imported with@load KNNRegressorbefore instantiating. Domodels()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:
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
@pipelineallows 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 akindfield, which is either:input,:targetor:other, with:inputthe default value in thesourceconstructor. 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 inXs = source(X)andys = source(y, kind=:target).(Breaking) By virtue of the preceding change, the syntax for exporting a learning network is simplified. Do
?@from_networkfor details. Also, one now usesfitresults(N)instead offit results(N, X, y)andfitresults(N, X)when exporting a learning networkN"by hand"; see the updated manual for details.(Breaking) One must explicitly state if a supervised learning network being exported with
@from_networkis probabilistic by addingis_probablistic=trueto 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
?loadfor details.(Enhancement)
@loadnow returns a mode instance with default hyperparameters (instead of nothing), as intree_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 byinfo). An entryproxyappears in the list exactly whenconditional(proxy) == true. Model query is simplified; for examplemodels() do model model.is_supervised && model.is_pure_julia endfinds 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
compositeis a a learning network exported as a model, andm = machine(composite, args...)thenreport(m)returns the reports for each machine in the learning network, and similarly forfitted_params(m).(Enhancement)
MLJ.table,vcatandhcatnow overloaded forAbstractNode, so that they can immediately be used in defining learning networks. For example, ifX = source(rand(20,3))andy=source(rand(20))thenMLJ.table(X)andvcat(y, y)both make sense and define new nodes.(Enhancement)
pretty(X)prints a pretty version of any tableX, complete with types and scitype annotations. Do?prettyfor options. A wrap ofpretty_tablefromPrettyTables.jl.(Enhancement)
stdis re-exported fromStatistics(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)
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 aResamplingStrategyobject - implementing a new
ResamplingStrategyis 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_networkmacro.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
schemamethod for tables (re-exported from ScientificTypes.jl). Returns a named tuple with keys:names,:types,:scitypesand:nrows.(Breaking) Eliminate
scitypesmethod. The scientific types of a table are returned as part of ScientificTypesschemamethod (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
fitresultthat 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.4
v0.2.4 (2019-06-13)
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.2
v0.2.2 (2019-05-30)
Closed issues:
- specifying new rows in calls to
fit!on a Node not triggering retraining. (#147) - fit! of Node sometimes calls
updateon model when it should callfiton 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