clj-ml/HISTORY.md
2013-08-07 10:39:49 -04:00

132 lines
3.8 KiB
Markdown

# clj-ml History
## v0.4.0 - 2013-08-07
Supported algorithms:
* Filters
* Discretization (supervised, unsupervised, PKI)
* Nominal to binary (supervised, unsupervised)
* Numeric to nominal
* String to word vector
* Attribute manipulation (reorder, add, remove range, remove percentage, etc.)
* Resample (supervised, unsupervised)
* Replace missing values with mean (numeric attributes) or mode (nominal attributes)
* Classifiers
* k-Nearest neighbor
* Decision trees: C4.5/J4.8, Boosted stump, Random forest, Rotation forest, M5P
* Naive Bayes
* Multilayer perceptrons
* Support vector machines (grid-based training), SMO, Spegasos
* Regression
* Linear
* Logistic
* Pace
* Additive gradient boosting
* Clusterers
* k-Means
* Cobweb
* Expectation-maximization
# Older clj-ml History
## v0.2.5 - 2013-01-04
* Upgraaded to clojure 1.4 and lein2.
## v0.2.4 - 2012-07-09
* More Maven appeasement....
## v0.2.3 - 2012-07-06
* Use new RELEASE version of Incanter now that its available.
## v0.2.2 - 2012-03-27
* Maven repo changes.
## v0.2.1 - 2012-03-26
* Weight information of an instance is attached as metadata when converting to a map.
## v0.2.0 - 2012-02-06
* Upgraded to clojure 1.3.
## v0.1.5 - 2012-01-23
* MongoDB support was removed (the original author has never
communicated with me and I have no intention on maintaining that
functionality)
### New Features
* adds attribute-value-fn helper fn
### Bug Fixes
* fixes bug in add-attribute filter, name can now be specified.
## v0.1.4 - 2011-12-14
### New Features
* new filter wrappers: remove-range, remove-percentage
* new helpers: split-dataset, do-split-dataset, take-dataset,
randomize-dataset!, randomize-dataset, map-fast-vec
## v0.1.3 - 2011-10-07
### New Features
* added new attribute selection namespace
## v0.1.2 - 2011-06-14
### New Features
* added `dataset-weights` function
### Bug Fixes
* Does not create new `ClojureInstances` with `dataset-seq`, just uses weka's built in enumerator.
## v0.1.1 - 2011-06-14
### New Features
* added FastRandomForests which are more space and time efficient that Weka's default implementation.
### Bug Fixes
* More typehinting for filter creation.
## v0.1.0 - 2011-04-11
### New Features
* New filter wrappers added: `RemoveUseless` as `:remove-useless`, `Add` as `:add-attribute`
* New classifier wrappers added: `PaceRegression`, `RandomForest`, M5P Trees and boosted stumps (`LogitBoost`), `AdditiveRegression`, Gradient Boosted Decision Trees, `RotationForest`, `SPegasos`
* Increased the number of options that can be specified for classifiers.
* Adds `:clj-streamable` and `:clj-batch` filters which allow for custom
functions to be provided for filtering the dataset.
* More idiomatic way and using/applying filters that allows threading.
* Attribute names can now be specified in the filters and other accessor functions instead of requiring the columns index.
* New utility functions: `into-fast-vec, dataset-replace-attribute, dataset-class-values, dataset-nominal?, make-apply-filters, classifer-copy-and-train, keyword-name, headers-only, dataset-class-name, attribute-labels-as-strings, dataset-name`
* Speed improvement in `dataset-as-maps`
### Bug Fixes
* `is-dataset?` reports falses correctly now.
* A large ammount of type hinting was added to many areas where it was slowing down real use-cases.
* Loading and saving instances functions now work with streams (not just files or file names).
* `nil` values are allowed in datasets (represented as `NaN`s in weka)
## v0.0.4 - 2010-10-28
### New Features
* Upgraded to Clojure 1.2. (Ben Mabey)
* Upgraded deps and swithced to modular Incanter dependencies. (Ben Mabey)
## v0.0.3 - 2010-02-28
* Initial release by Antonio Garrote.