본문 바로가기

neo4j4

[Neo4j] Graph Data Science-머신러닝(Machine Learning) GDS의 머신러닝이란? Neo4j에서 그래프를 생성하고 Python, Apache Spark 등과 같은 머신 러닝 학습을 수행하기 위해 다른 환경으로 내보낼 수 있어야 한다. 이러한 외부 프레임 워크는 사용자가 정의할 수 있는 유연성을 갖고 있다. GDS의 머신러닝은 그래프 머신러닝 학습 패턴, 파이프라인 객체 및 관리, 노드 분류, 링크 예측 등을 할 수 있다. - Neo4j에서 그래프 기반 머신러닝 도구를 사용해야 하는 이유 1. 복잡한 모델 디자인 관리 2. 강력한 데이터베이스 결합을 통한 빠른 프로덕션 경로 3. 개발 및 테스팅 GDS의 ML 파이프라인 및 모델 GDS는 end-to-end ML 워크플로를 위한 관리형 파이프라인을 제공한다. 데이터 선택, 기능 엔지니어링, 데이터 분할, 하이퍼 파.. 2023. 1. 6.
[Neo4j] Graph Data Science-그래프 알고리즘(Graph Algorithms) 이번에는 다양한 알고리즘 계층과 알고리즘의 다양한 실행 모드 및 GDS에서 알고리즘을 실행하는 데 필요한 메모리를 추정하는 방법에 대해서 공부해볼 것이다. 계층 GDS 알고리즘은 알파, 베타, 프로덕션 세 계층으로 분류된다. 계층 설명 접두사 알파 알고리즘이 실험적이며 언제든지 변경되거나 제거될 수 있음을 나타낸다 gds.alpha. 베타 알고리즘이 프로덕션 품질 계층의 후보임을 나타낸다 gds.beta. 프로덕션 품질 알고리즘이 안정성 및 확장성과 관련하여 테스트되었음을 ​​나타낸다 gds. 실행 모드 GDS 알고리즘에는 알고리즘 결과를 처리하는 방법을 결정하는 4가지 실행모드가 있다. 실행모드 설명 stream 알고리즘의 결과를 레코드 스트림으로 반환한다. stats 요약 통계의 단일 레코드를 반환하.. 2023. 1. 5.
[Neo4j] Graph Data Science-네이티브 프로젝션(Native Projection) 네이티브 프로젝션이란? GDS에는 네이티브 프로젝션과 사이퍼 프로젝션이라는 두 가지 프로젝션 유형이 있다. 네이티브 프로젝션 효율성과 성능에 최적화되어 대규모 그래프 데이터 과학을 지원 Cypher 프로젝션 탐색적 분석, 실험 및 더 작은 그래프 프로젝션을 지원하기 위해 유연성과 사용자 정의에 최적화 네이티브 프로젝션은 Neo4j 스토어 파일에서 직접 읽어 최고의 성능을 제공한다. 개발 및 생산 단계 모두에 적합하다. * 사이퍼 프로젝션에 대한 글은 다음 게시글에 있다! 기본 프로젝션의 기능 - 노드 및 관계 요소를 그대로 프로젝션 하기 - 숫자 노드 및 관계 속성 포함하기 - 관계 방향 변경 - 병렬 관계 집계 위 기능들은 다양한 유형의 분석 워크 플로 및 알고리즘에 대한 투영을 준비하는데 도움이 된다.. 2023. 1. 5.
Neo4j 사이퍼 쿼리 Intermediate Cypher Queries 쿼리 필터링 CALL db.schema.visualization() 데이터 모델 확인 명령어 CALL db.schema.nodeTypeProperties() 노드의 속성 유형 확인 명령어 CALL db.schema.relTypeProperties() 그래프 관계 속성 유형 확인 명령어 기본 사이퍼 쿼리-WHERE, NULL MATCH (p:Person)-[r:DIRECTED]->(m:Movie) WHERE r.role IS NOT NULL AND m.year = 2015 RETURN p.name, r.role, m.title - IS NOT NULL: 관계에 대한 역할 속성이 있는지 확인하는 명령어(반대: NOT NULL) - IN: 값이 목록 속성에 있.. 2023. 1. 3.