Function Design: More 3-Output Classifier Functions

Posted
Comments None

I promised you more 3-output classifier functions like the BUY-SELL-WAIT function of the previous post. Well, designing 3-output classifier functions that worked well was not very hard and I ended up choosing two more to add to the built-in math functions of GeneXproTools.

The criteria for their choice included principles such as simplicity, symmetry, whether or not I could find a neutral gene for them and, last but not least, how they performed on the Iris dataset both as normal functions and linking functions.

Here's the C++ code for the new CL3B and CL3C functions:

CL3B Function:

    if (arg[0] >= 1.0 && arg[1] >= 1.0)
        output = 1.0;
    else
        if (arg[0] <= -1.0 && arg[1] <= -1.0)
            output = -1.0;
        else output = 0.0;
    return output;

CL3C Function:

    if (arg[0] > 0.0 && arg[1] > 0.0)
        output = 1.0;
    else
        if (arg[0] < 0.0 && arg[1] < 0.0)
            output = -1.0;
        else output = 0.0;
    return output;

And by the way, do you have a favorite 3-output classifier function that you'd like to see implemented in GeneXproTools? If you do, now is the time to tell us about it if you want to see it in the next mini-release.

As I said earlier, coming up with good 3-output classifier functions was relatively easy and I thought it would be a piece of cake to design more complex ones with 4-6 outputs. But I was totally wrong and it required a flash of inspiration to save the day. But I'll tell that story in the next post.

Author

Comments

There are currently no comments on this article.

Comment

Enter your comment below. Fields marked * are required. You must preview your comment first before finally posting.





← Older Newer →