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_heightimg_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)#

拟合数据,然后进行转换。

将转换器拟合到 Xy ,并带有可选参数 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

配置 transformfit_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 ,要么是可以提取的补丁总数。