Clustering graphs using random trees
Kevin Dalleau1 , Miguel Couceiro1 , and Malika Smail-Tabbone1
Universite de Lorraine, CNRS, Inria, LORIA, F-54000 Nancy, France{kevin.dalleau,miguel.couceiro, malika.smail}@loria.fr

Abstract. In this work-in-progress paper, we present GraphTrees, anovel method that relies on random decision trees to compute pairwise
distances between vertices in a graph. We show that our approach is competitive with the state of the art methods in the case of non-attributedgraphs in terms of quality of clustering. By extending the use of analready ubiquitous approach – the random trees – to graphs, our proposed approach opens new research directions, by leveraging decades ofresearch on this topic.

1

Introduction

Identifying community structure in graphs is a challenging task in many applications: computer networks, social networks, etc. In this paper, we propose adecision tree based method to compute pairwise distances between vertices that
we call GraphTrees (GT). These dissimilarities between vertices in a graph canbe used for clustering, but also for other purposes such as filtering or information
retrieval.
While many graph clustering algorithms have been proposed, all of them fall
into the three following categories:– Top-down approaches, where the set of vertices is split into partitions in aiterative fashion,– Bottom-up approaches, where each vertex is first assigned to its own cluster
and then merged with other vertices according to a specific measure,– Local optimization approaches, where a random clustering is first performed
and vertices are then migrated.
A thorough review of the methods already available has been performed by
Schaeffer et al. in [10]. Other interesting approaches have been proposed since,such as the Louvain clustering approach [1], based on modularity optimisation.
In this paper, we present a novel tree-based method enabling the computationof vertex-vertex similarities in graphs1 and that we call GraphTrees (GT).
1

To avoid terminology-related issues, we will exclusively use the terms vertex forgraphs and node for random trees throughout the paper.

2

K. Dalleau et al.

Using random trees on graphs leverages the use of decades of research on
the subject, opening a wide array of possible improvements. Moreover, using
different types of trees, the approach could be extended to vertex-attributedgraph clustering.
The paper is organized as follows. In Section 2, we present our method. Wethen discuss its performance in Section 3 through an empirical study on real andsynthetic datasets. In the last section of the paper, we present a brief discussionof our results and state some perspectives for future research.

2

MethodIn this section, we begin by describing our proposed method. We then compare
two different approaches to compute a (dis)similarity matrix. The first one isinspired by the approach of unsupervised extra-trees (UET) [3], while the second
one uses the mass-based distance proposed by [11].
The intuition behind GT is to leverage a recursive partition of the vertices tocompute (dis)similarities. This partition is performed using random trees. Thisapproach has already been studied in the case of data represented as feature
vectors [3],[11] but not to graphs.
UET is a tree-based method extending random trees to compute the similarities between instances. The idea is that all instances ending up in the same
leaves are more similar to each other than to other instances. The pairwise similarities s(i, j) are hence obtained by increasing s(i, j) for each leaf where bothi and j appear. A normalisation is finally performed when all trees have been
constructed, to have values in the interval [0, 1].
Leaves, and, more generally, nodes of the trees can be viewed as partitionsof the original space. Enumerating the number of co-occurrences in the leaves isthen the same as enumerating the number of co-occurrence of instances in thesmallest regions of a specific partitioning.
While the method has been applied to feature vectors, we show in this paperthat the same approach can be applied to graphs, with a simple change to thesplitting method. In UET, the split is performed by selecting a random cut-point
on one attribute, sampled from the attribute set without replacement. Whenapplied to graphs, the split can be performed in a similar fashion by choosing
randomly one vertex vs from the graph. Let N (v) be the set of neighbours ofa vertex v in a graph. When a split is done, the resulting left node contains all
vertices v ∈ N (vs ) and vs , while the right node contains the other vertices.
The algorithm of GT is presented Algorithm 1. Algorithm 2 presents how
to obtain a similarity matrix from the forest of random trees. This method ofcomputing a similarity matrix from the trees is the same as the one proposed in[3], the trees being GraphTrees.

Clustering graphs using random trees

