IsotonicRegression#

class sklearn.isotonic.IsotonicRegression(*, y_min=None, y_max=None, increasing=True, out_of_bounds='nan')[源代码]#

等张回归模型。

阅读更多的 User Guide .

Added in version 0.13.

参数:
y_minfloat,默认=无

最低预测值的下限(最小值可能仍然更高)。如果未设置,默认为-inf。

y_maxfloat,默认=无

最高预测值的上限(最大值可能仍然更低)。如果未设置,默认为+inf。

increasingbool或'auto',默认值=True

确定预测是否应限制为增加或减少 X .“Auto”将根据Spearman相关性估计的符号来决定。

out_of_bounds' nan ',' clip ',',' raise ',默认=' nan '

如何处理 X 在预测期间处理训练域之外的值。

  • “南”,预测将是NaN。

  • “剪辑”,预测将被设置为与最近的列车间隔终点对应的值。

  • “提高”,a ValueError 被提出。

属性:
X_min_浮子

输入数组的最小值 X_ 对于左飞。

X_max_浮子

输入数组的最大值 X_ 用于右转。

X_thresholds_形状的nd数组(n_thields,)

Unique ascending X values used to interpolate the y = f(X) monotonic function.

Added in version 0.24.

y_thresholds_形状的nd数组(n_thields,)

消除重复 y 适合内插y = f(X)单调函数的值。

Added in version 0.24.

f_功能

覆盖输入域的逐步内插函数 X .

increasing_bool

推断价值 increasing .

参见

sklearn.linear_model.LinearRegression

普通最小平方线性回归。

sklearn.ensemble.HistGradientBoostingRegressor

梯度提升是一种接受单调性约束的非参数模型。

isotonic_regression

函数求解保序回归模型。

注意到

使用de Leeuw(1977年)的第二种方法打破关系。

引用

等序中位数回归:线性规划方法Nilotpal Chakravarti《运筹学数学》第14卷,第2期(1989年5月),pp。303-308

R中的同工同调优化:池邻近违规者算法(PAVA)和活动集方法de Leeuw,Hornik,Mair Journal of Statistical Software 2009

Kruskal的单调回归算法的正确性与关系de Leeuw,心理测量学,1977年

示例

>>> from sklearn.datasets import make_regression
>>> from sklearn.isotonic import IsotonicRegression
>>> X, y = make_regression(n_samples=10, n_features=1, random_state=41)
>>> iso_reg = IsotonicRegression().fit(X, y)
>>> iso_reg.predict([.1, .2])
array([1.8628..., 3.7256...])
fit(X, y, sample_weight=None)[源代码]#

使用X,y作为训练数据来匹配模型。

参数:
X形状为(n_samples,)或(n_samples,1)的类数组

训练数据。

在 0.24 版本发生变更: 还接受具有1个特征的2D数组。

y形状类似阵列(n_samples,)

培训目标。

sample_weight形状类似数组(n_samples,),默认=无

权重如果设置为无,所有权重将设置为1(相等权重)。

返回:
self对象

返回自我的实例。

注意到

X被存储以供将来使用,作为 transform 需要X来内插新的输入数据。

fit_transform(X, y=None, **fit_params)[源代码]#

适应数据,然后对其进行转换。

适合变压器 Xy 具有可选参数 fit_params 并返回的转换版本 X .

参数:
X形状类似阵列(n_samples,n_features)

输入样本。

y形状为(n_samples,)或(n_samples,n_outputs)的阵列状, 默认值=无

目标值(无监督转换)。

**fit_paramsdict

其他适合参数。

返回:
X_newndray形状数组(n_samples,n_features_new)

变形的数组。

get_feature_names_out(input_features=None)[源代码]#

获取用于转换的输出要素名称。

参数:
input_features字符串或无的类数组,默认=无

忽视

返回:
feature_names_out字符串对象的nd数组

An ndarray with one string i.e. ["isotonicregression0"].

get_metadata_routing()[源代码]#

获取此对象的元数据路由。

请检查 User Guide 关于路由机制如何工作。

返回:
routingMetadataRequest

A MetadataRequest 封装路由信息。

get_params(deep=True)[源代码]#

获取此估计器的参数。

参数:
deep布尔,默认=True

如果为True,将返回此估计量和包含的作为估计量的子对象的参数。

返回:
paramsdict

参数名称映射到其值。

predict(T)[源代码]#

通过线性插值预测新数据。

参数:
T形状为(n_samples,)或(n_samples,1)的类数组

数据转换。

返回:
y_pred形状的nd数组(n_samples,)

转换的数据。

