Releases: JuliaAI/MLJBase.jl
v0.7.1
v0.7.0
v0.6.0
v0.5.0
v0.5.0
-
Bump ScientificTypes requirement to v0.2.0
-
(Enhancement) The performance measures API (built-in measures +
adaptor for external measures) from MLJ has been migrated to MLJBase.
MLJ. -
(Breaking)
info
, which returns a dictionary (needed for TOML
serialization) is renamed toinfo_dic
. In this way "info" is
reserved for a method in MLJModels/MLJ that returns a
more-convenient named-tuple -
(Breaking) The
is_probabilistic
model trait is replaced with
prediction_type
, which can have the values:deterministic
,
:probabilistic
or:interval
, to allow for models predicting real
intervals, and for consistency with measures API. -
(Bug fix, mildly breaking) The
package_license
model trait is now included in
info_dict
in the case of unsupervisd models. -
(Enhancement, mildly breaking) Add new model traits
hyperparameters
,
hyperparameter_types
,docstring
, andimplemented_operations
(fit
,predict
,inverse_transform
, etc)
(#36,
#37,
#38) -
(Enhancement) The
MLJBase.table
andMLJBase.matrix
operations
are now direct wraps of the correspondingTables.jl
operations for
improved performance. In particular
MLJBase.matrix(MLJBase.table(A))
is essentially a non-operation,
and one can passMLJBase.matrix
the keyword argument
transpose=...
. -
(Breaking) The built-in dataset methods
load_iris
,load_boston
,
load_ames
,load_reduced_ames
,load_crabs
return a raw
DataFrame
, instead of anMLJTask
object, and continue to require
import CSV
to become available. However, macro versions
@load_iris
, etc, are always available, automatically triggering
import CSV
; these macros return a tuple(X, y)
of input
DataFrame
and target vectory
, with scitypes appropriately
coerced. (MLJ
#224) -
(Enhancement)
selectrows
now works for matrices. Needed to allow
matrices as "node type" in MLJ learning networks; see MLJ
#209. -
(Bug) Fix problem with
==
forMLJType
objects
(#35) -
(Breaking) Update requirement on ScientficTypes.jl to v0.2.0 to
mitigate bug with coercion of column scitypes for tables that are
also AbstractVectors, and to makecoerce
more convenient. -
(Enhancement) Add new method
unpack
for splitting tables, as iny, X = unpack(df,==(:target),!=(:dummy))
. See doc-string for details. -
(Bug fix) Remove type piracy in get/setproperty! (#30)
v0.4.0
v0.4.0 (2019-08-19)
Closed issues:
- Model interface defined? (#26)
- Register MLJBase 0.3.0 (#25)
- Default schema (#23)
- Implement the MLJ model API without needing to depend on external dependencies such as CSV.jl, CategoricalArrays.jl, etc. (#19)
- Register v0.2.6 (#18)
Merged pull requests:
Replace src/scitypes.jl with ScientificTypes.jl package (#28) (ablaom)
The first three changes below resolve MLJ issue #176
-
(breaking for model implementations) Replace the model trait
input_scitype_union
withinput_scitype
. It's value is now some scitype defined by the new ScientificTypes package, egTable(Continuous)
(instead ofContinuous
) so that non-tabular data can be supported. See ScientificTypes documentation for more on the Table scientific type. -
(breaking for model implementations) Replace the model trait
target_scitype_union
withscitype_union
with similar remarks applying. -
(breaking for model implementations) Eliminate
target_is_multivariate
andinput_is_multivariate
traits as this information is now implicit in value of above revamped traits -
(breaking) Eliminate
scitypes
method. The scientific types of a table are returned as part of ScientificTypesschema
method, which is re-exported by MLJBase. (MLJBase.schema
used to coincide withTables.schema
.) -
add
package_license_trait
(fallback value is "unknown") -
add
supports_weights
trait for measures and models -
Efficiency and other improvements to UnivariateFinite distribution (resolves #22), including implementation of
Distributions.support
. This is different fromclasses
which returns all categorial values for the distribution, not just those with non-zero probability. This is breaking becauseclasses
used to return whatsupport
does now. -
Address DataFrames depreciation warning due to column access change in its API
-
(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()
. Addresses #19
v0.3.0
v0.3.0 (2019-07-19)
Merged pull requests:
v0.2.6
v0.2.6 (2019-07-02)
Closed issues:
Merged pull requests:
- Add rng argument to shuffle (#17) (ayush-1506)