Algorithm 1: Graph tree algorithm
Data: A graph G(V, E), an uninitialized stack S
Parameter: Minimum node size to split nmin
Result: A list of leaves L
root node = V ;vs = a vertex sampled without replacement from V ;Vlef t = N (vs ) ∪ {vs } ; //N (v) returns the set of neighbours of v
Vright = V \ Vlef t ;Push Vlef t and Vright to S ;leaves = []; //leaves is an empty list
while S is not empty do
Vnode = pop the last element of S;
if |Vnode | < nmin then
Append Vnode to leaves; //node size in lower than nmin , it is a leaf
node
end
else
vs = a vertex sampled without replacement from Vnode ;Vlef t = (Vnode ∩ N (vs )) ∪ {vs };Vright = Vnode \ Vlef t ;Push Vlef t to S;
Push Vright to S;
end
end
return leaves;

Algorithm 2: From a graph to a similarity matrix using graph trees
Data: Adjacency matrix A
Result: Similarity matrix S
T = graph tree ensemble(D, K) //; S = 0nobs ,nobs // Initialization of azero matrix of size nobs ;for Ii ∈ I do
for Ij ∈ I do
Si,j = number of times the instances Ii and Ij fall in the same leaf nodein each tree of T = {t1 , t2 , ..., tM };
end
end
Si,j
return Si,j = M
;

3

4

K. Dalleau et al.

This approach has some limitations. First, when a dissimilarity is needed, it
is necessary to apply a transformation to the similarity matrix. The choice oftransformation can have a great impact on the subsequent clustering. Moreover,this adds up to the time complexity of the method, as a transformation of ann × n similarity matrix is at least in O(n2 ), and can become an issue in large
graphs.
In [11], Ting et al. presents a probability mass-based dissimilarity measure,obtained using random trees. The key property of their proposed measure isthat the dissimilarity between two instances in a dense region is higher than
the same interpoint dissimilarity between two instances in a sparse region of thesame space. This mass-based dissimilarity between two instances depends on themass probability of the smallest region that covers these two instances.
Let H ∈ H(D) be a hierarchical partitioning of the original space of a dataset D
into non-overlapping and non-empty regions, and let R(x, y|H) be the smallest
local region covering x and y with respect to H. The mass-based dissimilarity
estimated by a finite number t of models is given by the following equation:tme (x, y|D) =1
where P (R) = |D|

1X
P (R(x, y|Hi ))
t i=1

(1)

P

z∈D 1(z ∈ R).

Fig. 1 presents an example of hierarchical partition H of a dataset D containing
8 instances. For the sake of the example, let us compute me (1, 4) and me (1, 8).
We have me (1, 4) = 81 (2) = 0.25, as the smallest region where instances 1 and4 co-appear contains 2 instances. However, me (1, 8) = 81 (8) = 1, since instances
1 and 8 only appear in one region of size 8, the original space. These instances
are vertices in our case.
Similarly to the first approach to obtain a dissimilarity matrix, mass-based
dissimilarity can be applied to graphs. The method is based on two steps: (i)partition the vertices using random trees, (ii) compute pairwise dissimilarities
between vertices using 1.
This approach has multiple advantages over the first one. First, as many clustering algorithms require a distance matrix as an input, a similarity matrix requires
a transformation to be used. Using the mass-based approach, this transformation
is no longer needed, as a dissimilarity matrix is obtained. Secondly, a mass-based
pairwise distance between vertices might be more effective to find communities
of varying densities.
The computation of pairwise vertex-vertex dissimilarities using Graph Trees
and the mass-based dissimilarity we just described has a time complexity ofO(tΨ log(Ψ ) + n2 tlog(Ψ )) [11], where t is the number of trees, Ψ the maximum
height of the trees, and n is the number of vertices. When Ψ << n, this timecomplexity becomes O(n2 ).

Clustering graphs using random trees

5

1, 2, 3, 4, 5, 6, 7, 8

1, 3, 4, 5

1, 4

2, 6, 7, 8

3, 5

2

6, 7, 8Fig. 1. Example of partitioning of 8 instances in non-overlapping non-empty regions
using a random tree structure. The blue and red circles denote the smallest nodes (i.e,regions) containing vertices 1 and 4 and vertices 1 and 8, respectively.

In the next section, we evaluate GT on both real-world and synthetic datasets.

3

Evaluation

This section is divided into 3 subsections. In Subsection 3.1 we present some preliminary work, where we assess the different methods to compute dissimilarities
between vertices. We then perform an assessment of the discriminative power ofour proposed method 3.2. Finally in 3.3, we present its clustering performance.
3.1

