Bases: Orange.classification.Learner
Expands single class classification techniques into multi-target classification techniques by chaining the classification data. A learner is constructed for each of the class variables in a random or given order. The data for each learner are the features extended by all previously classified variables. This chaining passes the class informationd between classifiers and allows class correlations to be taken into account. TODO: cite weka source?
Parameters: |
|
---|---|
Return type: | Orange.multitarget.chain.ClassifierChain or Orange.multitarget.chain.ClassifierChainLearner |
Bases: Orange.classification.Classifier
Uses the classifiers induced by the ClassifierChainLearner. An input instance is classified into the class with the most frequent vote. However, this implementation returns the averaged probabilities from each of the trees if class probability is requested.
It should not be constructed manually.
Parameters: |
|
---|
Bases: Orange.classification.Learner
Expands single class classification techniques into multi-target classification techniques by chaining the classification data. A learner is constructed for each of the class variables in a random or given order. The data for each learner are the features extended by all previously classified variables. This chaining passes the class informationd between classifiers and allows class correlations to be taken into account. TODO: cite weka source?
Parameters: |
|
---|---|
Return type: | Orange.multitarget.chain.EnsembleClassifierChainLearner or Orange.multitarget.chain.EnsembleClassifierChain |
Bases: Orange.classification.Classifier
Uses the classifiers induced by the EnsembleClassifierChainLearner. An input instance is classified into the class with the most frequent vote. However, this implementation returns the averaged probabilities from each of the trees if class probability is requested.
When constructed manually, the following parameters have to be passed:
Parameters: |
---|
import Orange
data = Orange.data.Table('multitarget:bridges.tab')
cl1 = Orange.multitarget.chain.ClassifierChainLearner( \
learner = Orange.classification.majority.MajorityLearner, name="CChain - Maj")
cl2 = Orange.multitarget.chain.ClassifierChainLearner( \
learner = Orange.classification.tree.SimpleTreeLearner, name="CChain - Tree")
cl3 = Orange.multitarget.chain.EnsembleClassifierChainLearner( \
learner = Orange.classification.tree.SimpleTreeLearner, n_chains=50, sample_size=0.25, name="Ensemble CC - Tree")
learners = [cl1,cl2,cl3]
results = Orange.evaluation.testing.cross_validation(learners, data)
print "Classification - bridges.tab"
print "%18s %6s %8s %8s" % ("Learner ", "LogLoss", "Mean Acc", "Glob Acc")
for i in range(len(learners)):
print "%18s %1.4f %1.4f %1.4f" % (learners[i].name,
Orange.multitarget.scoring.mt_average_score(results, Orange.evaluation.scoring.logloss)[i],
Orange.multitarget.scoring.mt_mean_accuracy(results)[i],
Orange.multitarget.scoring.mt_global_accuracy(results)[i])