hits#
- hits(G, max_iter=100, tol=1e-08, nstart=None, normalized=True, *, method='power_iteration')[source]#
Returns HITS hubs and authorities values for nodes.
The HITS algorithm computes two numbers for a node. Authorities estimates the node value based on the incoming links. Hubs estimates the node value based on outgoing links.
- Parameters:
- Ggraph
A NetworkX graph
- max_iterinteger, optional
Maximum number of iterations in power method.
- tolfloat, optional
Error tolerance used to check convergence in power method iteration.
- nstartdictionary, optional
Starting value of each node for power method iteration.
- normalizedbool (default=True)
Normalize results by the sum of all of the values.
- methodstring (default=”power_iteration”)
The implementation to use, one of “power_iteration” or “svd”. The “svd” method computes the values from the largest singular value/vectors of the adjacency matrix using
scipy.sparse.linalg.svds.
- Returns:
- (hubs,authorities)two-tuple of dictionaries
Two dictionaries keyed by node containing the hub and authority values.
- Raises:
- PowerIterationFailedConvergence
If the algorithm fails to converge to the specified tolerance within the specified number of iterations of the power iteration method.
- ValueError
If
methodis not one of “power_iteration” or “svd”.
Notes
With
method="power_iteration", the eigenvector calculation is done by the power iteration method and has no guarantee of convergence. The iteration will stop aftermax_iteriterations or when the change in the hub values between two successive iterations is smaller thantol. Withmethod="svd",max_iterandtolare passed toscipy.sparse.linalg.svds.The HITS algorithm was designed for directed graphs but this algorithm does not check if the input graph is directed and will execute on undirected graphs.
References
[1]A. Langville and C. Meyer, “A survey of eigenvector methods of web information retrieval.” https://epubs.siam.org/doi/epdf/10.1137/S0036144503424786
[2]Jon Kleinberg, Authoritative sources in a hyperlinked environment Journal of the ACM 46 (5): 604-32, 1999. https://www.cs.cornell.edu/home/kleinber/auth.pdf doi:10.1145/324133.324140.
Examples
>>> G = nx.path_graph(4) >>> h, a = nx.hits(G) ----
Additional backends implement this function
- cugraphGPU-accelerated backend.
- Additional parameters:
- dtypedtype or None, optional
The data type (np.float32, np.float64, or None) to use for the edge weights in the algorithm. If None, then dtype is determined by the edge values.
- weightstring or None, optional (default=”weight”)
The edge attribute to use as the edge weight.
graphblas : OpenMP-enabled sparse linear algebra backend.