SNAP
SNAP

SNAP

Introduction

  SNAP(Stanford Network Analysis Platform)是一个通用的、能高效的分析和处理大型网络的系统。它支持图和网两种数据结构。其中,图描述的是拓扑结构,即每个结点都有一个唯一的整数id,结点之间的边可以是有向的,也可以是无向的,并且两个结点之间可以有多条边;网可以看成是一种结点和(或者)边上赋有数据的图。这些数据的数据类型可以很容易的作为模板参数传递,这就为实现那些在其结点和边上有着丰富数据的各种各样的网络提供了一种快速便捷的方法。

  SNAP库的核心是用C++语言编写的,并且进行了优化以实现最优性能和最紧凑的图表示。它可以很容易的对一个有着数以亿计的结点和边的大型网络进行缩放(scales to),可以高效的处理大图,可以计算结构属性,还可以生成正则图和随机图,而且它还支持结点和边上的一些属性。另外,大图的可伸缩性是SNAP的另一个优点,即在计算的时候可以动态的改变图或表的结点、边和属性。

  SNAP最初是由Jure Leskovec在他的博士研究过程中开发的,它的第一版在2009年12月发布。SNAP运用了一个像在Jozef Stefan Institute开发的GLib通用的标准模板库。SNAP和Glib都在积极开发中并且应用到了大量的学术研究项目和工程项目中。

About SNAP

The SNAP library is being actively developed since 2004 and is organically growing as a result of our research pursuits in analysis of large social and information networks. Largest network we analyzed so far using the library was the Microsoft Instant Messenger network from 2006 with 240 million nodes and 1.3 billion edges.

The datasets available on the website were mostly collected (scraped) for the purposes of our research.

The website was launched in July 2009.

SNAP Datasets

这里提供了大量的斯坦福大学收集的大型网络的数据集。

  • 社交网络:在线社交网络,边缘代表人与人之间的交互
  • 具有实地社区的网络:社会和信息网络中的地面实况网络社区
  • 通信网络:具有代表通信边缘的电子邮件通信网络
  • 引文网络:节点表示论文,边缘表示引文
  • 协作网络:节点代表科学家,边缘代表合作(共同创作论文)
  • 网络图:节点表示网页,边缘是超链接
  • 亚马逊网络:节点表示产品和边缘通常共同购买的产品
  • 互联网:节点代表计算机和边缘通信
  • 道路网络:节点表示交叉路口和连接交叉点的边缘路口
  • 自治系统:互联网图
  • 签署网络:正面和负面边缘的网络(朋友/敌人,信任/不信任)
  • 基于位置的在线社交网络:具有地理签入的社交网络
  • 维基百科网络,文章和元数据:来自维基百科的谈话,编辑,投票和文章数据
  • 时间网络:边缘具有时间戳的网络
  • Twitter和Memetracker:Memetracker短语,链接和4.67亿推文
  • 在线社区:来自Reddit和Flickr等在线社区的数据
  • 在线评论:来自在线评论系统的数据,如BeerAdvocate和Amazon

SNAP网络也可以从UF稀疏矩阵收集。Tim Davis 的SNAP网络的可视化。

Network types

  • 导向:定向网络
  • 未定向:无向网络
  • 二部:二部网络
  • Multigraph:网络在一对节点之间有多个边
  • 时间:对于每个节点/边缘,我们知道网络中出现的时间
  • 标签:网络在节点和/或边缘上包含标签(权重,属性)

Network statistics

数据集统计
Nodes 网络中的节点数
Edges 网络边缘数
Nodes in largest WCC 最大弱连接组件中的节点数weakly connected component
Edges in largest WCC 最大弱连接组件中的边数
Nodes in largest SCC 最大强连接组件中的节点数
Edges in largest SCC 最大强连接组件中的边数
Average clustering coefficient 平均聚类系数
Number of triangles 连接节点的三角形的数量(考虑网络为无向)
Fraction of closed triangles 节点的连接三角形的数量/(无向)长度2路径的数量
Diameter (longest shortest path) 最大无向最短路径长度(1000个随机节点采样)
90-percentile effective diameter 无方向最短路径长度分布的第90个百分点(在1,000个随机节点上进行采样)

Citing SNAP(引用SNAP)

如果您使用我们的包文件,工具或数据集,我们鼓励您引用我们的工作。

使用以下BibTeX引用SNAP库和工具:

@article{leskovec2016snap,
  title={SNAP: A General-Purpose Network Analysis and Graph-Mining Library},
  author={Leskovec, Jure and Sosi{\v{c}}, Rok},
  journal={ACM Transactions on Intelligent Systems and Technology (TIST)},
  volume={8},
  number={1},
  pages={1},
  year={2016},
  publisher={ACM}
}

