Neo4j Graph Database Fundamentals · บทเรียน

กระบวนการส่งข้อมูล GDS และการเรียนรู้ของเครื่อง

ค้นพบวิธีสร้างและจัดการกระบวนการส่งข้อมูลวิทยาการข้อมูลกราฟภายใน GDS พร้อมผสานรวมกับกระบวนการทำงานด้านการเรียนรู้ของเครื่อง

บทเรียน 3 จาก 412 ขั้นตอน

กระบวนการส่งข้อมูล GDS และการเรียนรู้ของเครื่อง เป็นบทเรียน Neo4j Graph Database Fundamentals ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Neo4j Graph Database Fundamentals และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Neo4j Graph Database Fundamentals มีบทเรียนทั้งหมด 4 บทเรียน

บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ

What are GDS Pipelines?

Welcome to GDS Pipelines! In the Neo4j Graph Data Science (GDS) library, a pipeline is a structured workflow for common graph data science tasks.

Think of it as a blueprint that defines a sequence of steps, from feature engineering using graph algorithms to training and deploying machine learning models.

Why Use GDS Pipelines?

GDS Pipelines offer several key benefits:

  • Reproducibility: Define your entire workflow once and reuse it.
  • Automation: Streamline complex tasks involving multiple graph algorithms and ML steps.
  • Operationalization: Easily deploy graph-based machine learning models for continuous prediction.

They help bridge the gap between experimentation and production.

Creating a Prediction Pipeline

One common pipeline type is the Node Property Prediction Pipeline. This helps predict a specific property on nodes based on other node features and graph structure.

Let's create an empty pipeline named 'myChurnPrediction':

CALL gds.pipeline.nodePropertyPrediction.create('myChurnPrediction')
YIELD pipeline
RETURN pipeline.name AS name, pipeline.type AS type

Projecting Your Graph Data

Before using a pipeline, you need to project your graph into GDS memory. This makes nodes and relationships accessible for algorithms and features.

Here, we project a simple 'User' graph with 'KNOWS' relationships:

CALL gds.graph.project(
    'mySocialGraph',
    'User',
    { KNOWS: { orientation: 'UNDIRECTED' } }
)
YIELD graphName, nodeCount, relationshipCount
RETURN graphName, nodeCount, relationshipCount

Adding Node Property Features

Pipelines allow you to specify which existing node properties should be used as features for your machine learning model. These are direct attributes of your nodes.

Let's add 'age' and 'income' properties as features to our pipeline:

CALL gds.pipeline.nodePropertyPrediction.addNodePropertySteps('myChurnPrediction', {
    nodeProperties: ['age', 'income']
})
YIELD pipeline
RETURN pipeline.name, pipeline.nodePropertySteps

Integrating Graph Algorithm Features

The real power of GDS pipelines is integrating graph algorithm results as features. These capture structural insights that simple node properties can't.

We can add PageRank scores as a feature to our pipeline:

CALL gds.pipeline.nodePropertyPrediction.addPageRank('myChurnPrediction', {
    maxIterations: 10,
    dampingFactor: 0.85,
    mutateProperty: 'pageRankScore' // This becomes a feature
})
YIELD pipeline
RETURN pipeline.name, pipeline.pageRankSteps

Configuring the Machine Learning Model

After defining your features, you specify the machine learning model that will perform the prediction. GDS supports various models like Logistic Regression, Random Forest, and GNNs.

Let's add a Logistic Regression model to predict 'isChurned':

CALL gds.pipeline.nodePropertyPrediction.addLogisticRegression('myChurnPrediction', {
    targetProperty: 'isChurned', // The node property we want to predict
    maxIterations: 100,
    penalty: 'l2'
})
YIELD pipeline
RETURN pipeline.name, pipeline.logisticRegressionSteps

Training Your GDS Pipeline

With features and a model defined, you can now train the pipeline. This executes all feature generation steps, then trains the specified ML model on the generated features.

We'll train our pipeline on 'mySocialGraph' and name the resulting model 'churnPredictionModel':

CALL gds.pipeline.nodePropertyPrediction.train('myChurnPrediction', {
    modelName: 'churnPredictionModel',
    graphName: 'mySocialGraph',
    nodeLabels: ['User'],
    randomSeed: 42
})
YIELD modelInfo
RETURN modelInfo.modelName AS modelName, modelInfo.trainingMetrics.f1Score.weighted AS f1Score

Making Predictions with the Model

Once trained, your model (which is part of the pipeline) can be used to generate predictions on your graph data. You can either stream results or mutate the graph with new properties.

Let's stream predictions for our 'churnPredictionModel':

CALL gds.pipeline.nodePropertyPrediction.predict.stream('churnPredictionModel', {
    graphName: 'mySocialGraph',
    nodeLabels: ['User'],
    topN: 1 // Get the top predicted class
})
YIELD nodeId, predictedProperty, probability
RETURN gds.util.asNode(nodeId).name AS user, predictedProperty, probability
LIMIT 5

Managing Your Pipelines

You can list all active pipelines and their configurations using gds.pipeline.list(). When a pipeline is no longer needed, you can remove it with gds.pipeline.drop().

Let's see the pipelines we currently have:

CALL gds.pipeline.list()
YIELD name, type, creationTime
RETURN name, type, creationTime

GDS Pipeline Components

A GDS pipeline combines various steps to create a complete data science workflow. Which of the following are valid components or steps you can add to a GDS Node Property Prediction Pipeline?

Recap: Pipelines for ML

Great job! You've learned how GDS Pipelines provide a structured and reproducible way to integrate graph algorithms with machine learning workflows.

  • Pipelines define a sequence of steps.
  • They combine feature engineering (from existing properties and graph algorithms) with ML model training.
  • They enable efficient prediction and operationalization of graph-based insights.

Keep exploring GDS to unlock more advanced graph analytics!

เริ่มต้นได้ฟรี

เรียนรู้ Neo4j Graph Database Fundamentals ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
12
บทเรียน
48

คำถามที่พบบ่อย

บทเรียน “กระบวนการส่งข้อมูล GDS และการเรียนรู้ของเครื่อง” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “กระบวนการส่งข้อมูล GDS และการเรียนรู้ของเครื่อง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Neo4j Graph Database Fundamentals ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Neo4j Graph Database Fundamentals มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “กระบวนการส่งข้อมูล GDS และการเรียนรู้ของเครื่อง”

ค้นพบวิธีสร้างและจัดการกระบวนการส่งข้อมูลวิทยาการข้อมูลกราฟภายใน GDS พร้อมผสานรวมกับกระบวนการทำงานด้านการเรียนรู้ของเครื่อง คุณปฏิบัติ Neo4j Graph Database Fundamentals ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Neo4j Graph Database Fundamentals หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Neo4j Graph Database Fundamentals บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “กระบวนการส่งข้อมูล GDS และการเรียนรู้ของเครื่อง” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Neo4j Graph Database Fundamentals นี้ได้ไหม

ได้ บทเรียน Neo4j Graph Database Fundamentals ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. บทนำสู่ไลบรารี GDS
  2. การเรียกใช้อัลกอริทึม GDS
  3. กระบวนการส่งข้อมูล GDS และการเรียนรู้ของเครื่อง
  4. การฝังกราฟด้วย GDS
← กลับไปที่ Neo4j Graph Database Fundamentals