社区#
三角形计数#
-
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)#
三角形计数。
- Parameters:
handle – [in] 用于访问资源的句柄
graph – [in] 指向图的指针。注意:如果存储需要转置,图可能会被修改
start – [in] 我们想要计算三角形的顶点设备数组。如果为NULL,则处理图中的所有顶点。
do_expensive_check – [in] 一个标志,用于运行输入参数的昂贵检查(如果设置为true)
result – [out] 从 triangle_count 调用中输出的结果
error – [out] 指向存储任何错误详细信息的错误对象的指针。如果错误代码不是CUGRAPH_SUCCESS,将会被填充。
- Returns:
错误代码
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。
- Parameters:
handle – [in] 用于访问资源的句柄
graph – [in] 指向图的指针。注意:如果存储需要转置,图可能会被修改
max_level – [in] 层次结构中的最大级别
threshold – [in] 阈值参数,定义层次结构中每个级别的收敛性
resolution – [in] 模块化公式中的分辨率参数(gamma)。这会影响社区的大小。较高的分辨率会导致更多的小社区,较低的分辨率会导致较少的大社区。
do_expensive_check – [in] 一个标志,用于运行输入参数的昂贵检查(如果设置为true)
result – [out] Louvain调用的输出结果
error – [out] 指向存储任何错误详细信息的错误对象的指针。如果错误代码不是CUGRAPH_SUCCESS,将会被填充。
- Returns:
错误代码
莱顿#
-
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)#
计算莱顿。
- Parameters:
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,将会被填充。
- Returns:
错误代码
心电图#
-
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)#
计算心电图聚类。
- Parameters:
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,将会被填充。
- Returns:
错误代码
提取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)#
提取自我图。
- Parameters:
handle – [in] 用于访问资源的句柄
graph – [in] 指向图的指针。注意:如果存储需要转置,图可能会被修改
source_vertices – [in] 设备数组,包含我们想要提取egonets的顶点。
radius – [in] 从每个源顶点出发的跳数
do_expensive_check – [in] 一个标志,用于运行输入参数的昂贵检查(如果设置为true)
result – [out] 包含提取子图的不透明对象
error – [out] 指向存储任何错误详细信息的错误对象的指针。如果错误代码不是CUGRAPH_SUCCESS,将会被填充。
- Returns:
错误代码
平衡切割#
-
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实现中可用。
- Parameters:
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,将会被填充。
- Returns:
错误代码
谱聚类 - 模块度最大化#
-
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实现中可用。
- Parameters:
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,将会被填充。
- Returns:
错误代码
-
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实现中可用。
- Parameters:
handle – [in] 用于访问资源的句柄
graph – [in] 指向图的指针。注意:如果存储需要转置,图可能会被修改
n_clusters – [in] 期望的聚类数量
vertices – [in] 聚类结果中的顶点ID
clusters – [in] 聚类结果中的聚类ID
score – [out] 此聚类的模块度分数
error – [out] 指向存储任何错误详细信息的错误对象的指针。如果错误代码不是CUGRAPH_SUCCESS,将会被填充。
- Returns:
错误代码
谱聚类 - 边缘切割#
-
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实现中可用。
- Parameters:
handle – [in] 用于访问资源的句柄
graph – [in] 指向图的指针。注意:如果存储需要转置,图可能会被修改
n_clusters – [in] 期望的聚类数量
vertices – [in] 聚类结果中的顶点ID
clusters – [in] 聚类结果中的聚类ID
score – [out] 此聚类的边割分数
error – [out] 指向存储任何错误详细信息的错误对象的指针。如果错误代码不是CUGRAPH_SUCCESS,将会被填充。
- Returns:
错误代码
-
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实现中可用。
- Parameters:
handle – [in] 用于访问资源的句柄
graph – [in] 指向图的指针。注意:如果存储需要转置,图可能会被修改
n_clusters – [in] 期望的聚类数量
vertices – [in] 聚类结果中的顶点ID
clusters – [in] 聚类结果中的聚类ID
score – [out] 此聚类的比率切割分数
error – [out] 指向存储任何错误详细信息的错误对象的指针。如果错误代码不是CUGRAPH_SUCCESS,将会被填充。
- Returns:
错误代码
社区支持功能#
- 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)#
释放一个三角形计数结果。
- Parameters:
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)#
释放一个层次聚类结果。
- Parameters:
result – [in] 采样算法的结果