- dart 3.0 migration (non-breaking changes)
- ml_linalg ^13.11.15 used
- ml_linalg version fixed (13.11.11)
- benchmark info added
- ml_linalg 13.11.1 used
- Documentation:
- Added links to articles to README
- Log Likelihood Cost function:
dtype
passed
- Newton optimizer:
dtype
passed
- Removed
package:ml_linalg/linalg.dart
andpackage:ml_algo/ml_algo.dart
imports
- Code quality:
- Strict options turned on
- Pedantic dependency removed in favour of dart lints package
- e2e tests:
- more stable tests for LinearRegressor
- LogisticRegressor:
- Newton method added
- LinearRegressor:
- Newton method added
- LinearRegressor, LogisticRegressor, SoftmaxRegressor:
- Set
fitIntercept
param totrue
by default
- Set
- README: LogisticRegressor example corrected
LinearRegressor.BGD
constructor added
LinearRegressor.SGD
constructor added
RandomBinaryProjectionSearcher
:- Distance type considered
ml_algo
export file:- Distance type exported
- DType exported
kd_tree
export file:- Distance type exported
- DType exported
- Corrected link to
RandomBinaryProjectionSearcher
class in README.md
RandomBinaryProjectionSearcher
class added
getPimaIndiansDiabetesDataFrame
,getIrisDataFrame
used
- Toy datasets from
ml_dataframe
package used
KDTree
:fromIterable
constructor, default value for splitting strategy changed- Serialization tests added
README
:- Example for KDTree persisting added
KDTree
example added to READMEkd_tree
exported as a separate library
ml_preprocessing
version upgraded to 7.0.2ml_dataframe
version upgraded to 1.0.0
- KnnClassifier:
- Proofreading the documentation
- DecisionTreeClassifier:
- Proofreading the documentation
- CrossValidator:
- Proofreading the documentation
- KDTree:
- Corrected usage example
- README.md:
- Proofreading the texts
- KDTree:
- Added
queryIterable
method
- Added
- KDTree:
- Supported
cosine
,manhattan
andhamming
distance
- Supported
- DecisionTreeClassifier:
- Added Gini index assessor type
- DecisionTreeClassifier:
- TreeNode fields renamed
- Added example of DecisionTreeClassifier usage to
README.md
- DecisionTreeClassifier:
- Fixed greedy splitter in case of a split column consisting of the same values
- DecisionTreeClassifier:
- Added
saveAsSvg
method which returns '.svg' file with a graphical representation of a tree
- Added
- KDTree:
fromIterable
constructor addedsplitStrategy
option added to all constructors
- KDTree:
- KDTree build optimization: split algorithm changed
KDTree
class added to library export file
- Added
KDTree
algorithm
- Add ecosystem notes to
README.md
- Added linear regression examples to
README.md
- LinearRegressor:
- Added
LinearRegressor.SGD
constructor
- Added
- LinearRegressor:
- Added
LinearRegressor.lasso
constructor
- Added
- LinearRegressor:
- Coordinated descent optimizer speed up
README
: Added example of linear regression
- Added closed-form solution for linear regression
- Corrected typos and mistakes in README and documentation
- e2e tests: linear regressor's config improved
- Linear optimization-based algorithms: default parameters organised and extracted to separate files
- Documentation for learning rate strategies added
stepBased
learning rate strategy added
timeBased
andexponential
learning rate strategies added- Dart formatting check added to CI pipeline
README
: learning rate examples
dartfmt
applied to the project files
Retrainable
: returning type was fixed
- README updated according to null-safety changes
- All files from
lib
directory formatted bydartfmt
tool
- Null-safety stable release
README
: important notes on data handling added
LogisticRegressor
,SoftmaxRegressor
: redundant link function implementations removed
DecisionTreeTrainer
: redundant helper for trainer creation removed
xrange
1.0.0 supported
ml_dataframe
0.4.0 supported- README.md: example for flutter developers corrected
- More strict analyser options added
- README.md: example for flutter developers added
- Models retraining functionality added
KnnClassifier
,DecisionTreeClassifier
,LogisticRegressor
,SoftmaxRegressor
,KnnRegressor
,LinearRegressor
- hyperparameters added to the interfaces
DTypeJsonConverter
addedMatrixJsonConverter
addedVectorJsonConverter
addedDistanceTypeJsonConverter
added
KnnClassifier
:- serialization/deserialization functionality added with possibility to save the model into a json file
KnnRegressor
:- serialization/deserialization functionality added with possibility to save the model into a json file
ml_dataframe
: version 0.3.0 supportedREADME.md
: build badge corrected
- Github actions set up
DI logic
:- conditional dependency registering added
- FUNDING.yml created
- Awfully long identifier
SequenceElementsDistributionCalculator
renamed toDistributionCalculator
- README:
- typos corrected
- LogisticRegressor example corrected
- RSS metric added
- Documentation for classification metrics improved
- Documentation for RMSE metric improved
- Documentation for MAPE metric improved
classificationMetrics
constant list addedregressionMetrics
constant list added
- Recall metric added
- MAPE metric: output range squeezed to [0, 1]
- RegressorAssessor: unit tests added
- Breaking changes:
CrossValidator
:targetNames
argument removed
Assessable
,assess
method:targetNames
argument removed
- Precision metric added
- Coordinate descent optimization logic fixed: dtype considered
LinearClassifier
:classNames
property replaced withtargetNames
property inPredictor
injector
lib 1.0.9 supported
pubspec
:injector
dependency corrected
README
:- File path note for flutter developers added
README
:- Kfold constructor renamed to kFold
- brackets removed from LogisticRegressor constructor arguments
- file path note added
ml_dataframe
0.2.0 supported
README
: Examples on prediction and collecting learning data added
SoftmaxRegressor
:Default constructor
:collectLearningData
parameter added
README
: Advanced usage example on Logistic regression added
Model selection
:splitData
helper added
- data splitters renamed and reorganized
- Breaking change:
CrossValidator
:evalute
method's api changed, it returns a Future resolving with scores Vector now instead of a double value
LinearRegressor
:Default constructor
:collectLearningData
parameter added
LogisticRegressor
:Default constructor
:collectLearningData
parameter added
ml_dataframe
dependency updatedxrange
dependency constrain removed
LinkFunction
:Float64InverseLogitLinkFunction
addedFloat64SoftmaxLinkFunction
added
LinearRegressor
: serialization/deserialization functionality added with possibility to save the model into a file as json
SoftmaxRegressor
: serialization/deserialization functionality added with possibility to save the model into a file as json
DecisionTreeClassifier
: documentation added forfromJson
constructor
LogisticRegressor
: serialization/deserialization functionality added with possibility to save the model into a file as json
DecisionTreeClassifier
: serialization/deserialization functionality added with possibility to save the model into a file as json
TreeLeafLabel
: probability validation improvements
DecisionTreeClassifier
: classifier instantiating refactoredTreeSolver
: DI support added
SoftmaxRegressor
: classifier instantiating refactored
LogisticRegressor
: classifier instantiating refactored
KnnClassifierImpl
: unit tests forpredictProbability
method added
KnnClassifier
: classifier instantiating refactored
readme
: KnnRegressor usage example fixed
KnnClassifier
class added
KNN algorithm
: standardization for distance addedKnnRegressor
:- default kernel changed to gaussian
k
parameter is required now
KNN regression
: documentation for kernel function types addedKnnRegressor
: finding weighted average using kernel function fixed
CrossValidator
:onDataSplit
hook added
- Predictor's API:
DataFrame
used instead ofMatrix
DecisionTreeSolver
: data splitting logic fixed
xrange
package version locked
ml_linalg
11.0.0 supportedUnit tests
:iterable2dAlmostEqualTo
anditerableAlmostEqualTo
matchers used fromml_tech
- Decision tree classifier added
ScoreToProbMapperFactory
removedScoreToProbMapperType
enum removedScoreToProbMapper
: the entity renamed toLinkFunction
- Cost function factory removed
- Cost function type removed
- Breaking change: GradientType enum removed
- Breaking change: OptimizerType enum removed
- Breaking change,
Predictor
:fit
method removed, fitting is happening while a model is being created - Breaking change,
Predictor
: interface replaced withAssessable
, redundant properties removed - Breaking change:
LinearClassifier
reorganized - Optimizers now have immutable state
InterceptPreprocessor
replaced with a helper functionaddInterceptIf
- Cross validator refactored
- Data splitters refactored
- Unit tests for cross validator added
- Added immutable state to all the predictor subclasses
- kernels added:
- uniform
- epanechnikov
- cosine
- gaussian
NoNParametricRegressor.nearestNeighbour
: added possibility to specify the kernel function
- test coverage restored
NoNParametricRegressor
class addedKNNRegressor
class addedml_linalg
v9.0.0 supported
ml_linalg
v7.0.0 support
- Data preprocessing: all the entities moved to separate repo - ml_preprocessing
- Data preprocessing: All categorical values are now converted to String type
- Examples for Linear regression and Logistic regression updated (vector's
normalize
method used) CategoricalDataEncoderType
: one-hot encoding documentation corrected
- Softmax regression example added to README
- README corrected
LinearClassifier.logisticRegressor
: numerical stability improvedLinearClassifier.logisticRegressor
:probabilityThreshold
parameter addedDataFrame.fromCsv
: parameterfieldDelimiter
added
DataFrame
:labelName
parameter added
ml_linalg
v6.0.2 supportedClassifier
: type ofweightsByClasses
changed fromMap
toMatrix
SoftmaxRegressor
: more detailed unit tests for softmax regression added- Data preprocessing:
DataFrame
introduced (formerMLData
)
LinearClassifier.softmaxRegressor
implementedMetric
interface refactored (getError
renamed togetScore
)
SoftmaxMapper
added (aka Softmax activation function)
ConvergenceDetector
added (this entity stops the optimizer when it is needed)
- All the exports packed into
ml_algo
entry
- Coefficients in optimizers now are a matrix
- InitialWeightsGenerator instantiating fixed: dtype is passed now
LinkFunction
renamed toScoreToProbMapper
ScoreToProbMapper
accepts vector and returns vector instead of a scalar
- Pedantic package integration added
- Some linter issues fixed
- Coveralls integration added
- dartfm check task added
- Documentation for linear regression corrected
- Documentation for
MLData
corrected
- Documentation for logistic regression corrected
- Tests corrected: removed import
test_api.dart
- Readme corrected
- Library fully refactored:
- add possibility to set certain data type for numeric computations
- all algorithms now are more generic
- a lot of unit tests added
- bug fixes
- Ordinal encoder added
Float32x4CsvMlData
significantly extended
- Real-life example added (black friday dataset)
rows
parameter added toFloat32x4CsvMlData
- Unknown categorical values handling strategy types added
- One hot encoder integrated into CSV ML data
- Performance test for one hot encoder added
- One hot encoder implemented
- enum for categorical data encoding added
- Cross validator factory added
- README updated
- csv-parser added
ml_linalg
removed from export file- README refreshed
- General
datasets
directory created
ml_linal
^4.0.0 supported
- README.md updated
- build_runner dependency updated
dartfmt
tool applied to all necessary files
- Travis configuration file name corrected
- Travis integration added
- Vectorized cost functions applied
ml_linalg
2.0.0 supported
- Matrix-based gradient calculation added for log likelihood cost function
- Matrix-based gradient calculation added for squared cost function
- Description corrected
dartfm
tool applied
- Get rid of MLVector's deprecated methods
- Library public release
ml_linalg
supported
- subVector -> subvector
- Matrices support added
- Examples fixed, dependencies fixed
- Support of updated
linalg
package
- Readme updated, dependencies fixed
- Migration to dart 2.0
- issue solved
- Lasso solution refactored
- Support of linalg package (former simd_vector)
- Intercept term considered (
fitIntercept
andinterceptScale
parameters)
- Logistic regression tests improved
One versus all
refactored, tests for logistic regression added
- One versus all classifier
- Gradient descent regressor type enum added
- Gradient optimizer unit tests
- Get rid of derivative computation
- Get rid of di package usage
- File structure flattened
- Redundant gradient optimizers removed
part ... part of
directives removed
- Coordinate descent optimizer added
- Lasso regressor added
- Gradient calculation changed
- Code was optimized (removed unnecessary)
- Refactoring
- More distinct modularity was added to the library
- Unit tests were fixed
- Tests for gradient optimizers were added
- Gradient calculator was created as a separate entity
- Initial weights generator was created as a separate entity
- Learning rate generator was created as a separate entity
- All implementations were hidden
findMaxima
andfindMinima
methods were added toOptimizer
interface
- File structure reorganized, predictor classes refactored
README.md
updated
- Logistic regression model added (with example)
README.md
updated
simd_vector
dependency url fixed
- Repository dependency corrected (dart_vector -> simd_vector)
- Support for
Float32x4Vector
class was added (fromdart_vector
library) - Type
List
for label (target) list replaced withFloat32List
(inPredictor.train()
andOptimizer.optimize()
)
- class
Vector
and enumNorm
were extracted to separate library (https://github.com/gyrdym/dart_vector.git
)
- Common interface for loss function was added
- Derivative calculation was fixed (common canonical method was used)
- Squared loss function was added as a separate class
README.md
was actualized
- Tests for gradient optimizers were added
- Interfaces (almost for all entities) for DI and IOC mechanism were added
Randomizer
class was added- Removed separate classes for k-fold cross validation and lpo cross validation, now it resides in
CrossValidation
class
- L1 and L2 regularization added
- Script for running all unit tests added
- Vector interface removed
- Regular vector implementation removed
TypedVector
->Vector
- Implicit vectors constructing replaced with explicit
new
-instantiation
- Entity names correction
- K-fold cross validation added (
KFoldCrossValidation
) - Leave P out cross validation added (
LpoCrossValidation
) DataTrainTestSplitter
was removed
copy
,fill
methods were added toVector
- Reflection was removed for all cases (Vector instantiation, Optimizer instantiation)
- Abstract
Vector
-class was added as a base for typed and regular vector classes
- Manhattan norm support was added
README
file was extended and clarified
- Random interval obtaining for the mini-batch gradient descent was fixed
BGDOptimizer
,MBGDOptimizer
andGradientOptimizer
were added
OptimizerInterface
was added- Stochastic gradient descent optimizer was extracted from the linear regressor class
- Line separators changed for all files (CRLF -> LF)
- tests for
sum
,abs
,fromRange
methods of theTypedVector
were added - tests for
DataTrainTestSplitter
was added
- MAPE cost function was added
- SGD Regressor refactored (rmse on training removed, estimator added) + example extended
- Implementation of
-
,*
,/
operators and all vectors methods added to theTypedVector
- Initial version