配置上下文#
- 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
配置
transform
和fit_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方法中超参数类型和值的验证,以及传递给公共辅助函数的参数的验证。这可以在某些情况下节省时间,但可能导致底层崩溃和异常,并出现令人困惑的错误消息。请注意,对于数据参数,例如
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...