Graph-Powered Machine Learning

Book description

Upgrade your machine learning models with graph-based algorithms, the perfect structure for complex and interlinked data.

In Graph-Powered Machine Learning, you will learn:

  • The lifecycle of a machine learning project
  • Graphs in big data platforms
  • Data source modeling using graphs
  • Graph-based natural language processing, recommendations, and fraud detection techniques
  • Graph algorithms
  • Working with Neo4J

Graph-Powered Machine Learning teaches to use graph-based algorithms and data organization strategies to develop superior machine learning applications. You’ll dive into the role of graphs in machine learning and big data platforms, and take an in-depth look at data source modeling, algorithm design, recommendations, and fraud detection. Explore end-to-end projects that illustrate architectures and help you optimize with best design practices. Author Alessandro Negro’s extensive experience shines through in every chapter, as you learn from examples and concrete scenarios based on his work with real clients!

About the Technology
Identifying relationships is the foundation of machine learning. By recognizing and analyzing the connections in your data, graph-centric algorithms like K-nearest neighbor or PageRank radically improve the effectiveness of ML applications. Graph-based machine learning techniques offer a powerful new perspective for machine learning in social networking, fraud detection, natural language processing, and recommendation systems.

About the Book
Graph-Powered Machine Learning teaches you how to exploit the natural relationships in structured and unstructured datasets using graph-oriented machine learning algorithms and tools. In this authoritative book, you’ll master the architectures and design practices of graphs, and avoid common pitfalls. Author Alessandro Negro explores examples from real-world applications that connect GraphML concepts to real world tasks.

What's Inside
  • Graphs in big data platforms
  • Recommendations, natural language processing, fraud detection
  • Graph algorithms
  • Working with the Neo4J graph database


About the Reader
For readers comfortable with machine learning basics.

About the Author
Alessandro Negro is Chief Scientist at GraphAware. He has been a speaker at many conferences, and holds a PhD in Computer Science.

Quotes
I learned so much from this unique and comprehensive book. A real gem for anyone who wants to explore graph-powered ML apps.
- Helen Mary Labao-Barrameda, Okada Manila

The single best source of information for graph-based machine learning.
- Odysseas Pentakalos, SYSNET International, Inc

I learned a lot. Plenty of ‘aha!’ moments.
- Jose San Leandro Armendáriz, OSOCO.es

Covers all of the bases and enough real-world examples for you to apply the techniques to your own work.
- Richard Vaughan, Purple Monkey Collective