Comparison of GT using UET and graph trees using mass-based
dissimilarities

Even though the mass-based approach is more appealing than the UET approachcomplexity-wise, we empirically assess here how the two differ on various graphs.
The graphs used in this subsection are described in Table 1.
Table 1. Graphs used in Subsection 3.1
Graph# vertices # edges
Stochastic Block Model 1 115
1226
Stochastic Block Model 2 1005
25571
Email-Eu-Core
2708
5429
Random graph
200
12928

The stochastic bloc models (SBM) graphs are composed of k blocks of auser-defined size, connected by edges depending on a specific probability which
is a parameter. In this paper, we carried out an empirical study on two SBM,

6

K. Dalleau et al.

denoted SBM 1 and SBM 2 that differ by the probabilities of intra- and intercluster edge creation.
The Email-Eu-Core graph [12] [7] represents relations between members of a research institution, where edges represents communication between those members. The dataset also contains ground-truth community memberships of thevertices. Each individual belongs to exactly one of 42 departments at the research institute.
Finally, the random graph is an Erdos-Renyi random graph [5], where edges are
created with a probability p = 0.7 in our case. This graph does not exhibit any
cluster structure, and is used as a negative control.
We applied our proposed mass-based approach and naive approach to computevertex dissimilarities on these graphs. We then used t-SNE [8] to obtain a 2D
projection of these vertices. We finally plotted the distance distribution. All
results are presented in Fig. 2, 3, 4 and 5 .

Fig. 2. Random graph: the computed dissimilarities effectively shows an absence ofseparated clusters. The lowermost part presents the distribution of pairwise distance
between vertices.

We observe that in both SBM models, the density-based approach leads to
3 clearly separated clusters, whereas the approach using UET leads to a sparser
cluster. The difference between both methods is even greater in SBM2 here thedensity of edges between different clusters is higher. In that case, we observethat using GT with UET we effectively lose one cluster in the projection. In
the case of the Email-Eu-Core graph, the projection shows that the mass-based
approach better separates clusters than the naive one, where all clusters tend togather. Finally, using both approaches on the random graph gives an expected
result. Indeed, no clear cluster structure can be observed in the projection using
both approaches.
In the following section, we will assess the performance of GT. This evaluation
will be performed using the mass-based method, as we observed its versatility
in this subsection.

Clustering graphs using random trees

7

Fig. 3. SBM1 graph: the computed dissimilarities shows that the density-based approach leads to clearly separated clusters, with a dense core cluster, while the naive
one tends to a sparser core cluster. Left graphs corresponds to distances using GTMass-based, and right graphs to distances using GT-Classic.

Fig. 4. SBM2 graph: the computed dissimilarities shows that the density-based approach leads to clearly separated clusters, unlike the naive approach. Moreover, thedistribution of pairwise distance between vertices is more spread out when the massbased approach is used. Left graphs corresponds to distances using GT-Mass-based,
and right graphs to distances using GT-Classic.

8

K. Dalleau et al.

Fig. 5. Email-Eu-Core: the mass-based approach better separates clusters than thenaive approach, where all clusters are close. Left graphs corresponds to distances using GT-Mass-based, and right graphs to distances using GT-Classic. The mass-based
approach better separates clusters than the naive one, where all clusters tend to gather.

3.2

Assessment of the dissimilarities

All the experiments presented in this subsection are based on the comparison of
the mean intracluster dissimilarities and the mean intercluster dissimilarities, aswell as their differences, taking values in the interval [0, 1]. These metrics enable
a comparison that is agnostic to a subsequent clustering method.
The mean difference is computed as follows. First, the arithmetic mean of the
pairwise dissimilarities between all samples having the same label is computed,
corresponding to the mean intracluster dissimilarity µintra . Then the same process is done for samples with a different label, giving the mean intercluster dissimilarity µinter . We finally compute the difference ∆ = |µintra − µinter |. In our
experiments, this difference ∆ is computed 10 times. In the following section, ∆¯denotes the mean of differences between runs, and σ its standard deviation.
The datasets used in this subsection are described in Table 2. We compare
the values obtained using GT and two other methods, SimRank [6] and ASCOS[2]. Since these approaches compute similarities between vertices, we used therelation d(vi , vj ) = 1 − s(vi , vj ) to obtain pairwise dissimilarities.
Table 2. Datasets used for the evaluation of GT without any subsequent clustering
Dataset # vertices # edges # clusters
Karate 34
78
2
Polbooks 105
441
3Football 115
1226
10
WebKB 877
1480
4

