.. automodule:: Orange.evaluation.reliability
.. index:: Reliability Estimation
.. index::
single: reliability; Reliability Estimation for Regression
##########################################################
Reliability estimation (``Orange.evaluation.reliability``)
##########################################################
********************************************************
Reliability Estimation for Regression and Classification
********************************************************
Reliability assessment aims to predict reliabilities of individual
predictions. Most of the implemented algorithms for regression are described in
[Bosnic2008]_; the algorithms for classification are described in [Pevec2011]_.
We can use reliability estimation with any prediction method. The following example:
* Constructs reliability estimators (implemented in this module),
* The :obj:`Learner` wrapper combines a a prediction method (learner), here a :obj:`~Orange.classification.knn.kNNLearner`, with reliability estimators.
* Obtains prediction probabilities, which have an additional attribute,
:obj:`reliability_estimate`,
that contains a list of :class:`Orange.evaluation.reliability.Estimate`.
.. literalinclude:: code/reliability-basic.py
:lines: 7-
The next example prints reliability estimates
for first 10 instances (with cross-validation):
.. literalinclude:: code/reliability-run.py
:lines: 7-
Reliability estimation wrappers
===============================
.. autoclass:: Learner
:members: __call__
.. autoclass:: Classifier
:members: __call__
Reliability Methods
===================
All measures except :math:`O_{ref}` work with regression. Classification is
supported by BAGV, LCV, CNK and DENS, :math:`O_{ref}`.
Sensitivity Analysis (SAvar and SAbias)
---------------------------------------
.. autoclass:: SensitivityAnalysis
Variance of bagged models (BAGV)
--------------------------------
.. autoclass:: BaggingVariance
Local cross validation reliability estimate (LCV)
-------------------------------------------------
.. autoclass:: LocalCrossValidation
Local modeling of prediction error (CNK)
----------------------------------------
.. autoclass:: CNeighbours
Bagging variance c-neighbours (BVCK)
------------------------------------
.. autoclass:: BaggingVarianceCNeighbours(bagv=BaggingVariance(), cnk=CNeighbours())
Mahalanobis distance
--------------------
.. autoclass:: Mahalanobis
Mahalanobis to center
---------------------
.. autoclass:: MahalanobisToCenter
Density estimation using Parzen window (DENS)
---------------------------------------------
.. autoclass:: ParzenWindowDensityBased
Internal cross validation (ICV)
-------------------------------
.. autoclass:: ICV
Stacked generalization (Stacking)
---------------------------------
.. autoclass:: Stacking
Reference Estimate for Classification (:math:`O_{ref}`)
-------------------------------------------------------
.. autoclass:: ReferenceExpectedError
Reliability estimation results
==============================
.. data:: SIGNED
.. data:: ABSOLUTE
These constants distinguish signed and
absolute reliability estimation measures.
.. data:: METHOD_NAME
A dictionary that that maps reliability estimation
method IDs (integers) to method names (strings).
.. autoclass:: Estimate
:members:
:show-inheritance:
Reliability estimation scoring
==============================
.. autofunction:: get_pearson_r
.. autofunction:: get_pearson_r_by_iterations
.. autofunction:: get_spearman_r
Example
=======
The following script prints Pearson's correlation coefficient (r) between reliability
estimates and actual prediction errors, and a corresponding p-value, for
default reliability estimation measures.
.. literalinclude:: code/reliability-long.py
:lines: 7-22
Results::
Estimate r p
SAvar absolute -0.077 0.454
SAbias signed -0.165 0.105
SAbias absolute 0.095 0.352
LCV absolute 0.069 0.504
BVCK absolute 0.060 0.562
BAGV absolute 0.078 0.448
CNK signed 0.233 0.021
CNK absolute 0.058 0.574
Mahalanobis absolute 0.091 0.375
Mahalanobis to center 0.096 0.349
References
==========
.. [Bosnic2007] Bosnić, Z., Kononenko, I. (2007) `Estimation of individual prediction reliability using local sensitivity analysis. `_ *Applied Intelligence* 29(3), pp. 187-203.
.. [Bosnic2008] Bosnić, Z., Kononenko, I. (2008) `Comparison of approaches for estimating reliability of individual regression predictions. `_ *Data & Knowledge Engineering* 67(3), pp. 504-516.
.. [Bosnic2010] Bosnić, Z., Kononenko, I. (2010) `Automatic selection of reliability estimates for individual regression predictions. `_ *The Knowledge Engineering Review* 25(1), pp. 27-47.
.. [Pevec2011] Pevec, D., Štrumbelj, E., Kononenko, I. (2011) `Evaluating Reliability of Single Classifications of Neural Networks. `_ *Adaptive and Natural Computing Algorithms*, 2011, pp. 22-30.
.. [Wolpert1992] Wolpert, David H. (1992) `Stacked generalization.` *Neural Networks*, Vol. 5, 1992, pp. 241-259.
.. [Dzeroski2004] Dzeroski, S. and Zenko, B. (2004) `Is combining classifiers with stacking better than selecting the best one?` *Machine Learning*, Vol. 54, 2004, pp. 255-273.