Orange Forum • View topic - orngCI learner

orngCI learner

A place to ask questions about methods in Orange and how they are used and other general support.

orngCI learner

Postby PhilFuXX » Wed May 31, 2006 12:44

Hi,

almost every learning algorithm can be used thru methods provided by orange or orngXX, e.g.
learner1 = orange.BayesLearner()
learner2 = orngTree.TreeLearner()

and hence, the classifier can be build as follows:

TrainingData = orange.ExampleTable(tab_file_containing_some_data)
classifier1=learner1(TrainingData)
classifier2=learner2(TrainingData)

but it seems to be different with orngCI package:
learner = orngCI.HINT()
class = learner(TrainingData)

will fail and doesn't work at all. Even when I'm using the options described in the documentation I don't get a working classifier:

learner = orngCI.HINT(type="complexity", boundSize=3)
class = learner(TrainingData)

What do I have to do to get a classifier based on CI algorithm? The documentation is a little sparse on that.

Thanks,

-Peter

Postby pepe » Sat Mar 01, 2008 16:24

hi Peter
I have this problem with orngCI.HINT too
did you already fix it?
best regards

Postby Janez » Tue Mar 11, 2008 19:11

How does it fail? On my machine it crashes Python with a general exception.

As far as I recall, Orange's implementation of HINT is overoptimized. It uses a very complicated data structure (a kind of priority queue merged with multiple linked lists - the scariest thing I've ever done), although it is questionable whether we gain any time by using it. As it seems, it crashes in that part of code and ... I'm scared of even trying to reconstruct how it actually works. I'll have to do it eventually, but it the meantime - do you really need HINT? What about the noise resistant version of the algorithm?

Janez

Postby Janez » Tue Mar 11, 2008 20:18

OK, I was referring to the minimal complexity decomposition in previous mail. It's fixed now. But before happily reporting that it now works, I tried some more, discovered that HINT apparently switches to the minimal error decomposition automatically when needed ... which fails at some other place. I'll look into it, too.

This is very old code which has not been maintained for some five years while everything around it was changing, so it's a bit difficult for me to remember what it does and how.

Janez

Postby Janez » Tue Mar 11, 2008 20:45

Sorry for these incremental reports. I promise this is the last one for today. :)

I think it now works. Check out the new sources from the CVS or download the tomorrow's snapshot.

If you used HINT with minimal error decomposition, you may have encountered a different problem. If all attributes are found redundant and are thus removed in the preprocessing step, the learning algorithm will raise an exception saying that it has no (bound) attributes. Was this what happened?

Janez


Return to Questions & Support