The results are presented Table 3. We also computed the running time foreach computation, that are presented in Table 4.
¯ as it is lower in mostASCOS outperform the other distances in terms of ∆,cases. However, values of ∆¯ are similar and remain small for all methods andfor all datasets but Football. In terms of running time, GT outperforms bothmethods, except in the case of the Karate graph. This is explained by the factClustering graphs using random trees

9

Table 3. Comparison of the mean difference between mean intracluster dissimilarities
and mean intercluster dissimilarities on benchmark graph datasets. Best results are inboldface.
¯ (σ) SimRank - ∆¯ (σ) ASCOS - ∆¯ (σ)
Dataset GT - ∆Karate 0.131 (0.008) 0.112 (0.000) 0.113 (0.000)
PolBooks 0.062 (0.002) 0.080 (0.000)
0.053 (0.000)
Football 0.215 (0.002) 0.139 (0.000)
0.054 (0.000)
WebKB 0.050 (0.002) 0.106 (0.000)
0.023 (0.000)
Table 4. Comparison of the mean durations on benchmark graph datasets. Best results
are in boldface.
Dataset GT - Time (s) (σ) SimRank - Time (s) (σ) ASCOS - Time (s) (σ)
Karate 0.130 (0.0163)
0.296 (0.01)
0.094 (0.002)
PolBooks 0.454 (0.001)
6.876 (0.105)
1.238 (0.030)
Football 0.477 (0.012)
11.538 (0.151)
1.663 (0.003)
WebKB 45.798 (1.417) 139.590 (1.922)
53.439 (2.036)

that this graph is the smallest, with 34 vertices. We notice than for more complex
graph however, GT is competitive.
It is also interesting to compare the distribution of distance for each method
according to the choice of algorithm (GT, SimRank or ASCOS). Fig. 6 and7 display these distribution for the Football and WebKB graphs (respectively).
When GT is used, the variance of the distribution is higher than its counterparts,and multiple peaks can be observed. This is also observed for all other datasetsin this empirical evaluation, but not presented here.
3.3

Evaluation using a clustering algorithms

Using the NMI We then evaluated our approach on simple graphs against
two other methods, in order to assess if our proposed method is competitivein such graphs. This evaluation is performed on both synthetic and real-worldgraphs. We compare the NMI obtained using GT with the NMI obtained using
two state-of-the-art clustering method on simple graphs, MCL [4] and Louvain[1]. N M I is a clustering quality metric. Its values lie in the range [0, 1], with avalue of 1 being a perfect assignment.
To perform this evaluation, we used commonly used benchmark datasets, presented Table 5. We first computed the distance matrices using GT, with a total
number of trees ntrees = 200. We then applied k-means on the points obtainedusing t-SNE on the distance matrix. We repeated this procedure 20 times andcomputed means and standard deviations of the NMI.
During our experiments, we found out that preprocessing the distances prior
to the clustering phase may lead to better results, in particular with Scikit

10

K. Dalleau et al.

Fig. 6. Distribution of distances in Footbal obtained using GT (upper left), SimRank(upper right) and ASCOS (bottom). The different colours correspond to the data fromdifferent clusters, according to the provided ground truth.

Fig. 7. Distribution of distances in WebKB obtained using GT (upper left), SimRank(upper right) and ASCOS (bottom). The different colours correspond to the data fromdifferent clusters, according to the provided ground truth.

Clustering graphs using random trees

11learn’s [9] QuantileTransformer. This transformation tends to spread out themost frequent values and to reduce the impact of outliers.
Fig. 8 shows the distribution of vertex-vertex distance for PolBooks with andwithout prior preprocessing using this approach. We observe that the distribution of the pairwise distance is spread out, with visible peaks.

Fig. 8. Distribution of pairwise vertex distances without preprocessing (blue) and after
quantile transformation (green).

