Department of Computer Science, Yonsei University, Seoul, South Korea.
Korea Institute of Science and Technology Information, Daejeon, South Korea.
PLoS One. 2018 Oct 10;13(10):e0203670. doi: 10.1371/journal.pone.0203670. eCollection 2018.
As the size of networks increases, it is becoming important to analyze large-scale network data. A network clustering algorithm is useful for analysis of network data. Conventional network clustering algorithms in a single machine environment rather than a parallel machine environment are actively being researched. However, these algorithms cannot analyze large-scale network data because of memory size issues. As a solution, we propose a network clustering algorithm for large-scale network data analysis using Apache Spark by changing the paradigm of the conventional clustering algorithm to improve its efficiency in the Apache Spark environment. We also apply optimization approaches such as Bloom filter and shuffle selection to reduce memory usage and execution time. By evaluating our proposed algorithm based on an average normalized cut, we confirmed that the algorithm can analyze diverse large-scale network datasets such as biological, co-authorship, internet topology and social networks. Experimental results show that the proposed algorithm can develop more accurate clusters than comparative algorithms with less memory usage. Furthermore, we confirm the proposed optimization approaches and the scalability of the proposed algorithm. In addition, we validate that clusters found from the proposed algorithm can represent biologically meaningful functions.
随着网络规模的不断扩大,对大规模网络数据进行分析变得越来越重要。网络聚类算法是网络数据分析的一种有效手段。在单机环境中,传统的网络聚类算法而不是在并行机环境中得到了积极的研究。然而,由于内存大小的问题,这些算法无法分析大规模的网络数据。作为一种解决方案,我们通过改变传统聚类算法的范例,提出了一种使用 Apache Spark 的大规模网络数据分析的网络聚类算法,以提高其在 Apache Spark 环境中的效率。我们还应用了布隆过滤器和洗牌选择等优化方法来减少内存使用和执行时间。通过基于平均归一化切割的评估,我们证实了该算法可以分析各种大规模网络数据集,如生物、合著、互联网拓扑和社交网络。实验结果表明,与使用较少内存的比较算法相比,该算法可以生成更准确的聚类。此外,我们还证实了所提出的优化方法和算法的可扩展性。此外,我们验证了从所提出的算法中找到的聚类可以代表具有生物学意义的功能。