配置上下文#

sklearn.config_context(*, assume_finite=None, working_memory=None, print_changed_only=None, display=None, pairwise_dist_chunk_size=None, enable_cython_pairwise_dist=None, array_api_dispatch=None, transform_output=None, enable_metadata_routing=None, skip_parameter_validation=None)[source]#

scikit-learn全局配置的上下文管理器。

参数:
assume_finitebool,默认为None

如果为True,则跳过有限性验证,节省时间,但可能导致崩溃。如果为False,则执行有限性验证,避免错误。如果为None,则现有值不会改变。默认值为False。

working_memoryint,默认为None

如果设置,scikit-learn将尝试将临时数组的大小限制为此数量的MiB(并行化时每个作业),通常可以在昂贵的可以分块执行的操作中节省计算时间和内存。如果为None,则现有值不会改变。默认值为1024。

print_changed_onlybool,默认为None

如果为True,则打印估计器时,只打印设置为非默认值的参数。例如,当为True时,print(SVC()) 将只打印 ‘SVC()’,但当为False时,将打印 ‘SVC(C=1.0, cache_size=200, …)’,包含所有未更改的参数。如果为None,则现有值不会改变。默认值为True。

0.23版本中的变化: 默认值从False更改为True。

display{'text', 'diagram'},默认为None

如果为'diagram',则估计器将在Jupyter lab或notebook环境中以图表形式显示。如果为'text',则估计器将以文本形式显示。如果为None,则现有值不会改变。默认值为'diagram'。

0.23版本中新增。

pairwise_dist_chunk_sizeint,默认为None

加速成对距离缩减后端的每块行向量数。默认值为256(适用于大多数现代笔记本电脑的缓存和架构)。

旨在更轻松地对scikit-learn内部进行基准测试和测试。预计最终用户不会从自定义此配置设置中受益。

1.1版本中新增。

enable_cython_pairwise_distbool,默认为None

尽可能使用加速的成对距离缩减后端。全局默认值:True。

旨在更轻松地对scikit-learn内部进行基准测试和测试。预计最终用户不会从自定义此配置设置中受益。

1.1版本中新增。

array_api_dispatchbool,默认为None

当输入遵循Array API标准时,使用Array API调度。默认为False。

更多详情请参见用户指南

1.2版本中新增。

transform_outputstr,默认为None

配置transformfit_transform的输出。

参见介绍set_output API,了解如何使用API的示例。

  • "default":转换器的默认输出格式

  • "pandas":DataFrame输出

  • "polars":Polars输出

  • None:转换配置不变

1.2版本中新增。

1.4版本中新增: 添加了"polars"选项。

enable_metadata_routingbool,默认为None

启用元数据路由。默认情况下,此功能被禁用。

有关更多详细信息,请参阅元数据路由用户指南

  • True:启用元数据路由

  • False:禁用元数据路由,使用旧语法。

  • None:配置不变

1.3版本中新增。

skip_parameter_validationbool,默认为None

如果为True,则禁用估计器fit方法中超参数类型和值的验证,以及传递给公共辅助函数的参数的验证。这可以在某些情况下节省时间,但可能导致底层崩溃和异常,并出现令人困惑的错误消息。

请注意,对于数据参数,例如Xy,只跳过类型验证,但使用check_array的验证将继续运行。

1.3版本中新增。

产量:
无。

另请参见

set_config

设置全局scikit-learn配置。

get_config

检索全局配置的当前值。

备注

当上下文管理器退出时,所有设置(不仅仅是当前修改的设置)都将恢复到它们以前的值。

示例

>>> import sklearn
>>> from sklearn.utils.validation import assert_all_finite
>>> with sklearn.config_context(assume_finite=True):
...     assert_all_finite([float('nan')])
>>> with sklearn.config_context(assume_finite=True):
...     with sklearn.config_context(assume_finite=False):
...         assert_all_finite([float('nan')])
Traceback (most recent call last):
...
ValueError: Input contains NaN...