In our evaluations, we performed this quantile transformation prior to every
clustering, with nquantile = 10.
The results are presented Table 6. We compared the mean NMI using thet-test, and checked that the differences between the obtained values are statistically significant.
We observe that our approach is competitive with state of the art methods
in the case of non-attributed graphs on the benchmark datasets. In one specificcase, we even observe that Graph trees significantly outperforms state of the art
results, on the SBM graphs. This seems to confirm that our method performs
particularly well in the case of clusters of different size.

Table 5. Datasets used for the evaluation of clustering on simple graphs using Graphtrees
Dataset# vertices # edges Average degree # clusters
Football
115
1226
10.66
10
Email-Eu-Core 1005
25571 33.24
42
Polbooks
105
441
8.40
3
SBM3
450
65994 293.307
3Using the modularity of the partitions Another way to assess the performance of GT is to use the modularity.

12

K. Dalleau et al.

Table 6. Comparison of NMI on benchmark graph datasets. Best results are in boldface.
DatasetGraph-trees
LouvainFootball
0.923 (0.007) 0.924 (0.000)
Email-Eu-Core 0.649 (0.008) 0.428 (0.000)
Polbooks
0.524 (0.012) 0.521 (0.000)
SBM3
0.998 (0.005) 0.684 (0.000)

MCL
0.879 (0.015)
0.589 (0.012)
0.544 (0.02)
0.846 (0.000)

Modularity measures the strength of a specific partition, and is obtained by
(2).
K
K
X
X
|Ekk ||Ekl | 2
modularity(V1 , . . . , Vk ) =
−(
)
(2)
2|E|
2|E|
k=1

l=1

The intuition is that the higher the modularity, the lower the proportion of edges
between vertices in different clusters.
Our approach here is to compare the modularities obtained using partitions
obtained with GT, and the ones obtained using the ground truth values as
partitions.
We performed this evaluation on the datasets presented Table 7. WebKB represents relations between web pages of four universities, where each vertex label
corresponds to the university and the attributes represent the words that appear in the page. The Parliament dataset is a graph where the vertices represent
french parliament members, linked by an edge if they cosigned a bill together.
The vertex attributes indicate their constituency, and each vertex has a labelthat corresponds to their political party. The lawyers dataset represents relations between attorneys, that are described with categorical attributes for eachof them. Finally, the HVR graph represent relations between malaria genes.
Table 7. Datasets used for the evaluation of clustering using the modularity
Dataset# vertices # edges # clusters
WebKB
877
1480
4
Parliament 451
11646 7
HVR
307
6526
2
Lawyers
71
575
2

The procedure is the following. We first compute the vertex-vertex distances
using GT. We then apply t-SNE and use the k-means algorithm on the points
in the embedded space. We set k to the number of clusters, since we have theground truths. We computed the modularity of the clusterings obtained in 2
settings: (i) using a distance only on the structures using GT and (ii) using theClustering graphs using random trees

13

ground truth values. We repeat these steps 5 times and report the means andstandard deviations. The results are presented Table 8.
Table 8. Modularities using GT or the ground truth labels. Best results are indicatedin boldface.
DatasetGT Ground truth
WebKB
0.74 0.74
HVR
0.15 0.15
Parliament 0.46 0.20
Lawyers0.27 0.26

We notice that the structural distance using GT leads to good results, evenhigher than the modularities obtained using the ground truths. This can be explained by the fact that ground truth labels do not always constitute an absolute
truth, especially in terms of network structure.
Overall, GT seems to be a good candidate to compute dissimilarities between
vertices of a graph.

4

Discussion and future work

In this paper, we presented a method based on the construction of random trees
to compute similarities between graph vertices, called GT. The method works
by recursively splitting the set of vertices. Each split is performed by randomly
sampling a new vertex from the vertex set of the previous node. Direct neighboursof this vertex then create a new node in the tree, while the other vertices create
another node in the tree. A distance between the vertices can then be defined, as
the leaves correspond to a partition of the vertex space, and where each region
contains similar vertices. In this work, we propose to use a mass-based approachto compute this distance.
We show that the method we propose is competitive with state of the art
methods in terms of quality of clustering on graphs. In our benchmark datasets,
the mean differences ∆¯ between the mean intracluster similarities and the meanintercluster similarities tends to be higher when GT is used. However, it should
be noted that although this result is not promising, our proposed method has
a lower running time. Moreover, our assessment performing an actual clusteringon our data showed that the method we propose is competitive in terms of NMI
against to state-of-the-art methods, i.e Louvain and MCL. This is particularly
true in the case on the stochastic block model graph, where GT outperforms
Louvain and MCL by 45% and 22%, respectively. This result might be a strong
hint that the mass-based approach we use is particularly efficient in the case ofgraphs with clusters of variable size and density.