score(X, y, sample_weight=None)[源代码]#

返回预测的决定系数。

决定系数 \(R^2\) 被定义为 \((1 - \frac{u}{v})\) ,在哪里 \(u\) 是残差平方和 ((y_true - y_pred)** 2).sum()\(v\) 是平方总和 ((y_true - y_true.mean()) ** 2).sum() .最好的可能分数是1.0,并且可以是负的(因为模型可以任意更差)。始终预测的期望值的恒定模型 y 如果不考虑输入功能,就会得到 \(R^2\) 评分0.0。

参数:
X形状类似阵列(n_samples,n_features)

Test samples. For some estimators this may be a precomputed kernel matrix or a list of generic objects instead with shape (n_samples, n_samples_fitted), where n_samples_fitted is the number of samples used in the fitting for the estimator.

y形状的类似阵列(n_samples,)或(n_samples,n_outputs)

真正的价值观 X .

sample_weight形状类似数组(n_samples,),默认=无

样本重量。

返回:
score浮子

\(R^2\)self.predict(X) w.r.t. y .

注意到

\(R^2\) 呼叫时使用的分数 score 在回归器上使用 multioutput='uniform_average' 从0.23版本开始,与默认值保持一致 r2_score .这影响了 score 所有多输出回归器的方法(除了 MultiOutputRegressor ).

set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') IsotonicRegression[源代码]#

请求元数据传递给 fit

请注意,此方法仅适用于以下情况 enable_metadata_routing=True (见 sklearn.set_config ).请参阅 User Guide 关于路由机制如何工作。

The options for each parameter are:

  • True :元数据被请求并传递给 fit 如果提供的话。如果未提供元数据,则会忽略请求。

  • False :未请求元数据,元估计器不会将其传递给 fit .

  • None :不请求元数据,如果用户提供元估计器,则元估计器将引发错误。

  • str :元数据应通过此给定别名而不是原始名称传递给元估计器。

默认 (sklearn.utils.metadata_routing.UNCHANGED )保留现有请求。这允许您更改某些参数的请求,而不是其他参数。

Added in version 1.3.

备注

只有当该估计器用作元估计器的子估计器时,该方法才相关,例如在 Pipeline .否则就没有效果了。

参数:
sample_weight字符串、真、假或无, 默认=sklearn.utils. metalics_Routing.UNChanged

元数据路由 sample_weight 参数 fit .

返回:
self对象

更新的对象。

set_output(*, transform=None)[源代码]#

设置输出容器。

看到 介绍 set_output API 了解如何使用API的示例。

参数:
transform{“默认”,“pandas”,“polars”},默认=无

配置输出 transformfit_transform .

  • "default" :Transformer的默认输出格式

  • "pandas" :DataFrame输出

  • "polars" :两极输出

  • None :转换配置不变

Added in version 1.4: "polars" 添加了选项。

返回:
self估计器实例

估计实例。

set_params(**params)[源代码]#

设置此估计器的参数。

该方法适用于简单估计器以及嵌套对象(例如 Pipeline ).后者具有以下形式的参数 <component>__<parameter> 以便可以更新嵌套对象的每个组件。

参数:
**paramsdict

估计参数。

返回:
self估计器实例

估计实例。

set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') IsotonicRegression[源代码]#

请求元数据传递给 score

请注意,此方法仅适用于以下情况 enable_metadata_routing=True (见 sklearn.set_config ).请参阅 User Guide 关于路由机制如何工作。

The options for each parameter are:

  • True :元数据被请求并传递给 score 如果提供的话。如果未提供元数据,则会忽略请求。

  • False :未请求元数据,元估计器不会将其传递给 score .

  • None :不请求元数据,如果用户提供元估计器,则元估计器将引发错误。

  • str :元数据应通过此给定别名而不是原始名称传递给元估计器。

默认 (sklearn.utils.metadata_routing.UNCHANGED )保留现有请求。这允许您更改某些参数的请求,而不是其他参数。

Added in version 1.3.

备注

只有当该估计器用作元估计器的子估计器时,该方法才相关,例如在 Pipeline .否则就没有效果了。

参数:
sample_weight字符串、真、假或无, 默认=sklearn.utils. metalics_Routing.UNChanged

元数据路由 sample_weight 参数 score .

返回:
self对象

更新的对象。

transform(T)[源代码]#

通过线性插值转换新数据。

参数:
T形状为(n_samples,)或(n_samples,1)的类数组

数据转换。

在 0.24 版本发生变更: 还接受具有1个特征的2D数组。

返回:
y_pred形状的nd数组(n_samples,)

转换后的数据。