Table of contents

  1. Graph-Powered Machine Learning
  2. Copyright
  3. dedication
  4. contents
  5. front matter
    1. foreword
    2. preface
    3. acknowledgments
    4. about this book
      1. Who should read this book?
      2. How this book is organized
      3. About the code
      4. liveBook discussion forum
      5. Online resources
    5. about the author
    6. about the cover illustration
  6. Part 1 Introduction
  7. 1 Machine learning and graphs: An introduction
    1. 1.1 Machine learning project life cycle
      1. 1.1.1 Business understanding
      2. 1.1.2 Data understanding
      3. 1.1.3 Data preparation
      4. 1.1.4 Modeling
      5. 1.1.5 Evaluation
      6. 1.1.6 Deployment
    2. 1.2 Machine learning challenges
      1. 1.2.1 The source of truth
      2. 1.2.2 Performance
      3. 1.2.3 Storing the model
      4. 1.2.4 Real time
    3. 1.3 Graphs
      1. 1.3.1 What is a graph?
      2. 1.3.2 Graphs as models of networks
    4. 1.4 The role of graphs in machine learning
      1. 1.4.1 Data management
      2. 1.4.2 Data analysis
      3. 1.4.3 Data visualization
    5. 1.5 Book mental model
    6. Summary
    7. References
  8. 2 Graph data engineering
    1. 2.1 Working with big data
      1. 2.1.1 Volume
      2. 2.1.2 Velocity
      3. 2.1.3 Variety
      4. 2.1.4 Veracity
    2. 2.2 Graphs in the big data platform
      1. 2.2.1 Graphs are valuable for big data
      2. 2.2.2 Graphs are valuable for master data management
    3. 2.3 Graph databases
      1. 2.3.1 Graph database management
      2. 2.3.2 Sharding
      3. 2.3.3 Replication
      4. 2.3.4 Native vs. non-native graph databases
      5. 2.3.5 Label property graphs
    4. Summary
    5. References
  9. 3 Graphs in machine learning applications
    1. 3.1 Graphs in the machine learning workflow
    2. 3.2 Managing data sources
      1. 3.2.1 Monitor a subject
      2. 3.2.2 Detect a fraud
      3. 3.2.3 Identify risks in a supply chain
      4. 3.2.4 Recommend items
    3. 3.3 Algorithms
      1. 3.3.1 Identify risks in a supply chain
      2. 3.3.2 Find keywords in a document
      3. 3.3.3 Monitor a subject
    4. 3.4 Storing and accessing machine learning models
      1. 3.4.1 Recommend items
      2. 3.4.2 Monitoring a subject
    5. 3.5 Visualization
    6. 3.6 Leftover: Deep learning and graph neural networks
    7. Summary
    8. References
  10. Part 2 Recommendations
    1. References
  11. 4 Content-based recommendations
    1. 4.1 Representing item features
    2. 4.2 User modeling
    3. 4.3 Providing recommendations
    4. 4.4 Advantages of the graph approach
    5. Summary
    6. References
  12. 5 Collaborative filtering
    1. 5.1 Collaborative filtering recommendations
    2. 5.2 Creating the bipartite graph for the User-Item dataset
    3. 5.3 Computing the nearest neighbor network
    4. 5.4 Providing recommendations
    5. 5.5 Dealing with the cold-start problem
    6. 5.6 Advantages of the graph approach
    7. Summary
    8. References
  13. 6 Session-based recommendations
    1. 6.1 The session-based approach
    2. 6.2 The events chain and the session graph
    3. 6.3 Providing recommendations
      1. 6.3.1 Item-based k-NN
      2. 6.3.2 Session-based k-NN
    4. 6.4 Advantages of the graph approach
    5. Summary
    6. References
  14. 7 Context-aware and hybrid recommendations
    1. 7.1 The context-based approach
      1. 7.1.1 Representing contextual information
      2. 7.1.2 Providing recommendations
      3. 7.1.3 Advantages of the graph approach
    2. 7.2 Hybrid recommendation engines
      1. 7.2.1 Multiple models, single graph
      2. 7.2.2 Providing recommendations
      3. 7.2.3 Advantages of the graph approach
    3. Summary
    4. References
  15. Part 3 Fighting fraud
  16. 8 Basic approaches to graph-powered fraud detection
    1. 8.1 Fraud prevention and detection
    2. 8.2 The role of graphs in fighting fraud
    3. 8.3 Warm-up: Basic approaches
      1. 8.3.1 Finding the origin point of credit card fraud
      2. 8.3.2 Identifying a fraud ring
      3. 8.3.3 Advantages of the graph approach
    4. Summary
    5. References
  17. 9 Proximity-based algorithms
    1. 9.1 Proximity-based algorithms: An introduction
    2. 9.2 Distance-based approach
      1. 9.2.1 Storing transactions as a graph
      2. 9.2.2 Creating the k-nearest neighbors graph
      3. 9.2.3 Identifying fraudulent transactions
      4. 9.2.4 Advantages of the graph approach
    3. Summary
    4. References
  18. 10 Social network analysis against fraud
    1. 10.1 Social network analysis concepts
    2. 10.2 Score-based methods
      1. 10.2.1 Neighborhood metrics
      2. 10.2.2 Centrality metrics
      3. 10.2.3 Collective inference algorithms
    3. 10.3 Cluster-based methods
    4. 10.4 Advantages of graphs
    5. Summary
    6. References
  19. Part 4 Taming text with graphs
  20. 11 Graph-based natural language processing
    1. 11.1 A basic approach: Store and access sequence of words
      1. 11.1.1 Advantages of the graph approach
    2. 11.2 NLP and graphs
      1. 11.2.1 Advantages of the graph approach
    3. Summary
    4. References
  21. 12 Knowledge graphs
    1. 12.1 Knowledge graphs: Introduction
    2. 12.2 Knowledge graph building: Entities
    3. 12.3 Knowledge graph building: Relationships
    4. 12.4 Semantic networks
    5. 12.5 Unsupervised keyword extraction
      1. 12.5.1 Keyword co-occurrence graph
      2. 12.5.2 Clustering keywords and topic identification
    6. 12.6 Advantages of the graph approach
    7. Summary
    8. References
  22. appendix A. Machine learning algorithms taxonomy
    1. A.1 Supervised vs. unsupervised learning
    2. A.2 Batch vs. online learning
    3. A.3 Instance-based vs. model-based learning
    4. A.4 Active vs. passive learning
    5. Reference
  23. appendix B. Neo4j
    1. B.1 Neo4j introduction
    2. B.2 Neo4j installation
      1. B.2.1 Neo4j server installation
      2. B.2.2 Neo4j Desktop installation
    3. B.3 Cypher
    4. B.4 Plugin installation
      1. B.4.1 APOC installation
      2. B.4.2 GDS Library
    5. B.5 Cleaning
    6. References
  24. appendix C. Graphs for processing patterns and workflows
    1. C.1 Pregel
    2. C.2 Graphs for defining complex processing workflows
    3. C.3 Dataflow
    4. References
  25. appendix D. Representing graphs
    1. References
  26. index

Product information

  • Title: Graph-Powered Machine Learning
  • Author(s): Alessandro Negro
  • Release date: September 2021
  • Publisher(s): Manning Publications
  • ISBN: 9781617295645