The k-components module

K Components class.

class hcga.features.k_components.KComponents(graph=None)[source]

K Components class.

Returns features based on the k component structure of a graph.

A k-component is a maximal subgraph of a graph G that has, at least, node connectivity k: we need to remove at least k nodes to break it into more components. k-components have an inherent hierarchical structure because they are nested in terms of connectivity: a connected graph can contain several 2-components, each of which can contain one or more 3-components, and so forth.

Uses networkx, see ‘https://networkx.org/documentation/stable/reference/algorithms/ approximation.html`

References

1

Torrents, J. and F. Ferraro (2015) Structural Cohesion: Visualization and Heuristics for Fast Computation. https://arxiv.org/pdf/1503.04476v1

2

White, Douglas R., and Mark Newman (2001) A Fast Algorithm for Node-Independent Paths. Santa Fe Institute Working Paper #01-07-035 http://eclectic.ss.uci.edu/~drwhite/working.pdf

3

Moody, J. and D. White (2003). Social cohesion and embeddedness: A hierarchical conception of social groups. American Sociological Review 68(1), 103–28. http://www2.asanet.org/journals/ASRFeb03MoodyWhite.pdf

Initialise a feature class.

Parameters

graph (Graph) – graph for initialisation, converted to given encoding

compute_features()[source]

Main feature extraction function.

This function should be used by each specific feature class to add new features.

hcga.features.k_components.eval_kcomponents(graph)[source]

this evaluates the main function and cach it for speed up.

hcga.features.k_components.max_num_components(graph)[source]
hcga.features.k_components.num_connectivity_levels_k(graph)[source]
hcga.features.k_components.size_2_component(graph)[source]
hcga.features.k_components.size_max_k_component(graph)[source]