Saturday, November 17, 2012

NumericJS Logistic Regression Classifier

The other day I posted about numericjs and provided a simple PCA implementation using it. Today I rewrote my logistic regression classifer using numericjs. Below is the commented sourcecode and demo in jsFiddle.

For the demo, you click on the large square (in the "Result" panel) to add a point. The dropdown box labeled "group" allows you to select the color of point to add. You can change the learning rate (alpha) and the regularization parameter (lambda) to see how it changes the classification.

In case you're using a feed reader and can't see the box below, click here.

Thursday, November 15, 2012

Numeric Javascript

I just recently found this javascript library. So far it's looking pretty good. I've always wanted some sort of Javascript equivalent to NumPy and while this isn't anywhere near that extreme, it does offer some pretty handy features.

Here's a jsFiddle I put together to show it performing a simple implementation of PCA (Principle Component Analysis) on a fictional dataset. The first component should have a slope of approximately 0.357

Here's a quick snippet, the actual PCA function using numericjs...

function pca(X{
    /*
        Return matrix of all principle components as column vectors
    */        
    var X.length;
    var sigma numeric.div(numeric.dot(numeric.transpose(X)X)m);
    return numeric.svd(sigma).U;
}