config_context#
- 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_finite布尔值,默认为 None
如果为 True,将跳过有限性验证,节省时间,但可能导致程序崩溃。如果为 False,将执行有限性验证,避免错误。如果为 None,现有值将保持不变。默认值为 False。
- working_memory整型,默认为 None
如果设置,scikit-learn 将尝试把临时数组的大小限制在此 MiB 数(并行化时每个作业),通常可以节省计算时间和内存,尤其是在可以分块执行的昂贵操作中。如果为 None,现有值将保持不变。默认值为 1024。
- print_changed_only布尔值,默认为 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_size整型,默认为 None
加速成对距离约简后端中每个分块的行向量数量。默认值为 256(适用于大多数现代笔记本电脑的缓存和架构)。
旨在方便 scikit-learn 内部组件的基准测试和测试。最终用户预计不会从自定义此配置设置中受益。
1.1 版本新增。
- enable_cython_pairwise_dist布尔值,默认为 None
如果可能,使用加速的成对距离约简后端。全局默认值:True。
旨在方便 scikit-learn 内部组件的基准测试和测试。最终用户预计不会从自定义此配置设置中受益。
1.1 版本新增。
- array_api_dispatch布尔值,默认为 None
当输入遵循 Array API 标准时,使用 Array API 调度。默认值为 False。
更多详细信息,请参阅用户指南。
1.2 版本新增。
- transform_output字符串,默认为 None
配置
transform
和fit_transform
的输出。有关如何使用 API 的示例,请参阅set_output API 简介。
"default"
:转换器的默认输出格式"pandas"
:DataFrame 输出"polars"
:Polars 输出None
:转换配置保持不变
1.2 版本新增。
1.4 版本新增:添加了
"polars"
选项。- enable_metadata_routing布尔值,默认为 None
启用元数据路由。默认情况下此功能是禁用的。
更多详细信息,请参阅元数据路由用户指南。
True
:元数据路由已启用False
:元数据路由已禁用,使用旧语法。None
:配置保持不变
1.3 版本新增。
- skip_parameter_validation布尔值,默认为 None
如果为
True
,将禁用估算器fit
方法中超参数类型和值的验证,以及传递给公共辅助函数的参数验证。这在某些情况下可以节省时间,但可能导致低级别崩溃和带有令人困惑错误消息的异常。请注意,对于数据参数(例如
X
和y
),仅跳过类型验证,但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...