Neo4j Graph Database Fundamentals · 강의

GDS 파이프라인 및 머신 러닝

GDS에서 그래프 데이터 과학 파이프라인을 구축하고 관리하며 머신 러닝 작업 흐름과 통합하는 방법을 알아봅니다.

레슨 3/412개 단계

GDS 파이프라인 및 머신 러닝은(는) CoddyKit의 무료 Neo4j Graph Database Fundamentals 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 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!

무료로 시작

AI 튜터와 함께 Neo4j Graph Database Fundamentals을(를) 배우세요 — 무료

브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.

코스
12
레슨
48

자주 묻는 질문

“GDS 파이프라인 및 머신 러닝” 강의는 무료인가요?

네 — “GDS 파이프라인 및 머신 러닝” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Neo4j Graph Database Fundamentals 강의 전체를 잠금 해제할 수 있습니다. Neo4j Graph Database Fundamentals 강의에는 총 4개의 강의가 포함되어 있습니다.

“GDS 파이프라인 및 머신 러닝”에서 뭘 배우나요?

GDS에서 그래프 데이터 과학 파이프라인을 구축하고 관리하며 머신 러닝 작업 흐름과 통합하는 방법을 알아봅니다. 브라우저에서 직접 실행하는 실습 코드로 Neo4j Graph Database Fundamentals을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Neo4j Graph Database Fundamentals을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Neo4j Graph Database Fundamentals은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“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(으)로 돌아가기