MQL5: code a class (clustering algorithms)

Libraries

Specification

Relatively simple job.

 

Develop a class that is to be used as part of a program (to be an .mqh file).

 

Inputs:

-  array of doubles (quotes, but preprocessed/transformed somewhere else)

-  number of clusters (integer)

-  clustering method to be used (default is fuzzy c-means, for now, only fuzzy c-means will be defined).

-  termination criterion (double, default is 0.001)

-  fuzziness coefficient (m, in the linked text below, double, default is 2) 

 

When an array of quotes is sent in, data from the cluster will be mono-dimensional. Clustering is then done as explained on http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/cmeans.html. Clusters are numbered 1 through [number of clusters]. It is then determined to which cluster each of the data points of the array belongs (in terms of having the highest membership degree to that particular cluster).

The class an object of the class eventually returns an array of clusters and degrees of membership to that particular cluster where each index integer corresponds to the index integer in the array that was originally passed to the object. 

 

Example: a dataset of 500 points is passed in, and 17 clusters are to be formed. The returned array could look like:

[i] 0 1 2 3 4 ... 499 

[cluster_identifier] 17 17 16 17 15 ... 2

[degree_of_membership]  0.88 0.99 0.95 0.65 0.40 ... 0.77

 

There are plenty of examples (I haven't checked them)

Python: http://code.google.com/p/peach/source/browse/doc/build/html/_sources/tutorial/fuzzy-c-means.txt?r=217064b86518b8aadc53324cbf161ec7f007b710&spec=svn688115fdf859969dde498c1e994369b766d4f598

C++: http://ltilib.cvs.sourceforge.net/viewvc/ltilib/ltilib/src/classifiers/ltiFuzzyCMeans.h?revision=1.6&view=markup

Maybe some of that code could be used.

 

I plan to heavily expand upon this code in the near future so I'm looking for a suitable, reliable programmer with whom I can work with for a somewhat longer time, who can provide me with some motivation or proof of affinity with this subject. 

 

 

 

Responded

1
Developer 1
Rating
(59)
Projects
182
55%
Arbitration
31
45% / 16%
Overdue
103
57%
Free

Project information

Budget