如果您在工作中使用它们,我们鼓励您引用我们的数据集。您可以使用以下BibTeX引文:

@misc {snapnets,
  author = {Jure Leskovec and Andrej Krevl},
  title = {{SNAP Datasets}:{Stanford} Large Network Dataset Collection},
  howpublished = {\ url {http://snap.stanford.edu/data} },
  month = jun,
  year = 2014 
}

Project(the SNAP Group Fall Quarter 2017-18)

传感器数据的机器学习

关键词:数据分析,凸优化,深度学习,计算机系统

许多应用程序包含多维时间戳观察的大量序列。这些观察通常来自“传感器”,这可以是从基因表达读数到天气测量,股票价格,神经功能磁共振成像扫描等的任何事情。对于这些应用,需要一个可以执行状态的单个平台最先进的优化/机器学习算法是稳健的(在许多不同的设置中实用/有用)和可扩展(因为这些数据集可以变得非常大)。这些算法使我们能够检测异常,现场趋势,分类事件,识别群集,预测未来行为等。对于这个项目,我们计划开发分析平台,实施最先进的优化算法,

我们正在寻找具有强大机器学习和编程技能的学生,对建立大型系统的兴趣,以及渴望处理现实世界的应用程序。处理非常大的数据集的知识是一个加分。

通过银行交易数据建模国家经济

关键词:图形挖掘,大数据分析,经济学

银行交易是我们在经济中可以观察到的最主要的信号之一。它们可以反映经济动态,指出公司之间的供应和价值链,并指出公司或行业的繁荣或烦恼。该项目的目标是分析一个包含整个国家的国内和国际交易的独特数据集十多年。我们的目标是使用网络分析和图形挖掘方法,从交易数据的角度来理解国家经济结构,模拟货币流经经济,识别和量化价值链,了解什么因素有助于成功和失败的公司。

我们正在寻找有兴趣使用独特的银行交易数据来探索这些问题的学生,包括数据挖掘,数据清理,数据可视化和机器学习。C ++或Python的经验和处理网络数据是一个加分。

开放域社交媒体分析

关键词:文本挖掘,自然语言处理,社会媒体分析

传统上,意见分析是通过汇款和问卷调查完成的,这使得代价昂贵,覆盖了一小部分人群,无法提供实时更新。社交媒体的普及使得自动化方法被用于以更具成本效益的方式处理在线讨论,覆盖更多的人口并在新的讨论被发布时提供实时更新。该项目的目标是开发一个意见分析系统,通过将其提及与同行提及(例如类似的产品,书籍,电影)进行比较,可以对特定目标(例如产品,书籍和电影)进行即席查询以确定相关方面和目标在这些方面的立场。我们将开发深入学习的方法来提取和建模方面和意见。

我们正在寻找有兴趣使用文本数据和开发算法的学生。自然语言处理,文本挖掘和深度学习框架的经验是一个加分。

社区互动和社会网络冲突

关键词:社会网络分析,计算社会科学

社交网络和在线讨论平台使用户能够形成以兴趣为基础的社区,表达意见,并与他人互动。不同社区之间的相互作用是复杂的。一些互动是积极的,导致用户参与度和忠诚度增加,而另一些则是消极的,例如冲突和突袭。该项目的目标是研究社区间互动的各个方面,并开发计算模型和算法来对其进行建模。我们将使用几个大型数据集,包括来自Reddit,Disqus和Wikipedia的评论和帖子,我们将研究跨社区动员,冲突,社区成长和衰落。用户级和社区级别的用户与内容之间的交互是本项目的一个组成部分。

我们正在寻找有兴趣使用社交网络分析和自然语言处理的组合来探索这些问题的学生。需要Python和Hadoop的工作知识。处理大数据集,数据挖掘,社交网络分析和自然语言处理的先前经验是一个加分。

采矿数据科学模式

关键词:大数据分析,数据科学,推荐系统

数据科学家通常开发一套标准的软件模式来分析数据并从中收集见解。然而,这些模式通常是重复的,最佳实践分散在StackOverflow,GitHub和iPython笔记本中。该项目的目标是识别频繁的数据科学模式,并构建一个推荐引擎,帮助数据科学家自动分析给定的数据集。挑战将在于识别和提取常见模式,然后开发可以匹配它们的推荐引擎。

我们正在寻找具有强大编程背景(尤其是Python)的学生,并且对数据科学感兴趣。熟悉代码解析,解释器和编译器将是一个很好的加分。

复杂网络中的表示学习:超越节点嵌入

关键词:深度学习,表征学习

复杂网络上的代表性学习是促进我们对社会和生物动力学理解的重要途径。使用表示学习,我们可以生成将高维网络信息压缩成低维特征向量的嵌入。这些嵌入将网络结构(例如节点之间的边缘)编码为几何关系,并且对许多任务至关重要。例如,在生物相互作用网络中产生蛋白质,基因和化学物质的嵌入之后,我们可以利用所学习的嵌入空间中的距离来预测新的相互作用并协助药物设计。在这个项目中,我们将通过最近在深度学习方面取得的进展,力求将复杂网络的代表性学习推向最先进的阶段。

我们正在寻找具有网络分析,机器学习和深度学习经验的高素质学生(如CS224W,CS229,CS224N,CS231N)。需要Python的工作知识,申请人应该有一些深入学习框架的经验(例如,TensorFlow,Torch或Theano)。

从字节到细胞:通过大型生物医学数据了解基因型表型关系

关键词:计算生物学,网络分析,机器学习

您将开发哪些分析方法来利用所有尺度的数据进行生物医学进步?分子数据已经显示出其价值。基因突变的存在可以将高危人群或低危组患者纳入各种疾病。如果一个人的分子数据被放置在他的健康和行为的背景下,更有可能。疾病登记,健康保险和医院记录以及研究出版物在这里可能是有用的。最大的问题是如何采取下一步将这些潜力转化为可行的知识。来自健康记录的数据集(其数量正在上升)将是凌乱的,但对医学进展至关重要。大量的数据集,系统的或不系统的,不可避免地会引起虚假的相关性,因此认识到有意义的模式仍然具有挑战性。该项目位于机器学习,网络科学与计算生物学之间。其重点将是为数据密集型挑战开发新的分析方法,从而将生物医学科学引向下一个前沿。

我们正在寻找有网络,机器学习和统计经验的学生(例如CS224W,CS246,STATS200等),并且有兴趣使用大型生物和临床数据集。Python的工作知识是必需的,C ++的经验是一个加分。

使用智能手表干预打击久坐行为

关键词:移动和Web应用,数据科学为社会效益

持久的行为,包括坐着和说谎,对健康有害。它与肥胖,糖尿病,心脏代谢综合征和发病相关,与身体活动水平无关。穿戴式设备,包括智慧型手表,从根本上改变了如何衡量和管理活动和健康,为打击久坐行为提供了新的机会。许多商业可穿戴应用程序目前正在跟踪久坐不定的发作,并使用警报来激励用户起床和移动。然而,这些应用的功效,或如何最佳地设计它们,在很大程度上是未知的。这项研究的目的是三重的。首先,测试来自智能手表干预的实时(即即时)消息是否更有效地减少久坐行为。第二,确定消息内容如何影响个人的久坐行为和激励疲劳率。而且,第三,要测试一种自适应干预措施,可以调整消息内容以解决个人偏好和激励疲劳,从而可以产生越来越多的持久性减少久坐行为。

我们正在寻找有兴趣继续开发智能手机/智能手机移动应用平台的学生,该平台目前由Pebble手表应用和Heroku后端组成。需要C和Javascript的经验,并且MongoDB,Heroku和Python的经验是一个加分。

SNAP:斯坦福网络分析平台

关键词:网络分析,开源软件,图形算法,并行算法

斯坦福网络分析平台(SNAP)是一种通用的高性能网络分析和图形挖掘库,可轻松扩展到数十亿个节点和边缘的大规模网络。它有效地操纵大图,计算结构属性,生成规则和随机图,并支持节点和边缘上的属性。SNAP正在不断扩展,具有用于具有12TB RAM和288个CPU内核的大内存多核机器的新图形和网络算法。

我们正在寻找有兴趣参与SNAP代码库或开发顺序或并行图形算法的学生。SNAP主要是用C ++编写的,所以这种语言的经验是一个加分。这个项目没有RA职位,只有对自主学习感兴趣的学生(CS191,CS199,CS399)才会被考虑。

Links and resources

Courses on Networks

  • (Social and Information) Network Anaysis by Jure Leskovec
  • The Structure of Information Networks by Jon Kleinberg
  • Networks: Theory and Application by Lada Adamic
  • Structure and Dynamics of Networked Information by David Kempe
  • Information Networks by Amin Saberi

Software Tools

  • NodeXL
    NodeXL is a graphical front-end that integrates network analysis and SNAP into Microsoft Office and Excel. Using NodeXL, users without programming skills can make use of key elements of the SNAP library.

  • Pajek
    A program for network analysis (Windows or Linux via Wine).

  • GUESS
    InfoVis Cyberinfrastructure
    Software framework for information visualization (Linux, MacOSX, Windows).

  • Analytic Technologies
    Software for social network analysis (Windows).

  • Graphviz
    Graph visualization software

  • NetworkX
    Python package for the study of the structure of complex networks.

  • Network Workbench
    Network analysis, modeling and visualization toolkit

  • Power-law Distributions in Empirical Data
    Tools for fitting heavy-tailed distributions to data