Table of Contents for
Graph Algorithms

Version ebook / Retour

Cover image for bash Cookbook, 2nd Edition Graph Algorithms by Amy E. Hodler Published by O'Reilly Media, Inc., 2019
  1. Cover
  2. nav
  3. Graph Algorithms
  4. Graph Algorithms
  5. Preface
  6. 1. Introduction
  7. 2. Graph Theory and Concepts
  8. 3. Graph Platforms and Processing
  9. 4. Pathfinding and Graph Search Algorithms
  10. 5. Centrality Algorithms
  11. 6. Community Detection Algorithms
  12. 7. Graph Algorithms in Practice
  13. 8. Using Graph Algorithms to Enhance Machine Learning
  14. About the Authors
  1. Preface
    1. Conventions Used in This Book
      1. What’s in This Book
    2. Using Code Examples
    3. O’Reilly Safari
    4. How to Contact Us
    5. Acknowledgments
  2. 1. Introduction
    1. What Are Graphs?
    2. What Are Graph Analytics and Algorithms?
    3. Graph Databases versus Graph Processing
      1. OLTP and OLAP
    4. Why should I care about graph algorithms?
    5. Graph Analytics Use Cases
    6. Conclusion
  3. 2. Graph Theory and Concepts
    1. Terminology
    2. Basic Graph Types and Structures
      1. Random, Small-World, Scale-Free Structures
    3. Flavors of Graphs
      1. Connected versus Disconnected Graphs
      2. Unweighted Graphs versus Weighted Graphs
      3. Undirected Graphs versus Directed Graphs
      4. Acyclic Graphs versus Cyclic Graphs
      5. Sparse Graphs versus Dense Graphs
      6. Monopartite, Bipartite, and K-Partite Graphs
    4. Types of Graph Algorithms
      1. Pathfinding
      2. Centrality
      3. Community Detection
    5. Summary
  4. 3. Graph Platforms and Processing
    1. Graph Platform and Processing Considerations
      1. Platform Considerations
      2. Processing Considerations
    2. Representative Platforms
      1. Selecting Our Platform
      2. Apache Spark
      3. Neo4j Graph Platform
    3. Summary
  5. 4. Pathfinding and Graph Search Algorithms
    1. Example Data: The Transport Graph
      1. Importing the data into Apache Spark
      2. Importing the data into Neo4j
    2. Breadth First Search
      1. Breadth First Search with Apache Spark
    3. Depth First Search
    4. Shortest Path
      1. When should I use Shortest Path?
      2. Shortest Path (weighted) with Apache Spark
      3. Shortest Path (weighted) with Neo4j
      4. Shortest Path Variation: A*
      5. Shortest Path Variation: Yen’s K-shortest paths
    5. All Pairs Shortest Paths
      1. A Closer Look at All Pairs Shortest Paths
      2. When should I use All Pairs Shortest Path?
      3. All Pairs Shortest Paths with Apache Spark
      4. All Pairs Shortest Paths with Neo4j
    6. Single Source Shortest Path
      1. When should I use Single Source Shortest Path?
      2. Single Source Shortest Path with Apache Spark
      3. Single Source Shortest Path with Neo4j
    7. Minimum Spanning Tree
      1. When should I use Minimum Spanning Tree?
      2. Minimum Spanning Tree with Neo4j
    8. Random Walk
      1. When should I use Random Walk?
      2. Random Walk with Neo4j
    9. Summary
  6. 5. Centrality Algorithms
    1. Importing the data into Apache Spark
    2. Importing the data into Neo4j
    3. Degree Centrality
      1. When Should I Use Degree Centrality?
      2. Degree Centrality with Apache Spark
    4. Closeness Centrality
      1. When Should I Use Closeness Centrality?
      2. Closeness Centrality with Apache Spark
      3. Closeness Centrality with Neo4j
      4. Closeness Centrality Variation: Wasserman and Faust
      5. Closeness Centrality Variation: Harmonic Centrality
    5. Betweenness Centrality
      1. When Should I Use Betweenness Centrality?
      2. Betweenness Centrality with Neo4j
      3. Betweenness Centrality Variation: Randomized-Approximate Brandes
    6. PageRank
      1. Iteration, Random Surfers and Rank Sinks
      2. When should I use PageRank?
      3. PageRank with Apache Spark
      4. PageRank with Neo4j
      5. PageRank Variation: Personalized PageRank
    7. Summary
  7. 6. Community Detection Algorithms
    1. Example Graph Data: The Software Dependency Graph
      1. Importing the data into Apache Spark
      2. Importing the data into Neo4j
    2. Triangle Count and Clustering Coefficient
      1. When Should I Use Triangle Count and Clustering Coefficient?
      2. Triangle Count with Apache Spark
      3. Triangles with Neo4j
      4. Local Clustering coefficient with Neo4j
    3. Strongly Connected Components
      1. When Should I Use Strongly Connected Components?
      2. Strongly Connected Components with Apache Spark
      3. Strongly Connected Components with Neo4j
    4. Connected Components
      1. When should I use Connected Components?
      2. Connected Components with Apache Spark
      3. Connected Components with Neo4j
    5. Label Propagation
      1. Semi-Supervised Learning and Seed Labels
      2. When Should I Use Label Propagation?
      3. Label Propagation with Apache Spark
      4. Label Propagation with Neo4j
    6. Louvain Modularity
  8. 7. Graph Algorithms in Practice
    1. Analyzing Yelp Data with Neo4j
      1. Data Import
      2. Graph Model
      3. A Quick Overview of the Yelp Data
      4. Trip Planning App
      5. Bellagio cross promotion
    2. Analyzing Airline Flight Data with Apache Spark
      1. Exploratory Analysis
      2. Popular airports
      3. Delays from ORD
      4. Bad day at SFO
      5. Interconnected airports by airline
      6. Summary
  9. 8. Using Graph Algorithms to Enhance Machine Learning
    1. Machine Learning and the Importance of Context
      1. Graphs, Context, and Accuracy
    2. Connected Feature Extraction and Selection
    3. Graphs and Machine Learning in Practice: Link Prediction
      1. Tools and Data
      2. Importing the Data into Neo4j
      3. Co-Authorship Graph
      4. Creating Balanced Training and Testing Datasets
      5. How We Predict Missing Links
      6. Creating a Machine Learning Pipeline
      7. Predicting Links: Basic graph features
      8. Accuracy
      9. Precision
      10. Recall (True Positive Rate)
      11. False Positive Rate
      12. ROC Curve X-Y Chart
      13. Predicting Links: Triangles and The Clustering Coefficient
      14. Predicting Links: Community Detection
    4. Wrapping Things Up
    5. Summary
Back to top