Due to increasing popularity of Internet and Web2.0, the User-Generated Contents (UGCs) are growing exponentially. Since most of the UGCs are not independent, rather linked, the graph data structure is being considered as a suitable mathematical tool to model the inherent relationships among data. Simple linked data are generally modelled using simple graph , where is the set of vertices representing key concepts or entities and is the set of links between the vertices representing the relationships between the concepts or entities. Depending on the nature of data to be modelled, the graph could be weighted/un-weighted or directed/undirected, and it may have self-loops. However, there are many complex data like online social networks, where an entity is characterized by a set of features and multiple relationships exist between an entity-pair. To model such data, the concept of multi-attributed graph can be used wherein each vertex is represented by an
-dimensional vector and there may be multiple weighted edges between each pair of vertices. In other words, in a multi-attributed graph, both vertices and edges are assigned multiple labels. One of the important tasks related to graph data analysis is to decompose a given graph into multiple cohesive sub-graphs, called clusters, based on some common properties. The clustering is an unsupervised learning process to identify the underlying structure (in the form of clusters) of data, which is generally based on some similarity/distance measures between data elements. Graph clustering is special case of clustering process which divides an input graph into a number of connected components (sub-graphs) such that intra-component edges are maximum and inter-components edges are minimum. Each connected component is called a cluster (aka community)(Girvan and Newman, 2002). Though graph clustering has received attention of many researchers and a number of methods for graph clustering has been proposed by various researchers (Schaeffer, 2007), to the best of our knowledge, the field of clustering multi-attributed graph is still unexplored.
Since similarity/distance measure is the key requirement for any clustering algorithm, in this paper, we have proposed a novel weighted distance measure based on weighted Euclidean norm to calculate the distance between the vertices of a multi-attributed graph. The proposed distance measure considers both vertex and edge weight-vectors, and it is flexible enough to assign different weightage to different edges and scale the overall edge-weight while computing the weighted distance between a vertex-pair. We have also proposed a MAGDist algorithm that reads the lists of vertex and edge vectors as two separate CSV files and calculates the distance between each vertex-pairs using the proposed weighted distance measure. Finally, we have proposed a multi-attributed similarity graph generation algorithm, MAGSim, which reads the output of MAGDist algorithm and generates a similarity graph. In other words, MAGDist and MAGSim algorithms can be used to transform a multi-attributed graph into a simple weighted similarity graph, wherein a single weighted edge exists between each vertex-pair. Thereafter, the weighted similarity graph can be analysed using existing classification and clustering algorithms for varied purposes. The efficacy of the proposed distance measure and algorithms is tested over the well-known Iris data set and a Twitter data set related to three different events. The proposed similarity graph generation approach is compared with other existing similarity graph generation methods like Gaussian kernel and -nearest neighbours methods, and it is found that our proposed approach yields better clustering results in comparison to the existing methods. Moreover, the proposed distance measure can be applied to any graph data where both vertices are edges are multi-dimensional real vectors. In case, the data is not linked, i.e., edges do not exist between the edges, the proposed distance measure simple works as an Euclidean distance between the node vectors.
The rest of the paper is organized as follows. Section 2 presents a brief review on various distance measures and graph clustering methods. Section 3 presents the formulation of our proposed weighted distance measure for multi-attributed graph. It also presents the founding mathematical concepts and formal descriptions of the MAGDist and MAGSim algorithms. Section 4 presents the experimental setup and evaluation results. Finally, section 5 concludes the paper with future directions of work.
2. Related Work
Multi-attributed graph is used to model many complex problems, mainly those in which objects or entities are characterized using a set of features and linked together in different ways. For example, an online social network user can be characterized using a set of features like ID, display name, demographic information, interests, etc. Similarly, two person in an online social network may be associated through different relationships like friendship, kinship, common interests, common friends, etc (Bhat and Abulaish, 2013). In (Kolar et al., 2014)
, the authors proposed a new principled framework for estimating graphs from multi-attribute data. Their method estimates the partial canonical correlations that naturally accommodate complex vertex features instead of estimating the partial correlations. However, when the vertices of a multi-attributed graph have different dimensions, it is unclear how to combine the estimated graphs to obtain a single Markov graph reflecting the structure of the underlying complex multi-attributed data. In(Katenka and Kolaczyk, 2011), Katenka and Kolaczyk proposed a method for estimating association networks from multi-attribute data using canonical correlation as a dependence measure between two groups of attributes.
Clustering is an unsupervised learning technique which aims to partition a data set into smaller groups in which elements of a group are similar and that elements from different groups are dissimilar. As a result, clustering has broad applications, including the analysis of business data, spatial data, biological data, social network data, and time series data (Zhou et al., 2009), and a large number of researchers have targeted clustering problem (Agrawal et al., 1998; Gibson et al., 1998; Ng and Han, 1994). Since graph is a popular data structure to model structural as well as contextual relationships of data objects, recently graph data clustering is considered as one of the interesting and challenging research problems (Newman and Girvan, 2004; Xu et al., 2007), and it aims to decompose a large graph into different densely connected components. Some of the applications of the graph clustering is community detection in online social networks (Bhat and Abulaish, 2014a, 2015, 2017), social bot detection (Fazil and Abulaish, 2017a, b), spammer detection (Abulaish and Bhat, 2015; Bhat and Abulaish, 2014b; Ahmed and Abulaish, 2013; Bhat et al., 2014), functional relation identification in large protein-protein interaction networks, and so on. Generally graph clustering methods are based on the concept of normalized cut, structural density, or modularity(Newman and Girvan, 2004; Xu et al., 2007). However, like (Tian et al., 2008), graphs can be partitioned on the basis of attribute similarity in such a way that vertices having similar attribute vectors are grouped together to form a cluster. Mainly graph clustering and simple data clustering differs in the way associations between objects are calculated. In graph clustering, the degree of association between a pair of objects is calculated as closeness between the respective nodes of the graph, generally in terms of number of direct links or paths between them. Whereas, in simple data clustering, the degree of association between a pair of objects is calculated in terms of similarity/distance measure between the vector representations of the objects. Both topological structure and vertex properties of a graph play an important role in many real applications. For example, in a social graph, vertex properties can be used to characterize network users, whereas edges can be used to model different types of relationships between the users.
It can be seen from the discussions mentioned above that most of the graph analysis approaches have considered only one aspect of the graph structure and ignored the other aspects, due to which the generated clusters either have loose intra-cluster structures or reflect a random vertex properties distribution within clusters. However, as stated in (Zhou et al., 2009), “an ideal graph clustering should generate clusters which have a cohesive intra-cluster structure with homogeneous vertex properties, by balancing the structural and attribute similarities”. Therefore, considering both vertex attributes and links for calculating similarity/distance between the pairs of vertices in a graph is one of basic requirements for clustering complex multi-attributed graphs. In this paper, we have proposed a weighted distance function that can transform a multi-attributed graph into a simple similarity graph on which existing graph clustering algorithms can be applied to identify densely connected components.
3. Preliminaries and Distance Measures
In this section, we present the mathematical basis and formulation of the proposed weighted distance measures for multi-attributed graph. Starting with the basic mathematical concepts in subsection 3.1, the formulation of the proposed distance function along with an example is presented in the subsequent subsections.
3.1. Founding Mathematical Concepts
Since the Linear Algebra concepts inner product and norm generally form the basis for any distance function, we present a brief overview of these mathematical concepts in this section.
An inner product is a generalized form of the vector dot product to multiply vectors together in such a way that the end result is a scalar quantity. If and are two vectors in the vector space , then the inner product of and is denoted by and defined using equation 1 (Olver, 2008).
Alternatively, inner product of and can be defined as a matrix product of row vector and column vector using equation 2. However, as stated in (Olver, 2008), an inner product must satisfy the following four basic properties, where , , and belong to , and is a scalar quantity.
Weighted Inner Product:
The weighted inner product is generally used to emphasize certain features (dimensions) through assigning weight to each dimension of the vector space . If are positive real numbers between and and is a corresponding diagonal matrix of order , then the weighted inner product of vectors and is defined by equation 3 (Olver, 2008). It can be easily verified that weighted inner product also satisfies the four basic properties of the inner product mentioned earlier in this section.
In linear algebra and related area of mathematics, the norm on a vector space is a function used to assign a non negative real number to each vector . Every inner product gives a norm that can be used to calculate the length of a vector. However, not every norm is derived from an inner product (Olver, 2008). The norm of a vector is denoted by and can be defined using equation 4.
As given in (Olver, 2008), if and are two vectors of the vector space and is a scalar quantity, then every norm satisfies the following three properties.
with iff (positivity)
Some of the well-known norms defined in (Weisstein, 2002) are as follows:
L-norm (aka Manhattan norm): The -norm of a vector is simply obtained by adding the absolute values of its components. Formally, the L-norm of the vector is represented as and it can be defined using equation 5.
L-norm (aka Euclidean norm): The -norm of a vector is obtained by taking the positive square root of the sum of the square of its components. Formally, the L-norm of a vector is represented as and it can be defined using equation 6.
Infinity-norm (aka max-norm): The Infinity-norm of a vector is obtained as maximum of the absolute values of the components of the vector. Formally, the infinity-norm of the vector is represented as and it can be defined using equation 7.
L-norm: The norm of a vector is the positive root of the sum of power of the absolute value of the components of the vector. Formally, the -norm of the vector is represented as and it can be defined using equation 8.
Weighted Euclidean norm: The weighted Euclidean norm of a vector is a special case of the Euclidean norm in which different dimensions of can have different weights. If is a row matrix of order , and is a diagonal matrix of order whose diagonal element is the weight of the dimension of the vector , then the weighted Euclidean norm of is the positive square root of the product matrix . In case
is an identity matrix, this gives simply theEuclidean norm. Formally, for a given vector and a weight (diagonal) matrix of order , the weighted Euclidean norm of is represented as and defined using equation 9.
3.2. Multi-Attributed Graph
In this section, we present a formal definition of multi-attributed graph, in which both vertices and edges can be represented as multi-dimensional vectors. Mathematically, a multi-attributed graph can be defined as a quadruple , where represents the set of vertices, represents the set of edges, is a vertex-label function that maps each vertex to an -dimensional real vector, and is an edge-label function that maps each edge to an -dimensional real vector. Accordingly, a vertex in a multi-attributed graph can be represented as an -dimensional vector and an edge between a vertex-pair can be represented as an -dimensional vector .
3.3. Proposed Weighted Distance Measure
In this section, we present our proposed weighted distance measure for multi-attributed graph that is based on weighted Euclidean norm. If and are two vertices of a multi-attributed graph and is a multi-labelled edge between and , then the distance between and is denoted by and calculated using equation 10, where is a scalar value (equation 11), and is an identity matrix of order . The value of depends on the aggregate weight, , of the edges between the vertex-pair , which is calculated using equation 12. The value of is a user-supplied threshold, providing flexibility to tune the value of for calculating distance between a vertex-pair. In equation 12, is a constant such that and .
It may be noted that the function defined using equation 11 is a monotonic decreasing function, as proved in theorem 3.1, so that the distance between a vertex-pair could decrease with increasing ties between them, and vice-versa. The novelty of the proposed distance function lies in providing flexibility (i) to assign different weights to individual edges using , and (ii) to control the degree of monotonicity using , as shown in figure 1. It may also be noted that the value of will always be 1, if either if or .
Theorem 3.1 ().
The function defined in equation 11 is a monotonically decreasing function.
Let be a function of , where is the aggregate weight of edges between a vertex-pair .
Let such that
Hence, is a monotonically decreasing function of for .
Similarly, it can be shown that is a monotonically decreasing function of for .
Let be a function of
Let such that
Hence, is a monotonically decreasing function of for . ∎
It should be noted that if there is no direct link (edge) between a vertex pair , then the value of in equation 11 becomes zero, leading the value of to 1. In this case, the value of is simply an Euclidean distance between the vertex-pair , as proved in theorem 3.2.
Theorem 3.2 ().
In a multi-attributed graph, if there is no edge between a vertex-pair then the distance between them is simply an Euclidean distance.
Let and be two vertices not connected by any edge.
Since there is no edge between the vertex-pair , the edge vector .
Hence, [using equation 12]
Hence, [using equation 11]
Finally, [using equation 10]
, which is an Euclidean distance between the vertex-pair (, ). ∎
Algorithm 1 presents a formal way to calculate the distance between all pairs of vertices of a given multi-attributed graph using MAGDist. The proposed MAGDist algorithm reads a multi-attributed graph using two separate CSV files – one containing the list of vertex vectors and the other containing the list of edge vectors, and produces the distance between each vertex-pairs as a CSV file, wherein each tuple contains a vertex-pair and distance value. We have also proposed MAGSim algorithm to generate similarity graph using the distance values calculated by the MAGDist algorithm. The proposed algorithm reads each vertex-pair and its distance value and calculates similarity between the vertex-pair using equation 13.
Example: Figure 2 presents a simpler case of multi-attributed graph having four vertices in which each vertex is represented as a two dimensional feature vector and each edge is represented as an one dimensional vector. In case, there is no direct edge between a pair of vertices (e.g., and ), the corresponding edge vector is a zero vector. If we simply calculate the Euclidean distance between the vertex-pairs, then the distance between the vertex-pairs and is same (10 unit), whereas the distance calculated by the proposed MAGDist differs, based on the weight of the edges between them. Similarly, the Euclidean distance between the vertex-pairs and are same (), but the distance values calculated using MAGDist are different. The distance values between each vertex-pairs of the multi-attributed graph calculated using MAGDist for and are is shown in and matrices, respectively of figure 2. It can be observed that giving more weightage to edges by increasing the value of reduces the distance between the respective vertex-pairs.
Figure 3 presents a multi-attributed graph in which both vertex and edge labels are multi-dimensional vectors. For example, the edge vector corresponding to the edge connecting and is . If we simply calculate the Euclidean distance between the vertex-pairs, then the distance between the vertex-pairs and is same (10 unit), whereas the distance calculated by the proposed MAGDist differs, based on the weight of the edges between them. The distance values between each vertex-pairs of the multi-attributed graph calculated using MAGDist for and are is shown in and matrices, respectively of figure 3. It can be observed from these two distance matrices too that giving more weightage to edges by increasing the value of reduces the distance between the respective vertex-pairs.
4. Experimental Setup and Results
To establish the efficacy of the proposed MAGDist distance measure, we have considered the well-known Iris data set 111http://archive.ics.uci.edu/ml/datasets/Iris, which contains total 150 instances of three different categories of Iris flower; 50 instances of each category. The Iris data set can be represented as a data matrix, wherein each row represents an Iris flower, first four columns represent four different attribute values in centimetre, and the column represents class labels (categories) of the Iris flower as Setosa, Virginica, or Versicolour. Table 1 shows a partial snapshot of the Iris data set.
|Sepal length||Sepal width||Petal length||Petal width||Species|
We model Iris data set as a multi-attributed similarity graph in which each vertex is a 4-dimensional vector representing a particular instance of the Iris flower. The edge (similarity) between a vertex-pair is determined using equation 14 on the basis of the Gaussian kernel value defined in equation 15, where is a constant value (Zaki and Jr, 2014).
The resulting multi-attributed Iris similarity graph is shown in figure 4 (termed hereafter as for rest of the paper), which contains 150 vertices and 2957 edges. In this graph, the instances of Setosa, Virginica, or Versicolour are shown using triangles, squares, and circles, respectively. Although for all vertices, we haven’t shown self-loops in this graph. The proposed MAGDist algorithm is applied over to calculate distance between all vertex-pairs, and finally MAGSim algorithm is applied to generate Iris similarity graph (termed hereafter as for rest of the paper), which is shown in figure 5. In (Zaki and Jr, 2014), the authors have also used Gaussian kernel followed by the concept of nearest-neighbours to generate Iris similarity graph (termed hereafter as
for rest of the paper) and applied Markov Clustering (MCL) to classify the instances of the Iris data into three different categories. Therefore, in order to verify the significance of ourMAGDist and MAGSim algorithms, we have also applied the MCL over the Iris similarity graphs and , and present a comparative analysis of all clustering results. Figures 6 and 7 present the clustering results after applying MCL over the Iris similarity graphs and , respectively. Table 2
presents the contingency table for the discovered clusters versus true Iris types from all three different Iris similarity graphs. It can be observed from this table that, in case of, only six instances of iris-versicolor are wrongly grouped with iris-virginica in and three instances of iris-virginica are wrongly grouped with iris-versicolor in ; whereas in forty iris-versicolor instances are wrongly grouped with iris-virginica in , and in , one instance of iris-versicolor is wrongly grouped with iris-setosa in and fourteen instances of iris-virginica are wrongly grouped with iris-versicolor in .
We have also analyzed the significance of different similarity graph generation methods in terms of True Positive Rate (TPR) and False Positive Rates (FPR) that are defined using equations 16 and 17, respectively. In these equations, TP is the True Positives, representing the number of correctly classified positive instances, FP is the False Positives, representing the number of wrongly classified negative instances, and P and N represent the total number of positive and negative instances, respectively in the data set. Table 3 presents TPR and FPR values for all three different similarity graphs, showing best results for , which has been generated using our proposed MAGDist and MAGSim algorithms.
|Clusters||(Zaki and Jr, 2014)|
|Clusters||(Zaki and Jr, 2014)|
4.1. Evaluation Results on Twitter Data Set
In order to illustrate the application of the proposed distance measure over a real multi-attributed graph, we have considered a Twitter data set of 300 tweets, comprising equal number of tweets related to three different events – NoteBandi (NTB), RyanInternationalSchool (RIS), and Rohingya (ROH). The tweets are modelled as a multi-attributed graph, wherein each vertex represents a tweet as an 110-dimensional binary vector based on the top-110 key-terms identified using tf-idf, and two different edges exist between a vertex-pair – one representing the degree of Hashtags overlap and the other representing the tweet-time overlap. The similarity graph is generated using MAGSim algorithm, and shown in figure 8 wherein the instances of NoteBandi, RyanInternationalSchool, and Rohingya are represented using squares, triangles, and circles, respectively. Finally, MCL is applied over the similarity graph to group the tweets into different clusters shown in figure 9. The evaluation of the obtained clusters is given in table 4. It can be seen from this table that only five instances of RyanInternationalSchool are wrongly clustered with Rohingya in .
|Clusters||Contingency Table||Evaluation Results|
5. Conclusion and Future Works
In this paper, we have proposed a novel weighted distance measure based on weighted Euclidean norm that can be used to calculate the distance between vertex-pairs of a multi-attributed graph containing multi-labelled vertices and multiple edges between a single vertex-pair. The proposed distance measure considers both vertex and edge weight-vectors, and it is flexible enough to assign different weightage to different edges and scale the overall edge-weight while computing the weighted distance between a vertex-pair. We have also proposed a MAGDist algorithm that reads the lists of vertex and edge vectors as two separate CSV files and calculates the distance between each vertex-pairs using the proposed weighted distance measure. Finally, we have proposed a multi-attributed similarity graph generation algorithm, MAGSim, which reads the output produced by the MAGDist algorithm and generates a similarity graph, which can be used by the existing classification and clustering algorithms for various analysis tasks. Since the proposed MAGDist algorithm reads multi-attributed graph as CSV files containing vertex and edge vectors, it can be scaled to handle large complex graphs (aka big graphs). Applying proposed distance measure and algorithms on (research articles) citation networks and online social networks to analyze them at different levels of granularity is one of the future directions of work.
- Abulaish and Bhat (2015) Muhammad Abulaish and Sajid Yousuf Bhat. 2015. Classifier Ensembles using Structural Features for Spammer Detection in Online Social Networks. Foundations of Computing and Decision Sciences 40, 2 (2015), 89–105.
Agrawal et al. (1998)
Rakesh Agrawal, Johannes
Gehrke, Dimitrios Gunopulos, and
Prabhakar Raghavan. 1998.
Automatic Subspace Clustering of High Dimensional Data for Data Mining Applications. InProceedings of the ACM SIGMOD international conference on Management of data. Seattle, Washington, USA, 94–105.
- Ahmed and Abulaish (2013) Faraz Ahmed and Muhammad Abulaish. 2013. A Generic Statistical Approach for Spam Detection in Online Social Networks. Computer Communications 36, 10-11 (2013), 1120–1129.
- Bhat and Abulaish (2013) Sajid Yousuf Bhat and Muhammad Abulaish. 2013. Analysis and Mining of Online Social Networks - Emerging Trends and Challenges. WIREs Data Mining and Knowledge Discovery 3, 6 (2013), 408–444.
- Bhat and Abulaish (2014a) Sajid Yousuf Bhat and Muhammad Abulaish. 2014a. HOCTracker: Tracking the Evolution of Hierarchical and Overlapping Communities in Dynamic Social Networks. IEEE Transactions on Knowledge and Data Engineering 27, 4 (2014), 1019–1032. DOI:http://dx.doi.org/10.1109/TKDE.2014.2349918
- Bhat and Abulaish (2014b) Sajid Yousuf Bhat and Muhammad Abulaish. 2014b. Using communities against deception in online social networks. Computer Fraud & Security 2014, 2 (2014), 8–16.
- Bhat and Abulaish (2015) Sajid Yousuf Bhat and Muhammad Abulaish. 2015. OCMiner: A Density-Based Overlapping Community Detection Method for Social Networks. Intelligent Data Analysis 19, 4 (2015), 1–31.
- Bhat and Abulaish (2017) Sajid Yousuf Bhat and Muhammad Abulaish. 2017. A Unified Framework for Community Structure Analysis in Dynamic Social Networks. In Hybrid Intelligence for Social Networks, Hema Banati, Siddhartha Bhattacharyya, Ashish Mani, and Mario Koppen (Eds.). Springer, 1–21.
- Bhat et al. (2014) Sajid Y. Bhat, Muhammad Abulaish, and Abdulrahman A. Mirza. 2014. Spammer Classification using Ensemble Methods over Structural Social Network Features. In Proceedings of the 14th IEEE/WIC/ACM International Conference on Web Intelligence (WI’14). Warsaw, Poland, 11–14.
- Fazil and Abulaish (2017a) Mohd Fazil and Muhammad Abulaish. 2017a. Identifying Active, Reactive, and Inactive Targets of Socialbots in Twitter. In Proceedings of the IEEE/WIC/ACM International Conference on Web Intelligence (WI’17), Leipzig, Germany. ACM, 573–580.
- Fazil and Abulaish (2017b) Mohd Fazil and Muhammad Abulaish. 2017b. Why a Socialbot is Effective in Twitter? A Statistical Insight. In Proceedings of the 9th International Conference on Communication Systems and Networks (COMSNETS), Social Networking Workshop, Bengaluru, India. 562–567.
- Gibson et al. (1998) David Gibson, Jon Kleinberg, and Prabhakar Raghavan. 1998. Inferring Web Communities from Link Topology. In Proceedings of the Ninth ACM Conference on Hypertext and Hypermedia. ACM, New York, USA, 225–234.
- Girvan and Newman (2002) M. Girvan and M. E. J. Newman. 2002. Community structure in social and biological networks. In Proceedings of the National Academy of Sciences. USA, 8271–8276.
- Katenka and Kolaczyk (2011) Natallia Katenka and Eric D. Kolaczyk. 2011. Multi-Attribute Networks and the Impact of Partial Information on Inference and Characterization. The Annals of Applied Statistics 6, 3 (2011), 1068–1094.
et al. (2014)
Mladen Kolar, Han Liu,
and Eric P. Xing. 2014.
Graph Estimation From Multi-Attribute Data.
Journal of Machine Learning Research15 (2014), 1713–1750. http://jmlr.org/papers/v15/kolar14a.html
- Newman and Girvan (2004) M. E. Newman and M. Girvan. 2004. Finding and evaluating community structure in networks. Physical Review E69, 026113 (Feb 2004).
- Ng and Han (1994) Raymond T. Ng and Jiawei Han. 1994. Efficient and Effective Clustering Methods for Spatial Data Mining. In Proceedings of the 20th International Conference on Very Large Data Bases. Santiago, Chile, 144–155.
- Olver (2008) Peter J. Olver. 2008. Numerical Analysis Lecture Note. Retrieved on 18.03.2017 from http://www-users.math.umn.edu/~olver/num_/lnn.pdf.
- Schaeffer (2007) S. E. Schaeffer. 2007. Graph clustering. Computer Science Review 1, 1 (2007), 27–64. DOI:http://dx.doi.org/10.1016/j.cosrev.2007.05.001
- Tian et al. (2008) Yuanyuan Tian, Richard A. Hankins, and Jignesh M. Patel. 2008. Efficient Aggregation for Graph Summarization. In Proceedings of the ACM SIGMOD International Conference on Management of Data. Vancouver, Canada, 567–580.
- Weisstein (2002) E.W. Weisstein. 2002. Vector Norm. Wolfram MathWorld. Retrieved on 18.03.2017 from http://mathworld.wolfram.com/VectorNorm.html.
- Xu et al. (2007) Xiaowei Xu, Nurcan Yuruk, Zhidan Feng, and Thomas A. J. Schweiger. 2007. SCAN: A Structural Clustering Algorithm for Networks. In Proceedings of the 13th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. San Jose, California, USA, 824–833.
- Zaki and Jr (2014) Mohammed J. Zaki and Wagner Meira Jr. 2014. Data Mining and Analysis: Fundamental Concepts and Algorithms. Cambridge University Press, New York, USA.
- Zhou et al. (2009) Yang Zhou, Hong Cheng, and Jeffrey Xu Yu. 2009. Graph Clustering Based on Structural/Attribute Similarities. VLDB Endowment 2, 1 (Aug 2009), 718–729. DOI:http://dx.doi.org/10.14778/1687627.1687709