GDS-pipelines och maskininlärning
Upptäck hur ni bygger och hanterar pipelines för grafdataanalys i GDS och integrerar dem med arbetsflöden för maskininlärning.
GDS-pipelines och maskininlärning är en gratis lektion i Grunderna i Neo4j-grafdatabaser på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Grunderna i Neo4j-grafdatabaser, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Grunderna i Neo4j-grafdatabaser innehåller totalt 4 lektioner.
Vad är GDS-pipelines?
Välkommen till GDS-pipelines! I biblioteket Neo4j Graph Data Science (GDS) är en pipeline ett strukturerat arbetsflöde för vanliga uppgifter inom grafdatavetenskap.
Se det som en ritning som definierar en sekvens av steg, från feature engineering med hjälp av grafalgoritmer till träning och driftsättning av maskininlärningsmodeller.
Varför använda GDS-pipelines?
GDS-pipelines erbjuder flera viktiga fördelar:
- Reproducerbarhet: Definiera hela arbetsflödet en gång och återanvänd det.
- Automatisering: Effektivisera komplexa uppgifter som omfattar flera grafalgoritmer och ML-steg.
- Produktionssättning: Driftsätt enkelt grafbaserade maskininlärningsmodeller för kontinuerliga prediktioner.
De hjälper till att överbrygga gapet mellan experiment och produktion.
Skapa en prediktionspipeline
En vanlig pipeline-typ är Node Property Prediction Pipeline. Den hjälper till att förutsäga en specifik egenskap hos noder utifrån andra nodegenskaper och grafens struktur.
Vi skapar en tom pipeline med namnet 'myChurnPrediction':
CALL gds.pipeline.nodePropertyPrediction.create('myChurnPrediction')
YIELD pipeline
RETURN pipeline.name AS name, pipeline.type AS typeProjicera dina grafdata
Innan du använder en pipeline måste du projicera grafen till GDS-minnet. Då blir noder och relationer tillgängliga för algoritmer och features.
Här projicerar vi en enkel graf med 'User'-noder och 'KNOWS'-relationer:
CALL gds.graph.project(
'mySocialGraph',
'User',
{ KNOWS: { orientation: 'UNDIRECTED' } }
)
YIELD graphName, nodeCount, relationshipCount
RETURN graphName, nodeCount, relationshipCountLägga till nodegenskaper som features
Med pipelines kan du ange vilka befintliga nodegenskaper som ska användas som features i maskininlärningsmodellen. Det här är direkta attribut hos noderna.
Vi lägger till egenskaperna 'age' och 'income' som features i vår pipeline:
CALL gds.pipeline.nodePropertyPrediction.addNodePropertySteps('myChurnPrediction', {
nodeProperties: ['age', 'income']
})
YIELD pipeline
RETURN pipeline.name, pipeline.nodePropertyStepsIntegrera features från grafalgoritmer
Den verkliga styrkan hos GDS-pipelines är att integrera resultat från grafalgoritmer som features. Dessa fångar strukturella insikter som enkla nodegenskaper inte kan fånga.
Vi kan lägga till PageRank-poäng som en feature i vår pipeline:
CALL gds.pipeline.nodePropertyPrediction.addPageRank('myChurnPrediction', {
maxIterations: 10,
dampingFactor: 0.85,
mutateProperty: 'pageRankScore' // This becomes a feature
})
YIELD pipeline
RETURN pipeline.name, pipeline.pageRankStepsKonfigurera maskininlärningsmodellen
När du har definierat dina features anger du den maskininlärningsmodell som ska utföra prediktionen. GDS stöder flera olika modeller, till exempel Logistic Regression, Random Forest och GNN:er.
Vi lägger till en Logistic Regression-modell för att förutsäga '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.logisticRegressionStepsTräna din GDS-pipeline
När features och en modell har definierats kan du nu träna pipelinen. Då körs alla steg för att generera features, varefter den angivna ML-modellen tränas på de genererade featurerna.
Vi tränar vår pipeline på 'mySocialGraph' och namnger den resulterande modellen '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 f1ScoreGöra prediktioner med modellen
När modellen har tränats kan den, som en del av pipelinen, användas för att generera prediktioner på dina grafdata. Du kan antingen strömma resultaten eller ändra grafen genom att lägga till nya egenskaper.
Vi strömmar prediktioner för vår '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 5Hantera dina pipelines
Du kan lista alla aktiva pipelines och deras konfigurationer med gds.pipeline.list(). När en pipeline inte längre behövs kan du ta bort den med gds.pipeline.drop().
Vi tittar på de pipelines vi har för närvarande:
CALL gds.pipeline.list()
YIELD name, type, creationTime
RETURN name, type, creationTimeGDS-pipelinekomponenter
En GDS-pipeline kombinerar olika steg för att skapa ett komplett arbetsflöde för datavetenskap. Vilka av följande är giltiga komponenter eller steg som du kan lägga till i en GDS Node Property Prediction Pipeline?
Sammanfattning: pipelines för ML
Bra jobbat! Du har lärt dig hur GDS-pipelines ger ett strukturerat och reproducerbart sätt att integrera grafalgoritmer med arbetsflöden för maskininlärning.
- Pipelines definierar en sekvens av steg.
- De kombinerar feature engineering (från befintliga egenskaper och grafalgoritmer) med träning av ML-modeller.
- De möjliggör effektiv prediktion och produktionssättning av grafbaserade insikter.
Fortsätt utforska GDS för att upptäcka ännu mer avancerad grafanalys!
Lär dig Grunderna i Neo4j-grafdatabaser med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”GDS-pipelines och maskininlärning” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Grunderna i Neo4j-grafdatabaser, inklusive ”GDS-pipelines och maskininlärning”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Grunderna i Neo4j-grafdatabaser innehåller totalt 4 lektioner.
Vad lär jag mig i ”GDS-pipelines och maskininlärning”?
Upptäck hur ni bygger och hanterar pipelines för grafdataanalys i GDS och integrerar dem med arbetsflöden för maskininlärning. Ni övar på Grunderna i Neo4j-grafdatabaser med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Grunderna i Neo4j-grafdatabaser?
Du behöver inga förkunskaper. Utbildningen i Grunderna i Neo4j-grafdatabaser på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.
Hur lång tid tar lektionen ”GDS-pipelines och maskininlärning”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Grunderna i Neo4j-grafdatabaser-lektionen?
Ja. Varje Grunderna i Neo4j-grafdatabaser-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Introduktion till GDS-biblioteket
- Köra GDS-algoritmer
- GDS-pipelines och maskininlärning
- Graf-inbäddningar med GDS