Skip to content

v0.4.0

Compare
Choose a tag to compare
@github-actions github-actions released this 04 Mar 17:49
· 409 commits to master since this release

BetaML v0.4.0

Diff since v0.2.2

News in v0.4 compared to 0.3:

  • Decision Trees / Random Forests (BetaML.Trees)

    • Added support for fully categorical features (i.e. non even sortable ones) to trees models. All Trees models accept now almost any kind of possible type as feature: continuous, categorical, ordinal, missing data....
    • Added oobEstimation to Random Trees and support for trees weights on Random Forests models
  • Perceptron-like models (BetaML.Perceptron)

    • perceptron, kernelPerceptron and pegasos can now perfom multiclass classification and report their otputs as "probabilities" (or better, "normalised scores") for each class. Use their [name]Binary version for binary classification on {-1,+1} labels, and/or mode(y) to retrieve a single class prediction per each record.
  • Utilitis (BetaML.Utils)

    • Added issortable(array) to check if an array is sortable, i.e. has methos issort defined"""
    • Added partition() to partition (by rows) one or more matrices according to the predetermined shares, e.g. ((xtrain,xtest),(ytrain,ytest)) = partition([x,y],[0.7,0.3])
    • Added colsWithMissings to check which columns in a matrix have indeed missing values
    • Expanded error() and accuracy() to work with any T categorical value, not just Int64
  • Clustering (Beta.Clustering)

    • Renamed the em algorithm to gmm
  • MLJ API

    • Experimental initial integration with the MLJ API. For the time being the following models have been made available to the MLJ framework : PerceptronClassifier, KernelPerceptronClassifier, PegasosClassifier, DecisionTreeClassifier, DecisionTreeRegressor, RandomForestClassifier, RandomForestRegressor.
  • Other

    • Moved Continuous Integration to GitHub actions
    • Rename all rShuffle and sequential parameters in the various algorithms to shuffle
    • New package dependencies: CategoricalArrays and MLJModelInterface
    • Several bugfixes, optimisations and updated dependencies (see the commit log for details)
    • Updated documentation
    • Added option to run partial testing, eg: `using Pkg; Pkg.test("BetaML", test_args=["Trees","Clustering","all"])

Closed issues:

  • FYI: NNlib.jl; depend on it? (#11)
  • Random Forest does not appear to work (#12)

Merged pull requests:

  • CompatHelper: bump compat for "Distributions" to "0.24" (#13) (@github-actions[bot])
  • CompatHelper: bump compat for "Zygote" to "0.6" (#14) (@github-actions[bot])
  • CompatHelper: bump compat for "Reexport" to "1.0" (#15) (@github-actions[bot])
  • CompatHelper: add new compat entry for "CategoricalArrays" at version "0.9" (#16) (@github-actions[bot])
  • CompatHelper: bump compat for "PDMats" to "0.11" (#17) (@github-actions[bot])