This video provides an introduction to network analysis.
- [Instructor] Want to strategize ways to increase your return on investment and social media marketing efforts? There's a graph for that. No, but seriously. You can use network analysis to accomplish that objective, along with countless others, including infrastructure system design, financial risk management, and public health management. Being able to model and evaluate network dynamics is an important and powerful data science skill, and I'd be remiss if I did not at least introduce the topic. Let me start by first distinguishing the different between the term network and graph.
A network is a body of connected data that's evaluated during graph analysis. Whereas a graph is the actually data visualization schematic that depicts the network data. Before getting into the coding demonstration, let me give some important vocabulary for network analysis. Nodes are vertices around which the graph is formed and edges are the lines that connect them. A directed graph, also known as a digraph, is a graph where there is a direction assigned to each edge that connects the nodes. And a directed edge is an edge feature that has been a assigned direction between those nodes.
I'm going to show you all of this throughout the rest of this chapter so hold on. There's just a little more vocabulary. I wanted to tell you about undirected graphs and those are graphs where all the edges are bidirectional and an undirected edge is just an edge that flows both ways between nodes. Graph size is the number of edges in a graph. Graph order is the number of vertices in a graph, and the term degree refers to the number of edges connected to a vertex. It's a measure of connectedness.
In this chapter you're going to see how to use graph generators, and a graph generator is just like what it sounds, a function that generates a graph. There are many reasons you might want to use a graph generator, but one important applications of graph generators, is for generating synthetic variations of a particular graph, so that you can use those synthetic graphs to test and validate how well your graph assessment algorithm performs. Basically, use graph assessment algorithms to extract a meaningful insight from network data. The structure of your underlying data and your analytical objectives would determine which type of graph assessment algorithm is appropriate, but as for the graph generators, there are only six types.
Those are graph drawing algorithms, network analysis algorithms, algorithmic routing for graphs, graph search algorithms, and subgraph algorithms. I'm going to show you the most basic types, and those are graph drawing algorithms and graph search algorithms.
- Getting started with Jupyter Notebooks
- Visualizing data: basic charts, time series, and statistical plots
- Preparing for analysis: treating missing values and data transformation
- Data analysis basics: arithmetic, summary statistics, and correlation analysis
- Outlier analysis: univariate, multivariate, and linear projection methods
- Introduction to machine learning
- Basic machine learning methods: linear and logistic regression, Naïve Bayes
- Reducing dataset dimensionality with PCA
- Clustering and classification: k-means, hierarchical, and k-NN
- Simulating a social network with NetworkX
- Creating Plot.ly charts
- Scraping the web with Beautiful Soup