파이썬 21

[그래프 ML] 그래프 분해(Graph Factorization) - 파이썬 GEM (Graph Embedding Methods)

※ 출처 : 그래프 머신러닝 (클라우디오 스타밀레 외, 김기성·장기식 옮김) HTML 삽입 미리보기할 수 없는 소스 1. 그래프 분해(Graph Factorization)란 1.1. 개념 행렬 분해를 그래프 데이터, 특히 그래프의 인접 행렬에 적용한 개념입니다. 그래프 분해를 통해 그래프 구조를 저차원의 잠재 공간으로 투영(projection)하는 것을 목표로 합니다. 주어진 그래프 $G$를 작은 차원의 두 행렬 "노드 임베딩 행렬 $F$"와 "잠재 그래프 구조 행렬 $H$"의 곱으로 근사합니다. $$G \approx F \times H$$ [그래프 ML] 행렬 분해(Matrix Factorization) - 비음수 행렬 분해(NMF), 특이값 분해(SVD), 주성분 분석(PCA) HTML 삽입 미리보기..

[그래프 ML] 그래프 분석 라이브러리 - 파이썬 NetworkX, SNAP, igraph, graph-tool, NetworKit

HTML 삽입 미리보기할 수 없는 소스 ※ 이전 글 참고 [그래프 ML] 파이썬 networkx 시작하기 ※ 출처 : 그래프 머신러닝 (클라우디오 스타밀레 외, 김기성·장기식 옮김) 1. 그래프(Graph) 뜻 * 개체 간의 관계를 설명하는 데 사용되는 수학적 구조 * 소셜 네트워크(팔로우), 지도(길로 이어진 data-science-note.tistory.com ☆★ 요약 ★☆ 작업 규모 및 목적 적절한 라이브러리 소규모 네트워크 분석 NetworkX 대규모 네트워크 및 고성능 분석 SNAP, igraph, graph-tool, NetworKit 시각화 기능 graph-tool, NetworKit 신규 알고리즘 생성 NetworKit 라이브러리 주요 특징 장점 단점 NetworkX - 표준 그래프 이론..

[그래프 ML] 에고 그래프 - 파이썬 NetworkX, Gephi

HTML 삽입 미리보기할 수 없는 소스 ※ 출처 : 그래프 머신러닝 (클라우디오 스타밀레 외, 김기성·장기식 옮김) ※ 이전 글 참고 [그래프 ML] 그래프 데이터셋 - networkx, Network Repository, SNAP ※ 출처 : 그래프 머신러닝 (클라우디오 스타밀레 외, 김기성·장기식 옮김) 1. networkx Graph generators — NetworkX 3.2.1 documentation [0] D.G. Corneil, H. Lerchs, L.Stewart Burlingham, “Complement reducible graphs”, Discrete data-science-note.tistory.com 1. 파이썬 NetworkX 활용 * 특정 노드의 에고 그래프(ego graph..

[그래프 ML] 그래프 생성 - 파이썬 NetworkX

HTML 삽입 미리보기할 수 없는 소스 ※ 출처 : 그래프 머신러닝 (클라우디오 스타밀레 외, 김기성·장기식 옮김) ※ 이전 글 참고 2024.03.08 - [인공지능/그래프] - [그래프 ML] 파이썬 networkx 시작하기 2024.03.11 - [인공지능/그래프] - [그래프 ML] 그래프 속성 - 파이썬 networkx 1. 간단한 그래프 1.1. 완전 연결 무향 그래프(Fully Connected Undirected Graph) * $n$개의 노드일 때, $\frac{n(n-1)}{2}$개의 간선과 군집 계수 $C=1$을 가짐 * 더 큰 그래프를 구성하는 기본 구성 요소(building block) - $n$개의 노드로 구성된 완전 연결 부분그래프를 크기가 $n$인 클리크(clique)라 함 ..

[그래프 ML] 그래프 속성 - 파이썬 NetworkX

HTML 삽입 미리보기할 수 없는 소스 ※ 출처 : 그래프 머신러닝 (클라우디오 스타밀레 외, 김기성·장기식 옮김) ※ 이전 글 참고 [그래프 ML] 파이썬 networkx 시작하기 ※ 출처 : 그래프 머신러닝 (클라우디오 스타밀레 외, 김기성·장기식 옮김) 1. 그래프(Graph) 뜻 * 개체 간의 관계를 설명하는 데 사용되는 수학적 구조 * 소셜 네트워크(팔로우), 지도(길로 이어진 data-science-note.tistory.com 1. 그래프 속성이란 * 모든 그래프는 고유한 속성을 가지며, 이러한 속성은 측정지표(metrics)로 정량화할 수 있음 - 그래프 전체 / 지역(local) / 전역(global) 측면을 특성화 함 - 간단한 속성 : 노드 및 간선의 개수 → 복잡한 그래프를 표현하기..

[그래프 ML] 파이썬 NetworkX 시작하기

HTML 삽입 미리보기할 수 없는 소스 ※ 출처 : 그래프 머신러닝 (클라우디오 스타밀레 외, 김기성·장기식 옮김) 1. 그래프(Graph) 뜻 * 개체 간의 관계를 설명하는 데 사용되는 수학적 구조 * 소셜 네트워크(팔로우), 지도(길로 이어진 도시), 생물학적 구조, 웹 페이지, 프로세스 등 여러 분야에 사용됨 2. 라이브러리 설치 jupyter, networkx, snap-stanford, matplotlib, pandas, scipy 3. 단순무향그래프(Simple Undirected Graph) $$G = (V, E)$$ * $V$ : 꼭지점(vertex) 또는 노드(node)의 집합 $$V = \{v_1, ..., v_n\}$$ * $E$ : 두 꼭지점 간의 연결을 나타내는 간선(edge)으로..

Dask #6. 파이썬 Dask DataFrame (데이터프레임)

이번 포스팅에서는 파이썬 Dask DataFrame을 활용한 간단한 예제를 다뤄보도록 하겠습니다. 목차¶ Dask DataFrame Dask 클라이언트 난수 데이터프레임 생성 Dask에서 Pandas 기능 사용하기 메모리에 데이터 유지 시계열 작업 인덱스 설정 그룹별 함수 적용하기 Dask DataFrame¶ Dask DataFrame은 위의 그림처럼 인덱스를 따라 분할된 여러 Pandas 데이터프레임으로 구성되어 있습니다. 따라서, Dask DataFrame은 Pandas API가 갖고있는 기능들을 지원합니다. Dask 클라이언트¶ Dask 클라이언트(client)는 필요에 따라 실행해도 되고, 실행하지 않아도 됩니다. Dask 클라이언트는 연산 작업 현황에 대한 정보를 얻는데 유용한 대시보드(dash..

Dask #5. 파이썬 Dask Bag

이번 포스팅에서는 파이썬 Dask Bag를 활용한 간단한 예제를 다뤄보도록 하겠습니다. 목차¶ Dask Bag Dask 클라이언트 JSON 데이터 읽기 Map, Filter, Aggregate 변환 및 저장 Dask Bag¶ Dask Bag은 map, filter, groupby, 그 외 집계 작업처럼 파이썬 컬렉션 객체에 대해 수행할 수 있는 여러 작업들을 구현해놓았습니다. 이 작업들을 수행하기 위해 Python 반복자(iterators)를 사용하여, 적은 메모리에서도 병렬 작업을 수행합니다. 이러한 점은 병렬 버전의 Itertools 또는 PySpark RDD와 유사합니다. 특히 로그 파일, JSON records, 사용자 정의 Python 객체에 대해 간단한 전처리를 수행하는 데에 이 Dask Ba..

Dask #4. 파이썬 Dask Array

이번 포스팅에서는 파이썬 Dask Array를 활용한 간단한 예제를 다뤄보도록 하겠습니다. 목차¶ Dask Array Dask 클라이언트 난수 배열 생성 메모리에 데이터 유지 Dask Array¶ Dask array는 위 그림과 같이 NumPy array 덩어리(chunk)가 격자 형태로 배열된 것으로 볼 수 있습니다. Dask array는 Numpy API의 대부분을 지원합니다. Dask 클라이언트¶ Dask 클라이언트(client)는 필요에 따라 실행해도 되고, 실행하지 않아도 됩니다. Dask 클라이언트는 연산 작업 현황에 대한 정보를 얻는데 유용한 대시보드(dashboard)를 제공합니다. 아래 코드와 같이 클라이언트를 생성하면 대시보드에 대한 링크가 표시됩니다. 이 링크를 클릭해, 작업을 실행하..

Dask #3. 파이썬 Dask 간단하게 사용해보기

목차¶ Dask DataFrame Dask Array Dask Bag Low-Level 인터페이스 : Dask Delayed 스케줄링 Client 진단 Dashboard 일반적으로 다음과 같이 Dask를 import 합니다. 작업 중인 데이터 유형(DataFrame, array, list)에 따라 이들 중 일부가 필요하지 않을 수도 있습니다. In [2]: import numpy as np import pandas as pd import dask.dataframe as dd import dask.array as da import dask.bag as db Dask DataFrame¶ Dask 객체 생성¶ 먼저, Dask DataFrame을 활용해 Pandas DataFrame 유형의 데이터를 작업해보도록..

반응형