-
-
Notifications
You must be signed in to change notification settings - Fork 205
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No-Arg Constructors? #13
Comments
Hah, not bad at all! Thats some nifty code actually!
A Decision Tree is the quintessential "weak" classifier. I would say a tree with a max depth of 6 is a good general purpose weak learner.
Only classes extending the SupportVectorLearner class use a cache.
I'm not sure I understand what you are asking here. Mind rephrasing? EDIT: If you have the time, it would be cool to see a plot on the difference in error rate between default parameters and the results of autoAddParamters w/ RandomSearch on a couple datasets. |
Errr... I'm not entirely sure. I got some that error with |
re: autoAddParamters: I'm not getting the results I think I should be getting. Why would some be negative? diabetes.svm:
|
But overall - my original request for "more classifiers with a sane no-args constructor please!" like including your advice for "a DecisionTree with depth 6 isn't by any means optimal - but it isn't crazy" in all the Boosting constructors. |
The diabetes dataset is pretty hard and not a lot of data, your probably see bigger differences on larger datasets. MNIST could be a good benchmark Some of those, like Rocchio, don't have any "easy" parameters set up yet - so you wouldn't expect to see a change. That's why the method returns the number of parameters added. Other negatives could be that you are just at the best accuracy and the different scores are just random chance - so not really meaningful. I'll reply more when I get home Sent from my iPhone
|
I understand your problem now. Note, that NumericalToHistogram is currently a little brain dead. There are 2 better ways of doing it that I've been meaning to implement but never got around to because I haven't. |
I'm getting by with the following, could easily do the same with others. If I knew which. Should the others implement BinaryScoreClassifier?
|
Hmm, so some things like LogisticRegression I didn't have implement BinaryScoreClassifier because they already produce calibrated probabilities, and the class was introduced so that methods that didn't have probabilities could be calibrated. I'm not sure it would make sense to have every binary classifier implement that interface. I suppose the 3 ways to add such a marker would be adding a new method to the Classifier interface, creating a new "marker" interface with no methods, or creating an annotation. I'll think about it. |
I did a bad thing :) and used reflection to try to instantiate, train, and test every classifier you got, using brain-dead no-arg or simple arg constructors. With autoAddParameters, cause why not.
https://gist.github.com/salamanders/8e7054f62b53eb772895
It exploded all over the place, of course. Which is why I'm so interested in as many classifiers as possible having a best-practice default.
On the plus side: when it works, it creates some really fun results that I don't think are nearly as easy to produce with competing libraries!
The text was updated successfully, but these errors were encountered: