Multi-target prediction (multitarget)¶
Multi-target prediction tries to achieve better prediction accuracy or speed through prediction of multiple dependent variables at once. It works on multi-target data, which is also supported by Orange’s tab file format using multiclass directive.
For evaluation of multi-target methods, see the corresponding section in Orange.evaluation.scoring.
Wrapper for constructing multi-target learners¶
This module also contains a wrapper, an auxilary learner, that can be used to construct simple multi-target learners from standard learners designed for data with a single class. The wrapper uses the specified base learner to construct independent models for each class.
- class Orange.multitarget.MultitargetLearner(learner, **kwargs)¶
Bases: Orange.classification.Learner
Wrapper for multitarget problems that constructs independent models of a base learner for each class variable.
- learner¶
The base learner used to learn models for each class.
- __call__(data, weight=0)¶
Learn independent models of the base learner for each class.
Parameters: - data (Orange.data.Table) – Multitarget data instances (with more than 1 class).
- weight (int) – Id of meta attribute with weights of instances
Return type:
- __init__(learner, **kwargs)¶
Parameters: learner – Base learner used to construct independent models for each class.
- class Orange.multitarget.MultitargetClassifier(classifiers, domains)¶
Bases: Orange.classification.Classifier
Multitarget classifier that returns a list of predictions from each of the independent base classifiers.
- __call__(instance, return_type=0)¶
Parameters: - instance (Orange.data.Instance) – Instance to be classified.
- return_type – One of Orange.classification.Classifier.GetValue, Orange.classification.Classifier.GetProbabilities or Orange.classification.Classifier.GetBoth
Examples¶
The following example uses a simple multi-target data set (generated with generate_multitarget.py) to show some basic functionalities (part of multitarget.py).
import Orange
data = Orange.data.Table('multitarget-synthetic')
print 'Features:', data.domain.features
print 'Classes:', data.domain.class_vars
print 'First instance:', data[0]
print 'Actual classes:', data[0].get_classes()
Multi-target learners can build prediction models (classifiers) which then predict (multiple) class values for a new instance (continuation of multitarget.py):
majority = Orange.classification.majority.MajorityLearner()
mt_majority = Orange.multitarget.MultitargetLearner(majority)
c_majority = mt_majority(data)
print 'Majority predictions:\n', c_majority(data[0])
pls = Orange.multitarget.pls.PLSRegressionLearner()
c_pls = pls(data)
print 'PLS predictions:\n', c_pls(data[0])
mt_tree = Orange.multitarget.tree.MultiTreeLearner(max_depth=3)
c_tree = mt_tree(data)
print 'Multi-target Tree predictions:\n', c_tree(data[0])
