|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.debellor.core.Cell org.debellor.weka.WekaClassifier
public class WekaClassifier
Debellor wrapper for Weka classifiers
- subclasses of weka.classifiers.Classifier
.
Weka class implementing the classifier is identified by its name
given in long (with package specification) or short form.
This name must exactly match (including case)
the corresponding Weka class name.
Available names can be found by running Weka GUI (Explorer or Experimenter)
and opening the selection list of classifiers.
Alternatively, you can browse Weka code
(subpackages of weka.classifiers
package).
Parameters (or options in Weka's terminology)
can be passed to Weka classifier in a standard
Debellor's way, by calling Cell.set(java.lang.String, java.lang.String)
or Cell.setParameters(org.debellor.core.Parameters)
.
Parameters should have names of corresponding Weka options,
exactly in the same form as is printed in Weka GUI
in the dialog for setting classifier options.
For example, the "J48" classifier, which implements C4.5 decision tree, has options "binarySplits", "confidenceFactor", "debug", ... You can set their values in the following way:
Cell learner = new WekaClassifier("J48"); learner.set("binarySplits", "true"); learner.set("confidenceFactor", "0.45");If you don't specify some option, its default value will be used.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.debellor.core.Cell |
---|
Cell.CellMethod, Cell.State, Cell.Stream |
Field Summary | |
---|---|
protected Cell.Stream |
input
|
Fields inherited from class org.debellor.core.Cell |
---|
parameters, random |
Constructor Summary | |
---|---|
WekaClassifier(java.lang.Class<? extends weka.classifiers.Classifier> learnerClass)
|
|
WekaClassifier(java.lang.String className)
|
Method Summary | |
---|---|
protected void |
onClose()
Called by Cell.Stream.close() . |
protected void |
onErase()
Called by Cell.erase() . |
protected void |
onLearn()
Learning procedure of the cell. |
protected Sample |
onNext()
Called by Cell.Stream.next() . |
protected Sample.SampleType |
onOpen()
Called by Cell.open() . |
java.lang.String |
toString()
|
Methods inherited from class org.debellor.core.Cell |
---|
close, erase, getAvailableParams, getParameters, learn, newThread, newThread, next, open, openInputStream, set, set, set, set, setAvailableParams, setParameters, setRandomSeed, setSource, state |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected Cell.Stream input
Constructor Detail |
---|
public WekaClassifier(java.lang.Class<? extends weka.classifiers.Classifier> learnerClass) throws java.lang.Exception
java.lang.Exception
public WekaClassifier(java.lang.String className) throws java.lang.Exception
className
- Name of Weka class implementing the classifier algorithm,
given in long (with package specification) or short form.
java.lang.Exception
Method Detail |
---|
protected void onLearn() throws java.lang.Exception
Cell
Cell.learn()
.
Must be overridden in all subclasses that implement trainable cells.
If your cell is not trainable, you must provide this information
to the Cell
base class by calling Cell.Cell(boolean)
instead of Cell.Cell()
in your constructor.
Overriders may safely assume that the cell is in Cell.State.EMPTY
state
when onLearn
is called - this is guaranteed by
implementation of learn()
.
onLearn
in class Cell
java.lang.Exception
protected void onErase() throws DebellorException
Cell
Cell.erase()
. Performs the actual erasure of cell content,
while erase
checks only against access violation and handles exceptions.
Must be overridden in subclasses if erasure is to be used.
Overriders may assume that the cell is in Cell.State.CLOSED
state.
onErase
in class Cell
DebellorException
protected Sample.SampleType onOpen() throws java.lang.Exception
Cell
Cell.open()
. Performs the actual opening of
communication session,
while open
checks only against access violation and handles exceptions.
Must be overridden in subclasses if open
is to be used.
Overriders may assume that the cell is in Cell.State.CLOSED
state.
onOpen
in class Cell
java.lang.Exception
protected Sample onNext() throws java.lang.Exception
Cell
Cell.Stream.next()
. Performs the actual generation of the next output sample,
while Stream.next()
checks only against access violation and handles exceptions.
Must be overridden in the subclass if next
is to be used, i.e.
if the subclass should generate some output data.
Overriders may assume that the cell is in Cell.State.OPEN
state.
onNext
in class Cell
java.lang.Exception
protected void onClose() throws java.lang.Exception
Cell
Cell.Stream.close()
. Performs the actual closing of
communication session,
while close
checks only against access violation and handles exceptions.
Must be overridden in subclasses if close
is to be used.
Usually the overrider will use onClose to release resources,
to let them be garbage-collected.
Overriders may assume that the cell is in Cell.State.OPEN
state.
onClose
in class Cell
java.lang.Exception
public java.lang.String toString()
toString
in class Cell
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |