RapidLib issues
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues
2019-11-29T08:46:33Z
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/125
seriesClassification needs JSON functions
2019-11-29T08:46:33Z
Michael Zbyszyński
seriesClassification needs JSON functions
I never got around to writing the JSON functions for seriesClassification. Training every time isn't really that bad, but it would be nice to have these functions.
I never got around to writing the JSON functions for seriesClassification. Training every time isn't really that bad, but it would be nice to have these functions.
Future API
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/117
Multiple hidden layers not working with one input
2017-12-04T14:49:10Z
Michael Zbyszyński
Multiple hidden layers not working with one input
@jfrin001 reported a reproducible case where single input neural networks with multiple hidden layers don't give very good results.
@jfrin001 reported a reproducible case where single input neural networks with multiple hidden layers don't give very good results.
Future API
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/116
Add Decision trees
2018-01-22T09:44:12Z
Michael Zbyszyński
Add Decision trees
This would be step one for Random Forest.
This would be step one for Random Forest.
Future API
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/115
Implement exceptions for malformed data
2017-11-22T11:29:11Z
Michael Zbyszyński
Implement exceptions for malformed data
Both train() and run() methods could have malformed data as input, if the feature vector sizes aren't consistent.
Train() returns false, and run() returns [0]. These methods should throw legible exceptions that could be caught.
Also, ...
Both train() and run() methods could have malformed data as input, if the feature vector sizes aren't consistent.
Train() returns false, and run() returns [0]. These methods should throw legible exceptions that could be caught.
Also, unit tests should make sure this works.
Future API
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/111
NN: combine inputNeurons[] and hiddenNeurons[]
2017-09-25T11:20:15Z
Michael Zbyszyński
NN: combine inputNeurons[] and hiddenNeurons[]
These two things could be combined into one array, which might make a neater implementation. I don't think it would be noticeably more efficient, though.
These two things could be combined into one array, which might make a neater implementation. I don't think it would be noticeably more efficient, though.
Future API
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/110
Copyright assertions on all files
2017-09-25T12:59:41Z
Michael Zbyszyński
Copyright assertions on all files
All files should have something like this:
```
//
// dtw.h
// RapidLib
//
// Created by mzed on 07/06/2017.
// Copyright © 2017 Goldsmiths. All rights reserved.
//
```
All files should have something like this:
```
//
// dtw.h
// RapidLib
//
// Created by mzed on 07/06/2017.
// Copyright © 2017 Goldsmiths. All rights reserved.
//
```
API demonstrators
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/103
DTW: refactor
2017-09-07T14:42:06Z
Michael Zbyszyński
DTW: refactor
In preparation for FastDTW.
DTW should just take two series as inputs. That is: DTW(series1, series2) with returns a cost. No storage in DTW.
Also, the shorter series should be second:
```
if (tsI.size() < tsJ.size())
return g...
In preparation for FastDTW.
DTW should just take two series as inputs. That is: DTW(series1, series2) with returns a cost. No storage in DTW.
Also, the shorter series should be second:
```
if (tsI.size() < tsJ.size())
return getWarpDistBetween(tsJ, tsI, distFn);
````
API demonstrators
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/102
DTW: match against single class
2017-09-27T11:24:35Z
Michael Zbyszyński
DTW: match against single class
Users might not want to run matches against all classes. Implement the ability to match against a specific label.
Users might not want to run matches against all classes. Implement the ability to match against a specific label.
API demonstrators
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/101
DTW windowed classification
2017-12-08T10:24:37Z
Michael Zbyszyński
DTW windowed classification
DTW should be able to do continuous classification based on a window of recent samples. The window size is reliant on the sizes of the training examples. This issue is blocked by #100
DTW should be able to do continuous classification based on a window of recent samples. The window size is reliant on the sizes of the training examples. This issue is blocked by #100
Future API
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/100
DTW: Implement trainingSet stats
2017-09-26T16:18:39Z
Michael Zbyszyński
DTW: Implement trainingSet stats
To understand "cost" users might need to know:
- maximum (and minimum?) cost between examples in a label.
- max and min cost between different labels.
Implement a function or functions to calculate these.
Also need these that don't requ...
To understand "cost" users might need to know:
- maximum (and minimum?) cost between examples in a label.
- max and min cost between different labels.
Implement a function or functions to calculate these.
Also need these that don't require much calculation:
- max and min length in a label
- max and min length across all examples
make them an automatic part of some class.
API demonstrators
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/94
Implement FastDTW
2017-09-18T13:49:24Z
Michael Zbyszyński
Implement FastDTW
The current DTW in RapidLib is slow. Port FastDTW from Java.
The current DTW in RapidLib is slow. Port FastDTW from Java.
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/86
DTW: group examples into "Gesture types"
2017-08-25T16:16:54Z
Michael Zbyszyński
DTW: group examples into "Gesture types"
Wekinator lets users record multiple examples of a "Gesture Type". The current RapidLib implementation considers each example as a unique type. This matches how DTW works; the algorithm doesn't do any grouping.
Implement Gesture Types s...
Wekinator lets users record multiple examples of a "Gesture Type". The current RapidLib implementation considers each example as a unique type. This matches how DTW works; the algorithm doesn't do any grouping.
Implement Gesture Types so RapidLib is more like Wekinator.
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/85
Downsampling for DTW
2017-10-08T08:03:32Z
Michael Zbyszyński
Downsampling for DTW
The DTW in Wekinator does some downsampling. This would be a nice feature to implement in RapidLib.
The DTW in Wekinator does some downsampling. This would be a nice feature to implement in RapidLib.
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/83
Logistic Regression
2017-07-24T20:16:37Z
Michael Zbyszyński
Logistic Regression
Byron Becker expressed interest in a logistic regression model.
Byron Becker expressed interest in a logistic regression model.
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/82
Expose hidden layers to API
2017-09-01T10:12:54Z
Michael Zbyszyński
Expose hidden layers to API
The neural network algorithm could have more hidden layers, but there's no way to set that right now. The algorithm code hasn't been seriously tested, either.
Add a set() and get() method, and make sure they work.
The neural network algorithm could have more hidden layers, but there's no way to set that right now. The algorithm code hasn't been seriously tested, either.
Add a set() and get() method, and make sure they work.
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/90
RapidLib: Classifiers with string labels
2017-08-30T12:05:37Z
Michael Zbyszyński
RapidLib: Classifiers with string labels
RapidLib classifiers should natively deal with strings as labels, rather than rely on the unordered_map in the facade.
RapidLib classifiers should natively deal with strings as labels, rather than rely on the unordered_map in the facade.
Future API
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/72
Handle versioning
2017-09-20T10:05:07Z
Michael Zbyszyński
Handle versioning
Print version out in JS console.
Define version as a C++ macro.
Print version out in JS console.
Define version as a C++ macro.
API v0.2
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/70
kNN should remember requested k.
2017-09-25T12:59:40Z
Michael Zbyszyński
kNN should remember requested k.
If setK() asks for a k that is greater than the current number of neighbours, then k is set to the number of neighbours.
kNN should remember the number that the user requested so that k can be increased if new neighbours are added.
If setK() asks for a k that is greater than the current number of neighbours, then k is set to the number of neighbours.
kNN should remember the number that the user requested so that k can be increased if new neighbours are added.
API v0.2
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/68
Implement namespace
2017-11-08T16:50:01Z
Michael Zbyszyński
Implement namespace
We should probably have a single level of namespace for our library
rapidmix::
rapidlib::
??
We should probably have a single level of namespace for our library
rapidmix::
rapidlib::
??
API v0.3
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/67
Improve handling of "k"
2017-05-02T14:07:05Z
Michael Zbyszyński
Improve handling of "k"
MZ just added getK() and setK() to the kNN model. This brings up some interesting issues:
1. I can't think of a case where k == 2 is better than k == 1. Disallow it?
1. Ties go to the first class found. Find a better metric? Dista...
MZ just added getK() and setK() to the kNN model. This brings up some interesting issues:
1. I can't think of a case where k == 2 is better than k == 1. Disallow it?
1. Ties go to the first class found. Find a better metric? Distance? Average distance?
1. If setK() asks for a k that is greater than the current number of neighbours, then k is set to the number of neighbours. Maybe kNN should remember the number that the user requested so that k can be increased if new neighbours are added?
1. Using getK() and setK() in a modelSet required casting a baseModel* down the inheritance chain. Is this bad design? How will this work if more parameters are exposed in more models?
This issue should probably be broken up into sub-issues.
Future API
Michael Zbyszyński
Michael Zbyszyński