14

K. Dalleau et al.

Comparing the modularities of partitions obtained using GT versus the groundtruth partitions also shows that GT exhibits a good performance.
One of the appealing aspects of GT is that by computing forests of graph trees
and other trees that specialize in other types of input data, e.g, feature vectors,
it is then possible to compute pairwise dissimilarities between vertices in vertexattributed graphs. While many existing methods that tackle this problem arelimited to categorical attributes and/or require a costly transformation of thegraph, a tree-based approach would not suffer from these shortcomings. Indeed,
the trees being built on the vertex attributes can take as an input both numericand symbolic data. We already performed some experiments in the attributedgraph settings that we didn’t present in this paper. While the approach seems
promising, our first results showed that the quality of the clusterings varies
greatly between different datasets. This observation may be due to multiple
factors, such as the aggregation method chosen to aggregate the graph trees andthe attribute trees.
It should be noted that most of our empirical results depend on the choice of a
specific clustering algorithm. Indeed, GT is not a clustering method per se, but amethod to compute pairwise distances between nodes. As other distance-based
methods, this is a strength of the method we propose in this paper. Indeed,
the clustering task can be performed using many algorithms, leveraging theirrespective strengths and weaknesses.
One of the shortcomings of our proposed approach is that in graphs where theaverage degree is low, the splitting method leads to large unbalanced trees. Other
approaches can be used, such as a splitting based on a specific criterion. As thisapproach merges the fields of graph clustering and decision trees, interesting
research directions can be pursued.

References
1. Blondel, V.D., Guillaume, J.L., Lambiotte, R., Lefebvre, E.: Fast unfolding of communities in large networks. Journal of statistical mechanics: theory and experiment2008(10), P10008 (2008)
2. Chen, H.H., Giles, C.L.: ASCOS: an asymmetric network structure context similarity measure. In: 2013 IEEE/ACM International Conference on Advances in Social
Networks Analysis and Mining (ASONAM 2013). pp. 442–449. IEEE (2013)
3. Dalleau, K., Couceiro, M., Smail-Tabbone, M.: Unsupervised extremely randomized trees. In: Pacific-Asia Conference on Knowledge Discovery and Data Mining.
pp. 478–489. Springer (2018)
4. Dongen, S.: A cluster algorithm for graphs (2000)
5. ERDdS, P., R&wi, A.: On random graphs I. Publ. Math. Debrecen 6, 290–297(1959)
6. Jeh, G., Widom, J.: SimRank: a measure of structural-context similarity. In: Proceedings of the eighth ACM SIGKDD international conference on Knowledge discovery and data mining. pp. 538–543. ACM (2002)

Clustering graphs using random trees

15

7. Leskovec, J., Kleinberg, J., Faloutsos, C.: Graph evolution: Densification andshrinking diameters. ACM Transactions on Knowledge Discovery from Data
(TKDD) 1(1), 2 (2007)
8. Maaten, L.v.d., Hinton, G.: Visualizing data using t-SNE. Journal of machinelearning research 9(Nov), 2579–2605 (2008)
9. Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O.,
Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V.: Scikit-learn: Machine learning in Python. Journal of machine learning research 12(Oct), 2825–2830 (2011)
10. Schaeffer, S.E.: Graph clustering. Computer science review 1(1), 27–64 (2007)
11. Ting, K.M., Zhu, Y., Carman, M., Zhu, Y., Zhou, Z.H.: Overcoming key weaknessesof distance-based neighbourhood methods using a data dependent dissimilarity
measure. In: Proceedings of the 22nd ACM SIGKDD international conference onknowledge discovery and data mining. pp. 1205–1214. ACM (2016)12. Yin, H., Benson, A.R., Leskovec, J., Gleich, D.F.: Local higher-order graph clustering. In: Proceedings of the 23rd ACM SIGKDD International Conference on
Knowledge Discovery and Data Mining. pp. 555–564. ACM (2017)