You are viewing documentation about an older version (1.0.9). View latest version

snowflake.ml.modeling.cluster.FeatureAgglomerationΒΆ

class snowflake.ml.modeling.cluster.FeatureAgglomeration(*, n_clusters=2, affinity='deprecated', metric=None, memory=None, connectivity=None, compute_full_tree='auto', linkage='ward', pooling_func=<function mean>, distance_threshold=None, compute_distances=False, input_cols: ~typing.Optional[~typing.Union[str, ~typing.Iterable[str]]] = None, output_cols: ~typing.Optional[~typing.Union[str, ~typing.Iterable[str]]] = None, label_cols: ~typing.Optional[~typing.Union[str, ~typing.Iterable[str]]] = None, drop_input_cols: ~typing.Optional[bool] = False, sample_weight_col: ~typing.Optional[str] = None)ΒΆ

Bases: BaseTransformer

Agglomerate features For more details on this class, see sklearn.cluster.FeatureAgglomeration

n_clusters: int or None, default=2

The number of clusters to find. It must be None if distance_threshold is not None.

affinity: str or callable, default=’euclidean’

The metric to use when calculating distance between instances in a feature array. If metric is a string or callable, it must be one of the options allowed by sklearn.metrics.pairwise_distances() for its metric parameter. If linkage is β€œward”, only β€œeuclidean” is accepted. If β€œprecomputed”, a distance matrix (instead of a similarity matrix) is needed as input for the fit method.

metric: str or callable, default=None

Metric used to compute the linkage. Can be β€œeuclidean”, β€œl1”, β€œl2”, β€œmanhattan”, β€œcosine”, or β€œprecomputed”. If set to None then β€œeuclidean” is used. If linkage is β€œward”, only β€œeuclidean” is accepted. If β€œprecomputed”, a distance matrix is needed as input for the fit method.

memory: str or object with the joblib.Memory interface, default=None

Used to cache the output of the computation of the tree. By default, no caching is done. If a string is given, it is the path to the caching directory.

connectivity: array-like or callable, default=None

Connectivity matrix. Defines for each feature the neighboring features following a given structure of the data. This can be a connectivity matrix itself or a callable that transforms the data into a connectivity matrix, such as derived from kneighbors_graph. Default is None, i.e, the hierarchical clustering algorithm is unstructured.

compute_full_tree: β€˜auto’ or bool, default=’auto’

Stop early the construction of the tree at n_clusters. This is useful to decrease computation time if the number of clusters is not small compared to the number of features. This option is useful only when specifying a connectivity matrix. Note also that when varying the number of clusters and using caching, it may be advantageous to compute the full tree. It must be True if distance_threshold is not None. By default compute_full_tree is β€œauto”, which is equivalent to True when distance_threshold is not None or that n_clusters is inferior to the maximum between 100 or 0.02 * n_samples. Otherwise, β€œauto” is equivalent to False.

linkage: {β€œward”, β€œcomplete”, β€œaverage”, β€œsingle”}, default=”ward”

Which linkage criterion to use. The linkage criterion determines which distance to use between sets of features. The algorithm will merge the pairs of cluster that minimize this criterion.

  • β€œward” minimizes the variance of the clusters being merged.

  • β€œcomplete” or maximum linkage uses the maximum distances between all features of the two sets.

  • β€œaverage” uses the average of the distances of each feature of the two sets.

  • β€œsingle” uses the minimum of the distances between all features of the two sets.

pooling_func: callable, default=np.mean

This combines the values of agglomerated features into a single value, and should accept an array of shape [M, N] and the keyword argument axis=1, and reduce it to an array of size [M].

distance_threshold: float, default=None

The linkage distance threshold at or above which clusters will not be merged. If not None, n_clusters must be None and compute_full_tree must be True.

compute_distances: bool, default=False

Computes distances between clusters even if distance_threshold is not used. This can be used to make dendrogram visualization, but introduces a computational and memory overhead.

input_cols: Optional[Union[str, List[str]]]

A string or list of strings representing column names that contain features. If this parameter is not specified, all columns in the input DataFrame except the columns specified by label_cols and sample-weight_col parameters are considered input columns.

label_cols: Optional[Union[str, List[str]]]

A string or list of strings representing column names that contain labels. This is a required param for estimators, as there is no way to infer these columns. If this parameter is not specified, then object is fitted without labels(Like a transformer).

output_cols: Optional[Union[str, List[str]]]

A string or list of strings representing column names that will store the output of predict and transform operations. The length of output_cols mus match the expected number of output columns from the specific estimator or transformer class used. If this parameter is not specified, output column names are derived by adding an OUTPUT_ prefix to the label column names. These inferred output column names work for estimator’s predict() method, but output_cols must be set explicitly for transformers.

sample_weight_col: Optional[str]

A string representing the column name containing the examples’ weights. This argument is only required when working with weighted datasets.

drop_input_cols: Optional[bool], default=False

If set, the response of predict(), transform() methods will not contain input columns.

Methods

fit(dataset)

Fit the hierarchical clustering on the data For more details on this function, see sklearn.cluster.FeatureAgglomeration.fit

score(dataset)

Method not supported for this class.

set_input_cols(input_cols)

Input columns setter.

to_sklearn()

Get sklearn.cluster.FeatureAgglomeration object.

transform(dataset)

Transform a new matrix using the built clustering For more details on this function, see sklearn.cluster.FeatureAgglomeration.transform

Attributes

model_signatures

Returns model signature of current class.