社区#
三角形计数#
-
cugraph_error_code_t cugraph_triangle_count(const cugraph_resource_handle_t *handle, cugraph_graph_t *graph, const cugraph_type_erased_device_array_view_t *start, bool_t do_expensive_check, cugraph_triangle_count_result_t **result, cugraph_error_t **error)#
三角形计数。
- 参数:
handle – [in] 访问资源的句柄
graph – [in] 图的指针。注意:如果存储需要转置,图可能会被修改
start – [in] 要计算三角形的顶点设备数组。如果为 NULL,则处理图中的所有顶点
do_expensive_check – [in] 一个标志,用于对输入参数运行昂贵的检查(如果设置为 true)
result – [out] triangle_count 调用的输出
error – [out] 指向存储任何错误详细信息的错误对象的指针。如果错误码不是 CUGRAPH_SUCCESS,将填充此对象
- 返回:
错误码
Louvain#
-
cugraph_error_code_t cugraph_louvain(const cugraph_resource_handle_t *handle, cugraph_graph_t *graph, size_t max_level, double threshold, double resolution, bool_t do_expensive_check, cugraph_hierarchical_clustering_result_t **result, cugraph_error_t **error)#
计算 Louvain。
- 参数:
handle – [in] 访问资源的句柄
graph – [in] 图的指针。注意:如果存储需要转置,图可能会被修改
max_level – [in] 层级结构中的最大层数
threshold – [in] 阈值参数,定义层级结构中每个级别的收敛性
resolution – [in] 模块度公式中的分辨率参数(gamma)。这会改变社区的大小。更高的分辨率会产生更多更小的社区,更低的分辨率会产生更少更大的社区。
do_expensive_check – [in] 一个标志,用于对输入参数运行昂贵的检查(如果设置为 true)
result – [out] Louvain 调用的输出
error – [out] 指向存储任何错误详细信息的错误对象的指针。如果错误码不是 CUGRAPH_SUCCESS,将填充此对象
- 返回:
错误码
Leiden#
-
cugraph_error_code_t cugraph_leiden(const cugraph_resource_handle_t *handle, cugraph_rng_state_t *rng_state, cugraph_graph_t *graph, size_t max_level, double resolution, double theta, bool_t do_expensive_check, cugraph_hierarchical_clustering_result_t **result, cugraph_error_t **error)#
计算 Leiden。
- 参数:
handle – [in] 访问资源的句柄
graph – [in] 图的指针。注意:如果存储需要转置,图可能会被修改
rng_state – [inout] 随机数生成器的状态,每次调用都会更新
max_level – [in] 层级结构中的最大层数
resolution – [in] 模块度公式中的分辨率参数(gamma)。这会改变社区的大小。更高的分辨率会产生更多更小的社区,更低的分辨率会产生更少更大的社区。
theta – [in] (可选)用于在 Leiden 细化阶段缩放模块度增益的参数值。用于计算加入随机 Leiden 社区的概率。在 Leiden 算法中称为 theta。
do_expensive_check – [in] 一个标志,用于对输入参数运行昂贵的检查(如果设置为 true)
result – [out] Leiden 调用的输出
error – [out] 指向存储任何错误详细信息的错误对象的指针。如果错误码不是 CUGRAPH_SUCCESS,将填充此对象
- 返回:
错误码
ECG#
-
cugraph_error_code_t cugraph_ecg(const cugraph_resource_handle_t *handle, cugraph_rng_state_t *rng_state, cugraph_graph_t *graph, double min_weight, size_t ensemble_size, size_t max_level, double threshold, double resolution, bool_t do_expensive_check, cugraph_hierarchical_clustering_result_t **result, cugraph_error_t **error)#
计算 ECG 聚类。
- 参数:
handle – [in] 访问资源的句柄
rng_state – [inout] 随机数生成器的状态,每次调用都会更新
graph – [in] 图的指针。注意:如果存储需要转置,图可能会被修改
min_weight – [in] 最终图中的最小边权重
ensemble_size – [in] 要运行的 Louvain 迭代次数
max_level – [in] 最终 Louvain 的层级结构中的最大层数
threshold – [in] 阈值参数,定义最终 Louvain 的层级结构中每个级别的收敛性
resolution – [in] 模块度公式中的分辨率参数(gamma)。这会改变社区的大小。更高的分辨率会产生更多更小的社区,更低的分辨率会产生更少更大的社区。
do_expensive_check – [in] 一个标志,用于对输入参数运行昂贵的检查(如果设置为 true)
result – [out] Louvain 调用的输出
error – [out] 指向存储任何错误详细信息的错误对象的指针。如果错误码不是 CUGRAPH_SUCCESS,将填充此对象
- 返回:
错误码
提取 Egonet#
-
cugraph_error_code_t cugraph_extract_ego(const cugraph_resource_handle_t *handle, cugraph_graph_t *graph, const cugraph_type_erased_device_array_view_t *source_vertices, size_t radius, bool_t do_expensive_check, cugraph_induced_subgraph_result_t **result, cugraph_error_t **error)#
提取 ego 图。
- 参数:
handle – [in] 访问资源的句柄
graph – [in] 图的指针。注意:如果存储需要转置,图可能会被修改
source_vertices – [in] 要提取 egonet 的顶点设备数组。
radius – [in] 从每个源顶点出发的跳数
do_expensive_check – [in] 一个标志,用于对输入参数运行昂贵的检查(如果设置为 true)
result – [out] 包含提取的子图的不透明对象
error – [out] 指向存储任何错误详细信息的错误对象的指针。如果错误码不是 CUGRAPH_SUCCESS,将填充此对象
- 返回:
错误码
平衡割#
-
cugraph_error_code_t cugraph_balanced_cut_clustering(const cugraph_resource_handle_t *handle, cugraph_graph_t *graph, size_t n_clusters, size_t n_eigenvectors, double evs_tolerance, int evs_max_iterations, double k_means_tolerance, int k_means_max_iterations, bool_t do_expensive_check, cugraph_clustering_result_t **result, cugraph_error_t **error)#
平衡割聚类。
注意:这当前封装了旧版平衡割聚类实现,并且仅在单 GPU 实现中可用。
- 参数:
handle – [in] 访问资源的句柄
graph – [in] 图的指针。注意:如果存储需要转置,图可能会被修改
n_clusters – [in] 期望的簇数量
n_eigenvectors – [in] 要使用的特征向量数量
evs_tolerance – [in] 特征值求解器使用的容差
evs_max_iterations – [in] 特征值求解器的最大迭代次数
k_means_tolerance – [in] k-means 求解器使用的容差
k_means_max_iterations – [in] k-means 求解器的最大迭代次数
do_expensive_check – [in] 一个标志,用于对输入参数运行昂贵的检查(如果设置为 true)
result – [out] 包含聚类结果的不透明对象
error – [out] 指向存储任何错误详细信息的错误对象的指针。如果错误码不是 CUGRAPH_SUCCESS,将填充此对象
- 返回:
错误码
谱聚类 - 模块度最大化#
-
cugraph_error_code_t cugraph_spectral_modularity_maximization(const cugraph_resource_handle_t *handle, cugraph_graph_t *graph, size_t n_clusters, size_t n_eigenvectors, double evs_tolerance, int evs_max_iterations, double k_means_tolerance, int k_means_max_iterations, bool_t do_expensive_check, cugraph_clustering_result_t **result, cugraph_error_t **error)#
谱聚类。
注意:这当前封装了旧版谱聚类实现,并且仅在单 GPU 实现中可用。
- 参数:
handle – [in] 访问资源的句柄
graph – [in] 图的指针。注意:如果存储需要转置,图可能会被修改
n_clusters – [in] 期望的簇数量
n_eigenvectors – [in] 要使用的特征向量数量
evs_tolerance – [in] 特征值求解器使用的容差
evs_max_iterations – [in] 特征值求解器的最大迭代次数
k_means_tolerance – [in] k-means 求解器使用的容差
k_means_max_iterations – [in] k-means 求解器的最大迭代次数
do_expensive_check – [in] 一个标志,用于对输入参数运行昂贵的检查(如果设置为 true)
result – [out] 包含聚类结果的不透明对象
error – [out] 指向存储任何错误详细信息的错误对象的指针。如果错误码不是 CUGRAPH_SUCCESS,将填充此对象
- 返回:
错误码
-
cugraph_error_code_t cugraph_analyze_clustering_modularity(const cugraph_resource_handle_t *handle, cugraph_graph_t *graph, size_t n_clusters, const cugraph_type_erased_device_array_view_t *vertices, const cugraph_type_erased_device_array_view_t *clusters, double *score, cugraph_error_t **error)#
计算指定聚类的模块度。
注意:这当前封装了旧版谱模块度实现,并且仅在单 GPU 实现中可用。
- 参数:
handle – [in] 访问资源的句柄
graph – [in] 图的指针。注意:如果存储需要转置,图可能会被修改
n_clusters – [in] 期望的簇数量
vertices – [in] 聚类结果中的顶点 ID
clusters – [in] 聚类结果中的簇 ID
score – [out] 此聚类的模块度分数
error – [out] 指向存储任何错误详细信息的错误对象的指针。如果错误码不是 CUGRAPH_SUCCESS,将填充此对象
- 返回:
错误码
谱聚类 - 边割#
-
cugraph_error_code_t cugraph_analyze_clustering_edge_cut(const cugraph_resource_handle_t *handle, cugraph_graph_t *graph, size_t n_clusters, const cugraph_type_erased_device_array_view_t *vertices, const cugraph_type_erased_device_array_view_t *clusters, double *score, cugraph_error_t **error)#
计算指定聚类的边割。
注意:这当前封装了旧版谱边割实现,并且仅在单 GPU 实现中可用。
- 参数:
handle – [in] 访问资源的句柄
graph – [in] 图的指针。注意:如果存储需要转置,图可能会被修改
n_clusters – [in] 期望的簇数量
vertices – [in] 聚类结果中的顶点 ID
clusters – [in] 聚类结果中的簇 ID
score – [out] 此聚类的边割分数
error – [out] 指向存储任何错误详细信息的错误对象的指针。如果错误码不是 CUGRAPH_SUCCESS,将填充此对象
- 返回:
错误码
-
cugraph_error_code_t cugraph_analyze_clustering_ratio_cut(const cugraph_resource_handle_t *handle, cugraph_graph_t *graph, size_t n_clusters, const cugraph_type_erased_device_array_view_t *vertices, const cugraph_type_erased_device_array_view_t *clusters, double *score, cugraph_error_t **error)#
计算指定聚类的比率割。
注意:这当前封装了旧版谱比率割实现,并且仅在单 GPU 实现中可用。
- 参数:
handle – [in] 访问资源的句柄
graph – [in] 图的指针。注意:如果存储需要转置,图可能会被修改
n_clusters – [in] 期望的簇数量
vertices – [in] 聚类结果中的顶点 ID
clusters – [in] 聚类结果中的簇 ID
score – [out] 此聚类的比率割分数
error – [out] 指向存储任何错误详细信息的错误对象的指针。如果错误码不是 CUGRAPH_SUCCESS,将填充此对象
- 返回:
错误码
社区支持函数#
- cugraph_type_erased_device_array_view_t *cugraph_triangle_count_result_get_vertices(cugraph_triangle_count_result_t *result)#
获取三角形计数顶点。
- cugraph_type_erased_device_array_view_t *cugraph_triangle_count_result_get_counts(cugraph_triangle_count_result_t *result)#
获取三角形计数结果。
- void cugraph_triangle_count_result_free(cugraph_triangle_count_result_t *result)#
释放三角形计数结果。
- 参数:
result – [in] 采样算法的结果
- cugraph_type_erased_device_array_view_t *cugraph_hierarchical_clustering_result_get_vertices(cugraph_hierarchical_clustering_result_t *result)#
获取分层聚类顶点。
- cugraph_type_erased_device_array_view_t *cugraph_hierarchical_clustering_result_get_clusters(cugraph_hierarchical_clustering_result_t *result)#
获取分层聚类簇。
- double cugraph_hierarchical_clustering_result_get_modularity(cugraph_hierarchical_clustering_result_t *result)#
获取模块度。
- void cugraph_hierarchical_clustering_result_free(cugraph_hierarchical_clustering_result_t *result)#
释放分层聚类结果。
- 参数:
result – [in] 采样算法的结果