Snack size awesome list for Social Network Analysis resources
SNAck size awesome list for social network analysis resources.
Not another awesome list.
While awesome lists can indeed be awesome, they can also be daunting and evoke a strong sense of FOMO.
This repo’s mission is to be a snack size version of an awesome list, providing a highly curated, human friendly, and most importantly digestible list of resources for anyone interested in SNA.
The idea here is that unlike an awesome list, one can definitely get though all the resources here, and come out the other end knowledgeable and happy.
Still want the awesome list? Look no further.
D3 Graph Theory - learn graph theory interactively - a friendly broswer based introduction to graph theory. This is a great place to get started and learn the terminology, basics, and logic behind it all.
Nailed down the basic theory? Great! The next step is to get your hands dirty and see it in action in Python. The best place to start is with the NetworkX
. It has friendly API, great documentation, it’s vast and stable. Available in a package manager near you!
pip install networkx
Get familiar with The NetworkX API.
Take 3 hours for Network Analysis Made Simple - PyCon 2019. Video and notebooks, a workshop by Mridul Seth, Eric Ma which ties together introductory theory and hands-on practice (with NetworkX, of course).
Practice. The Game of Thrones and Airport Network case studies are a good place to practice what you’ve learned - and level up your knowledge and understanding.
A few good resources for those comfortable with the fundamentals and want to pursue a deeper and wider understanding. These can be challenging at times, so don’t feel bad if you’re making slower progress here. Of course, feel free to pick and choose the contents (or chapters) that you’re most interested in.
Network Science by Albert-László Barabási is available freely online, in a jazzed up version of the book.
Networks, Crowds, and Markets by David Easley and Jon Kleinberg1 is an excellent book. The authors made it freely available online:
If you prefer a MOOC, Easley, Kleinberg and Eva Tardos offered a similar course on EdX, which has been archived but the materials are still available here.
Massive Open Online Courses, to those who like a course-like experience. Free to learn courses:
NetworkX
: as mentioned above, this is the preferred place to start. Easy API, great documentation, rich functionality. If you’re just getting started with network analysis in Python, this is the module you’d like to use.PyGraphistry
: great tool for visually exploring larger graphs (one of the things where NetowrkX lags behind). Plays nicely out-of-the-box with NetworkX graphs or even Pandas (as well as plenty of other popular tools).nxviz
: A declarative package for plotting NetworkX graphs rationally. Implements Circos plots, adjacency matrix plots, and more.The following resources contain a large selection of network related datasets for you to practice and learn from:
There exists a future where this resource includes:
But… baby steps.
Some of the materials linked above are by Eric Ma, who is a contributor to this repo.
1 Kleinberg developed the HITS Algorithm, which you’ll come across sooner or later.