PatchExtractor#
- class sklearn.feature_extraction.image.PatchExtractor(*, patch_size=None, max_patches=None, random_state=None)#
提取图像集合中的补丁。
更多信息请参阅 用户指南 。
Added in version 0.9.
- Parameters:
- patch_sizetuple of int (patch_height, patch_width), default=None
一个补丁的尺寸。如果设置为None,补丁尺寸将自动设置为
(img_height // 10, img_width // 10)
,其中img_height
和img_width
是输入图像的尺寸。- max_patchesint or float, default=None
每个图像要提取的最大补丁数。如果
max_patches
是一个在 (0, 1) 之间的浮点数,它表示总补丁数的比例。 如果设置为None,提取所有可能的补丁。- random_stateint, RandomState instance, default=None
确定用于随机抽样的随机数生成器,当
max_patches
不为None时。使用一个整数使随机性确定。 参见 Glossary 。
See also
reconstruct_from_patches_2d
从所有补丁中重建图像。
Notes
这个估计器是无状态的,不需要拟合。然而,我们建议调用
fit_transform
而不是transform
, 因为参数验证只在fit
中进行。Examples
>>> from sklearn.datasets import load_sample_images >>> from sklearn.feature_extraction import image >>> # 使用此数据集中第二张图像的数组数据: >>> X = load_sample_images().images[1] >>> X = X[None, ...] >>> print(f"Image shape: {X.shape}") Image shape: (1, 427, 640, 3) >>> pe = image.PatchExtractor(patch_size=(10, 10)) >>> pe_trans = pe.transform(X) >>> print(f"Patches shape: {pe_trans.shape}") Patches shape: (263758, 10, 10, 3) >>> X_reconstructed = image.reconstruct_from_patches_2d(pe_trans, X.shape[1:]) >>> print(f"Reconstructed shape: {X_reconstructed.shape}") Reconstructed shape: (427, 640, 3)
- fit(X, y=None)#
仅验证估计器的参数。
此方法允许:(i) 验证估计器的参数和 (ii) 与scikit-learn转换器API保持一致。
- Parameters:
- Xndarray of shape (n_samples, image_height, image_width) 或 (n_samples, image_height, image_width, n_channels)
从中提取补丁的图像数组。对于彩色图像, 最后一个维度指定通道:RGB图像将有
n_channels=3
。- y忽略
不使用,为保持API一致性而存在。
- Returns:
- selfobject
返回实例本身。
- fit_transform(X, y=None, **fit_params)#
拟合数据,然后进行转换。
将转换器拟合到
X
和y
,并带有可选参数fit_params
, 并返回X
的转换版本。- Parameters:
- X形状为 (n_samples, n_features) 的类数组
输入样本。
- y形状为 (n_samples,) 或 (n_samples, n_outputs) 的类数组, 默认=None
目标值(无监督转换为 None)。
- **fit_paramsdict
其他拟合参数。
- Returns:
- X_new形状为 (n_samples, n_features_new) 的 ndarray 数组
转换后的数组。
- get_metadata_routing()#
获取此对象的元数据路由。
请查看 用户指南 以了解路由机制的工作原理。
- Returns:
- routingMetadataRequest
MetadataRequest
封装的 路由信息。
- get_params(deep=True)#
获取此估计器的参数。
- Parameters:
- deepbool, 默认=True
如果为True,将返回此估计器和包含的子对象(也是估计器)的参数。
- Returns:
- paramsdict
参数名称映射到它们的值。
- set_output(*, transform=None)#
设置输出容器。
请参阅 介绍 set_output API 以了解如何使用API的示例。
- Parameters:
- transform{“default”, “pandas”, “polars”}, 默认=None
配置
transform
和fit_transform
的输出。"default"
: 转换器的默认输出格式"pandas"
: DataFrame 输出"polars"
: Polars 输出None
: 转换配置不变
Added in version 1.4:
"polars"
选项已添加。
- Returns:
- self估计器实例
估计器实例。
- set_params(**params)#
设置此估计器的参数。
该方法适用于简单估计器以及嵌套对象(例如
Pipeline
)。后者具有形式为<component>__<parameter>
的参数,以便可以更新嵌套对象的每个组件。- Parameters:
- **paramsdict
估计器参数。
- Returns:
- selfestimator instance
估计器实例。
- transform(X)#
将
X
中的图像样本转换为补丁数据的矩阵。- Parameters:
- X形状为 (n_samples, image_height, image_width) 或 (n_samples, image_height, image_width, n_channels) 的 ndarray
从中提取补丁的图像数组。对于彩色图像,最后一个维度指定通道:RGB 图像将有
n_channels=3
。
- Returns:
- patches形状为 (n_patches, patch_height, patch_width) 或 (n_patches, patch_height, patch_width, n_channels) 的数组
从图像中提取的补丁集合,其中
n_patches
要么是n_samples * max_patches
,要么是可以提取的补丁总数。