
Graph Algorithms
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
Discover how graph algorithms can help you leverage the relationships within your data to develop more intelligent solutions and enhance your machine learning models. You'll learn how graph analytics are uniquely suited to unfold complex structures and reveal difficult-to-find patterns lurking in your data. Whether you are trying to build dynamic network models or forecast real-world behavior, this book illustrates how graph algorithms deliver value?from finding vulnerabilities and bottlenecks to detecting communities and improving machine learning predictions.
This practical book walks you through hands-on examples of how to use graph algorithms in Apache Spark and Neo4j?two of the most common choices for graph analytics. Also included: sample code and tips for over 20 practical graph algorithms that cover optimal pathfinding, importance through centrality, and community detection.
- Learn how graph analytics vary from conventional statistical analysis
- Understand how classic graph algorithms work, and how they are applied
- Get guidance on which algorithms to use for different types of questions
- Explore algorithm examples with working code and sample datasets from Spark and Neo4j
- See how connected feature extraction can increase machine learning accuracy and precision
- Walk through creating an ML workflow for link prediction combining Neo4j and Spark
More details
Other editions
Additional editions

Content
- Intro
- Copyright
- Table of Contents
- Preface
- What's in This Book
- Conventions Used in This Book
- Using Code Examples
- O'Reilly Online Learning
- How to Contact Us
- Acknowledgments
- Foreword
- Chapter 1. Introduction
- What Are Graphs?
- What Are Graph Analytics and Algorithms?
- Graph Processing, Databases, Queries, and Algorithms
- OLTP and OLAP
- Why Should We Care About Graph Algorithms?
- Graph Analytics Use Cases
- Conclusion
- Chapter 2. Graph Theory and Concepts
- Terminology
- Graph Types and Structures
- Random, Small-World, Scale-Free Structures
- Flavors of Graphs
- Connected Versus Disconnected Graphs
- Unweighted Graphs Versus Weighted Graphs
- Undirected Graphs Versus Directed Graphs
- Acyclic Graphs Versus Cyclic Graphs
- Sparse Graphs Versus Dense Graphs
- Monopartite, Bipartite, and k-Partite Graphs
- Types of Graph Algorithms
- Pathfinding
- Centrality
- Community Detection
- Summary
- Chapter 3. Graph Platforms and Processing
- Graph Platform and Processing Considerations
- Platform Considerations
- Processing Considerations
- Representative Platforms
- Selecting Our Platform
- Apache Spark
- Neo4j Graph Platform
- Summary
- Chapter 4. Pathfinding and Graph Search Algorithms
- Example Data: The Transport Graph
- Importing the Data into Apache Spark
- Importing the Data into Neo4j
- Breadth First Search
- Breadth First Search with Apache Spark
- Depth First Search
- Shortest Path
- When Should I Use Shortest Path?
- Shortest Path with Neo4j
- Shortest Path (Weighted) with Neo4j
- Shortest Path (Weighted) with Apache Spark
- Shortest Path Variation: A*
- Shortest Path Variation: Yen's k-Shortest Paths
- All Pairs Shortest Path
- A Closer Look at All Pairs Shortest Path
- When Should I Use All Pairs Shortest Path?
- All Pairs Shortest Path with Apache Spark
- All Pairs Shortest Path with Neo4j
- Single Source Shortest Path
- When Should I Use Single Source Shortest Path?
- Single Source Shortest Path with Apache Spark
- Single Source Shortest Path with Neo4j
- Minimum Spanning Tree
- When Should I Use Minimum Spanning Tree?
- Minimum Spanning Tree with Neo4j
- Random Walk
- When Should I Use Random Walk?
- Random Walk with Neo4j
- Summary
- Chapter 5. Centrality Algorithms
- Example Graph Data: The Social Graph
- Importing the Data into Apache Spark
- Importing the Data into Neo4j
- Degree Centrality
- Reach
- When Should I Use Degree Centrality?
- Degree Centrality with Apache Spark
- Closeness Centrality
- When Should I Use Closeness Centrality?
- Closeness Centrality with Apache Spark
- Closeness Centrality with Neo4j
- Closeness Centrality Variation: Wasserman and Faust
- Closeness Centrality Variation: Harmonic Centrality
- Betweenness Centrality
- When Should I Use Betweenness Centrality?
- Betweenness Centrality with Neo4j
- Betweenness Centrality Variation: Randomized-Approximate Brandes
- PageRank
- Influence
- The PageRank Formula
- Iteration, Random Surfers, and Rank Sinks
- When Should I Use PageRank?
- PageRank with Apache Spark
- PageRank with Neo4j
- PageRank Variation: Personalized PageRank
- Summary
- Chapter 6. Community Detection Algorithms
- Example Graph Data: The Software Dependency Graph
- Importing the Data into Apache Spark
- Importing the Data into Neo4j
- Triangle Count and Clustering Coefficient
- Local Clustering Coefficient
- Global Clustering Coefficient
- When Should I Use Triangle Count and Clustering Coefficient?
- Triangle Count with Apache Spark
- Triangles with Neo4j
- Local Clustering Coefficient with Neo4j
- Strongly Connected Components
- When Should I Use Strongly Connected Components?
- Strongly Connected Components with Apache Spark
- Strongly Connected Components with Neo4j
- Connected Components
- When Should I Use Connected Components?
- Connected Components with Apache Spark
- Connected Components with Neo4j
- Label Propagation
- Semi-Supervised Learning and Seed Labels
- When Should I Use Label Propagation?
- Label Propagation with Apache Spark
- Label Propagation with Neo4j
- Louvain Modularity
- When Should I Use Louvain?
- Louvain with Neo4j
- Validating Communities
- Summary
- Chapter 7. Graph Algorithms in Practice
- Analyzing Yelp Data with Neo4j
- Yelp Social Network
- Data Import
- Graph Model
- A Quick Overview of the Yelp Data
- Trip Planning App
- Travel Business Consulting
- Finding Similar Categories
- Analyzing Airline Flight Data with Apache Spark
- Exploratory Analysis
- Popular Airports
- Delays from ORD
- Bad Day at SFO
- Interconnected Airports by Airline
- Summary
- Chapter 8. Using Graph Algorithms to Enhance Machine Learning
- Machine Learning and the Importance of Context
- Graphs, Context, and Accuracy
- Connected Feature Engineering
- Graphy Features
- Graph Algorithm Features
- Graphs and Machine Learning in Practice: Link Prediction
- Tools and Data
- Importing the Data into Neo4j
- The Coauthorship Graph
- Creating Balanced Training and Testing Datasets
- How We Predict Missing Links
- Creating a Machine Learning Pipeline
- Predicting Links: Basic Graph Features
- Predicting Links: Triangles and the Clustering Coefficient
- Predicting Links: Community Detection
- Summary
- Wrapping Things Up
- Appendix A. Additional Information and Resources
- Other Algorithms
- Neo4j Bulk Data Import and Yelp
- APOC and Other Neo4j Tools
- Finding Datasets
- Assistance with the Apache Spark and Neo4j Platforms
- Training
- Index
- About the Authors
- Colophon
System requirements
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.