v0.18.20
MLJBase v0.18.20
- (enhancement) Integrate new outlier detection types added to MLJModelInterface (JuliaAI/MLJ.jl#780, JuliaAI/MLJModelInterface.jl#113) and adapt performance evaluation methods to handle them (#628)
Relating to measures:
- (enhancement) Measures: Add
SphericalScore
andLogScore
(negative ofLogLoss
). - (enhancement) Extend the proper scoring rules
SphericalScore
,LogScore
andBrierScore
to handleContinuous
andCount
data. Supported distributions types fromDistributions
are:Uniform
,Normal
,Exponential
,Logistic
,Chi
,Chisq
,Beta
,Gamma
,Cauchy
,Poisson
,DiscreteUniform
,DiscreteNonParameteric
(#627) - (enhancement) Add
missing
andNaN
support for all measures, excludingAreaUnderCurve
and measures from LossFunctions.jl (which imported library does not support) (#616) - (enhancement) Add
skipinvalid(y)
andskipinvalid(yhat, y)
methods. The first returns an iterator that skipsmissing
andNaN
values - similar toskipmissing
and is performant. The second returns the flattened forms ofyhat
andy
with invalid entries removed "commensurately" from bothyhat
andy
, meaning an element of either argument is skipped even if valid, if the corresponding element of the other argument is invalid (#627). This method is necessarily less efficient and provided for convenience for pre-processing data for the measures which do not support invalid entries (#627, #616) - (enhancement) Allow most measures for
Finite
data to be called with "raw" data, that is, data that is not wrapped asCategoricalArray
. This includesConfusionMatrix
. A warning is issued to indicate order ambiguity, with the usual suggestion to coerce toOrderedFactor
to suppress the warning (#627) - (enhancement) Allow measures to be called on arrays, and not just vectors (#627) but see remaining limitations at #631.
- (API) Make implementing new measures simpler (#627) and less error-prone. See this guide for details.
- (enhancement) Introduce new method
MLJBase.call(measure, args...)
to call a measure without applying dimension or pool checks. - (bug fix) Prevent weights passed to measures from Loss functions.jl from being normalized (#626)
Closed issues:
- Add BrierScore for
Continuous
targets and assorted Distributions (#395) - Add support for missing/NaN values where possible in measures (#616)
- Improve the doc-string for
unpack
(#620) - Skip NaN in aggregation of measures (#622)
- Weights passed to measures from LossFunctions are being normalized (#626)
Merged pull requests:
- Add Continuous and Count versions of Brier score (#623) (@ablaom)
- Skip NaN as well as missing in measure aggregation (#624) (@ablaom)
- Add
Infinite
versions of the proper scoring rules spherical, log (#625) (@ablaom) - Big measures cleanup (#627) (@ablaom)
- Outlier Detection Integration (#628) (@davnn)
- For a 0.18.20 release (#632) (@ablaom)
- Last minute bump of Distributions compat (#633) (@ablaom)