统计#

此页面提供了 cuvs/stats 包中公开元素的 C++ 类参考。

轮廓系数#

#include <cuvs/stats/silhouette_score.hpp>

namespace cuvs::stats

float silhouette_score(
raft::resources const &handle,
raft::device_matrix_view<const float, int64_t, raft::row_major> X_in,
raft::device_vector_view<const int, int64_t> labels,
std::optional<raft::device_vector_view<float, int64_t>> silhouette_score_per_sample,
int64_t n_unique_labels,
cuvs::distance::DistanceType metric = cuvs::distance::DistanceType::L2Unexpanded
)#

返回给定数据集及其聚类结果的平均轮廓系数的主函数

参数:
  • handle[in] 用于管理昂贵资源的 raft 句柄

  • X_in[in] 输入矩阵数据,采用行主格式 (nRows x nCols)

  • labels[in] 指向包含每个数据样本标签的数组的指针 (长度: nRows)

  • silhouette_score_per_sample[out] 可选数组,填充了每个样本的轮廓系数 (长度: nRows)

  • n_unique_labels[in] 标签数组中唯一标签的数量

  • metric[in] 要使用的距离度量。默认为欧氏距离 (L2)

返回:

: 轮廓系数。

float silhouette_score_batched(
raft::resources const &handle,
raft::device_matrix_view<const float, int64_t, raft::row_major> X,
raft::device_vector_view<const int, int64_t> labels,
std::optional<raft::device_vector_view<float, int64_t>> silhouette_score_per_sample,
int64_t n_unique_labels,
int64_t batch_size,
cuvs::distance::DistanceType metric = cuvs::distance::DistanceType::L2Unexpanded
)#

返回给定数据集及其聚类结果的平均轮廓系数的函数

参数:
  • handle[in] 用于管理昂贵资源的 raft 句柄

  • X[in] 输入矩阵数据,采用行主格式 (nRows x nCols)

  • labels[in] 指向包含每个数据样本标签的数组的指针 (长度: nRows)

  • silhouette_score_per_sample[out] 可选数组,填充了每个样本的轮廓系数 (长度: nRows)

  • n_unique_labels[in] 标签数组中唯一标签的数量

  • batch_size[in] 每批样本的数量

  • metric[in] 用于计算的距离度量类型的数值

返回:

: 轮廓系数。

double silhouette_score(
raft::resources const &handle,
raft::device_matrix_view<const double, int64_t, raft::row_major> X_in,
raft::device_vector_view<const int, int64_t> labels,
std::optional<raft::device_vector_view<double, int64_t>> silhouette_score_per_sample,
int64_t n_unique_labels,
cuvs::distance::DistanceType metric = cuvs::distance::DistanceType::L2Unexpanded
)#

返回给定数据集及其聚类结果的平均轮廓系数的主函数

参数:
  • handle[in] 用于管理昂贵资源的 raft 句柄

  • X_in[in] 输入矩阵数据,采用行主格式 (nRows x nCols)

  • labels[in] 指向包含每个数据样本标签的数组的指针 (长度: nRows)

  • silhouette_score_per_sample[out] 可选数组,填充了每个样本的轮廓系数 (长度: nRows)

  • n_unique_labels[in] 标签数组中唯一标签的数量

  • metric[in] 用于计算的距离度量类型的数值

返回:

: 轮廓系数。

double silhouette_score_batched(
raft::resources const &handle,
raft::device_matrix_view<const double, int64_t, raft::row_major> X,
raft::device_vector_view<const int, int64_t> labels,
std::optional<raft::device_vector_view<double, int64_t>> silhouette_score_per_sample,
int64_t n_unique_labels,
int64_t batch_size,
cuvs::distance::DistanceType metric = cuvs::distance::DistanceType::L2Unexpanded
)#

返回给定数据集及其聚类结果的平均轮廓系数的函数

参数:
  • handle[in] 用于管理昂贵资源的 raft 句柄

  • X[in] 输入矩阵数据,采用行主格式 (nRows x nCols)

  • labels[in] 指向包含每个数据样本标签的数组的指针 (长度: nRows)

  • silhouette_score_per_sample[out] 可选数组,填充了每个样本的轮廓系数 (长度: nRows)

  • n_unique_labels[in] 标签数组中唯一标签的数量

  • batch_size[in] 每批样本的数量

  • metric[in] 用于计算的距离度量类型的数值

返回:

: 轮廓系数。

信任度得分#

#include <cuvs/stats/trustworthiness_score.hpp>

namespace cuvs::stats

double trustworthiness_score(
raft::resources const &handle,
raft::device_matrix_view<const float, int64_t, raft::row_major> X,
raft::device_matrix_view<const float, int64_t, raft::row_major> X_embedded,
int n_neighbors,
cuvs::distance::DistanceType metric = cuvs::distance::DistanceType::L2SqrtUnexpanded,
int batch_size = 512
)#

计算信任度得分。

注意

目前,X_embedded 中的数据常性被解除,并且数据会略微修改。

参数:
  • handle[in] raft 句柄

  • X[in] 原始维度数据

  • X_embedded[in] 目标维度数据(嵌入)

  • n_neighbors[in] 信任度得分考虑的邻居数量

  • metric[in] 要使用的距离度量。默认为欧氏距离 (L2)

  • batch_size[in] 批次大小

返回:

信任度得分