Silhouette Score

View as Markdown

Source header: cuvs/stats/silhouette_score.hpp

Silhouette Score

stats::silhouette_score

main function that returns the average silhouette score for a given set of data and its

1float silhouette_score(
2raft::resources const& handle,
3raft::device_matrix_view<const float, int64_t, raft::row_major> X_in,
4raft::device_vector_view<const int, int64_t> labels,
5std::optional<raft::device_vector_view<float, int64_t>> silhouette_score_per_sample,
6int64_t n_unique_labels,
7cuvs::distance::DistanceType metric = cuvs::distance::DistanceType::L2Unexpanded);

clusterings nRows) for every sample (length: nRows)

Parameters

NameDirectionTypeDescription
handleinraft::resources const&: raft handle for managing expensive resources
X_ininraft::device_matrix_view<const float, int64_t, raft::row_major>: input matrix Data in row-major format (nRows x nCols)
labelsinraft::device_vector_view<const int, int64_t>: the pointer to the array containing labels for every data sample (length:
silhouette_score_per_sampleoutstd::optional<raft::device_vector_view<float, int64_t>>: optional array populated with the silhouette score
n_unique_labelsinint64_t: number of unique labels in the labels array
metricincuvs::distance::DistanceType: Distance metric to use. Euclidean (L2) is used by default Default: cuvs::distance::DistanceType::L2Unexpanded.

Returns

float

: The silhouette score.

stats::silhouette_score_batched

function that returns the average silhouette score for a given set of data and its

1float silhouette_score_batched(
2raft::resources const& handle,
3raft::device_matrix_view<const float, int64_t, raft::row_major> X,
4raft::device_vector_view<const int, int64_t> labels,
5std::optional<raft::device_vector_view<float, int64_t>> silhouette_score_per_sample,
6int64_t n_unique_labels,
7int64_t batch_size,
8cuvs::distance::DistanceType metric = cuvs::distance::DistanceType::L2Unexpanded);

clusterings nRows) for every sample (length: nRows) the calculations

Parameters

NameDirectionTypeDescription
handleinraft::resources const&: raft handle for managing expensive resources
Xinraft::device_matrix_view<const float, int64_t, raft::row_major>: input matrix Data in row-major format (nRows x nCols)
labelsinraft::device_vector_view<const int, int64_t>: the pointer to the array containing labels for every data sample (length:
silhouette_score_per_sampleoutstd::optional<raft::device_vector_view<float, int64_t>>: optional array populated with the silhouette score
n_unique_labelsinint64_t: number of unique labels in the labels array
batch_sizeinint64_t: number of samples per batch
metricincuvs::distance::DistanceType: the numerical value that maps to the type of distance metric to be used in Default: cuvs::distance::DistanceType::L2Unexpanded.

Returns

float

: The silhouette score.

Additional overload: stats::silhouette_score

main function that returns the average silhouette score for a given set of data and its

1double silhouette_score(
2raft::resources const& handle,
3raft::device_matrix_view<const double, int64_t, raft::row_major> X_in,
4raft::device_vector_view<const int, int64_t> labels,
5std::optional<raft::device_vector_view<double, int64_t>> silhouette_score_per_sample,
6int64_t n_unique_labels,
7cuvs::distance::DistanceType metric = cuvs::distance::DistanceType::L2Unexpanded);

clusterings nRows) for every sample (length: nRows) the calculations

Parameters

NameDirectionTypeDescription
handleinraft::resources const&: raft handle for managing expensive resources
X_ininraft::device_matrix_view<const double, int64_t, raft::row_major>: input matrix Data in row-major format (nRows x nCols)
labelsinraft::device_vector_view<const int, int64_t>: the pointer to the array containing labels for every data sample (length:
silhouette_score_per_sampleoutstd::optional<raft::device_vector_view<double, int64_t>>: optional array populated with the silhouette score
n_unique_labelsinint64_t: number of unique labels in the labels array
metricincuvs::distance::DistanceType: the numerical value that maps to the type of distance metric to be used in Default: cuvs::distance::DistanceType::L2Unexpanded.

Returns

double

: The silhouette score.

Additional overload: stats::silhouette_score_batched

function that returns the average silhouette score for a given set of data and its

1double silhouette_score_batched(
2raft::resources const& handle,
3raft::device_matrix_view<const double, int64_t, raft::row_major> X,
4raft::device_vector_view<const int, int64_t> labels,
5std::optional<raft::device_vector_view<double, int64_t>> silhouette_score_per_sample,
6int64_t n_unique_labels,
7int64_t batch_size,
8cuvs::distance::DistanceType metric = cuvs::distance::DistanceType::L2Unexpanded);

clusterings nRows) for every sample (length: nRows) the calculations

Parameters

NameDirectionTypeDescription
handleinraft::resources const&: raft handle for managing expensive resources
Xinraft::device_matrix_view<const double, int64_t, raft::row_major>: input matrix Data in row-major format (nRows x nCols)
labelsinraft::device_vector_view<const int, int64_t>: the pointer to the array containing labels for every data sample (length:
silhouette_score_per_sampleoutstd::optional<raft::device_vector_view<double, int64_t>>: optional array populated with the silhouette score
n_unique_labelsinint64_t: number of unique labels in the labels array
batch_sizeinint64_t: number of samples per batch
metricincuvs::distance::DistanceType: the numerical value that maps to the type of distance metric to be used in Default: cuvs::distance::DistanceType::L2Unexpanded.

Returns

double

: The silhouette score.