snowflake.ml.modeling.cluster.AgglomerativeClusteringΒΆ
- class snowflake.ml.modeling.cluster.AgglomerativeClustering(*, n_clusters=2, affinity='deprecated', metric=None, memory=None, connectivity=None, compute_full_tree='auto', linkage='ward', distance_threshold=None, compute_distances=False, input_cols: Optional[Union[str, Iterable[str]]] = None, output_cols: Optional[Union[str, Iterable[str]]] = None, label_cols: Optional[Union[str, Iterable[str]]] = None, passthrough_cols: Optional[Union[str, Iterable[str]]] = None, drop_input_cols: Optional[bool] = False, sample_weight_col: Optional[str] = None)ΒΆ
Bases:
BaseTransformer
Agglomerative Clustering For more details on this class, see sklearn.cluster.AgglomerativeClustering
- 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, sample_weight_col, and passthrough_cols parameters are considered input columns. Input columns can also be set after initialization with the set_input_cols method.
- label_cols: Optional[Union[str, List[str]]]
This parameter is optional and will be ignored during fit. It is present here for API consistency by convention.
- 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 must match the expected number of output columns from the specific predictor or transformer class used. If you omit this parameter, output column names are derived by adding an OUTPUT_ prefix to the label column names for supervised estimators, or OUTPUT_<IDX>for unsupervised estimators. These inferred output column names work for predictors, but output_cols must be set explicitly for transformers. In general, explicitly specifying output column names is clearer, especially if you donβt specify the input column names. To transform in place, pass the same names for input_cols and output_cols. be set explicitly for transformers. Output columns can also be set after initialization with the set_output_cols method.
- sample_weight_col: Optional[str]
A string representing the column name containing the sample weights. This argument is only required when working with weighted datasets. Sample weight column can also be set after initialization with the set_sample_weight_col method.
- passthrough_cols: Optional[Union[str, List[str]]]
A string or a list of strings indicating column names to be excluded from any operations (such as train, transform, or inference). These specified column(s) will remain untouched throughout the process. This option is helpful in scenarios requiring automatic input_cols inference, but need to avoid using specific columns, like index columns, during training or inference. Passthrough columns can also be set after initialization with the set_passthrough_cols method.
- drop_input_cols: Optional[bool], default=False
If set, the response of predict(), transform() methods will not contain input columns.
- n_clusters: int or None, default=2
The number of clusters to find. It must be
None
ifdistance_threshold
is notNone
.- 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 sample the neighboring samples 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 samples. 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 beTrue
ifdistance_threshold
is notNone
. 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 observation. The algorithm will merge the pairs of cluster that minimize this criterion.
βwardβ minimizes the variance of the clusters being merged.
βaverageβ uses the average of the distances of each observation of the two sets.
βcompleteβ or βmaximumβ linkage uses the maximum distances between all observations of the two sets.
βsingleβ uses the minimum of the distances between all observations of the two sets.
- distance_threshold: float, default=None
The linkage distance threshold at or above which clusters will not be merged. If not
None
,n_clusters
must beNone
andcompute_full_tree
must beTrue
.- 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.
Methods
fit
(dataset)Fit the hierarchical clustering from features, or distance matrix For more details on this function, see sklearn.cluster.AgglomerativeClustering.fit
fit_predict
(dataset)Fit and return the result of each sample's clustering assignment For more details on this function, see sklearn.cluster.AgglomerativeClustering.fit_predict
get_input_cols
()Input columns getter.
get_label_cols
()Label column getter.
get_output_cols
()Output columns getter.
get_params
([deep])Get parameters for this transformer.
get_passthrough_cols
()Passthrough columns getter.
get_sample_weight_col
()Sample weight column getter.
get_sklearn_args
([default_sklearn_obj, ...])Get sklearn keyword arguments.
set_drop_input_cols
([drop_input_cols])set_input_cols
(input_cols)Input columns setter.
set_label_cols
(label_cols)Label column setter.
set_output_cols
(output_cols)Output columns setter.
set_params
(**params)Set the parameters of this transformer.
set_passthrough_cols
(passthrough_cols)Passthrough columns setter.
set_sample_weight_col
(sample_weight_col)Sample weight column setter.
to_sklearn
()Get sklearn.cluster.AgglomerativeClustering object.
Attributes
model_signatures
Returns model signature of current class.