38 lines
1.4 KiB
ReStructuredText
38 lines
1.4 KiB
ReStructuredText
.. _isotonic:
|
|
|
|
===================
|
|
Isotonic regression
|
|
===================
|
|
|
|
.. currentmodule:: sklearn.isotonic
|
|
|
|
The class :class:`IsotonicRegression` fits a non-decreasing real function to
|
|
1-dimensional data. It solves the following problem:
|
|
|
|
.. math::
|
|
\min \sum_i w_i (y_i - \hat{y}_i)^2
|
|
|
|
subject to :math:`\hat{y}_i \le \hat{y}_j` whenever :math:`X_i \le X_j`,
|
|
where the weights :math:`w_i` are strictly positive, and both `X` and `y` are
|
|
arbitrary real quantities.
|
|
|
|
The `increasing` parameter changes the constraint to
|
|
:math:`\hat{y}_i \ge \hat{y}_j` whenever :math:`X_i \le X_j`. Setting it to
|
|
'auto' will automatically choose the constraint based on `Spearman's rank
|
|
correlation coefficient
|
|
<https://en.wikipedia.org/wiki/Spearman%27s_rank_correlation_coefficient>`_.
|
|
|
|
:class:`IsotonicRegression` produces a series of predictions
|
|
:math:`\hat{y}_i` for the training data which are the closest to the targets
|
|
:math:`y` in terms of mean squared error. These predictions are interpolated
|
|
for predicting to unseen data. The predictions of :class:`IsotonicRegression`
|
|
thus form a function that is piecewise linear:
|
|
|
|
.. figure:: ../auto_examples/miscellaneous/images/sphx_glr_plot_isotonic_regression_001.png
|
|
:target: ../auto_examples/miscellaneous/plot_isotonic_regression.html
|
|
:align: center
|
|
|
|
.. rubric:: Examples
|
|
|
|
* :ref:`sphx_glr_auto_examples_miscellaneous_plot_isotonic_regression.py`
|