SCIENCE OF DATA ANALYSIS
-
안녕하세요 데잇입니다. 데이터 업무를 하다보면 시각적으로 구조를 표현해야 하는 일이 종종 있습니다. 그럴때마다 PPT나 마인드맵 프로그램을 이용해도 좋지만, 복잡한 구조는 그리기 어려운 경우가 많습니다. Mermaid는 복잡한 다이어그램과 플로우차트를 코드로 쉽게 작성하고 시각화할 수 있는 도구입니다. 세 가지 주요 고려사항(그래프의 진행 방향, 노드의 모양, 그리고 텍스트 입력 방법)을 토대로 Mermaid의 기본 문법을 배워봅시다. 1. 그래프 진행 방향 그래프의 진행 방향은 다이어그램의 흐름을 나타냅니다. Mermaid에서는 주로 두 가지 방향을 사용합니다: Top-Down (위에서 아래로): graph TD Left-Right (왼쪽에서 오른쪽으로): graph LR 2. 노드의 모양 노드의 모양..
[기타] 다이어그램 표현을 위한 Mermaid 문법안녕하세요 데잇입니다. 데이터 업무를 하다보면 시각적으로 구조를 표현해야 하는 일이 종종 있습니다. 그럴때마다 PPT나 마인드맵 프로그램을 이용해도 좋지만, 복잡한 구조는 그리기 어려운 경우가 많습니다. Mermaid는 복잡한 다이어그램과 플로우차트를 코드로 쉽게 작성하고 시각화할 수 있는 도구입니다. 세 가지 주요 고려사항(그래프의 진행 방향, 노드의 모양, 그리고 텍스트 입력 방법)을 토대로 Mermaid의 기본 문법을 배워봅시다. 1. 그래프 진행 방향 그래프의 진행 방향은 다이어그램의 흐름을 나타냅니다. Mermaid에서는 주로 두 가지 방향을 사용합니다: Top-Down (위에서 아래로): graph TD Left-Right (왼쪽에서 오른쪽으로): graph LR 2. 노드의 모양 노드의 모양..
2024.01.05 -
안녕하세요 데잇입니다. 확률분포 마을에 대해 설명하는 중이었어요. 지금부터 성공에 미쳐버린 이산형 확률변수들을 만나보겠습니다. 오늘 만나볼 분포는 베르누이 분포로 대표적인 이산형 확률분포 입니다. 단속적으로 끊어지는 개발자의 형상을 지닌 첫 번째 주민이죠. 그 주민들 중에서도 가장 대표적인 인물입니다. 베르누이 분포로부터 많은 분포들이 도출되기 때문입니다. 우리는 그를 나이 많고 무뚝뚝한 할아버지 개발자로 상상하기로 합시다! 특성 통계학에서 베르누이 시행(Bernoulli trial)은 임의의 결과가 '성공' 또는 '실패'의 두 가지 중 하나인 실험을 뜻한다. $X$: 베르누이 시행을 1회 시행하여 일어난 두 가지 결과에 의해 그 값이 각각 0과 1로 결정된다고 할 때 이 X값, 성공여부에 대한 확률변수..
[확률분포 마을] #002 이산형 확률분포: 베르누이 분포와 이항분포안녕하세요 데잇입니다. 확률분포 마을에 대해 설명하는 중이었어요. 지금부터 성공에 미쳐버린 이산형 확률변수들을 만나보겠습니다. 오늘 만나볼 분포는 베르누이 분포로 대표적인 이산형 확률분포 입니다. 단속적으로 끊어지는 개발자의 형상을 지닌 첫 번째 주민이죠. 그 주민들 중에서도 가장 대표적인 인물입니다. 베르누이 분포로부터 많은 분포들이 도출되기 때문입니다. 우리는 그를 나이 많고 무뚝뚝한 할아버지 개발자로 상상하기로 합시다! 특성 통계학에서 베르누이 시행(Bernoulli trial)은 임의의 결과가 '성공' 또는 '실패'의 두 가지 중 하나인 실험을 뜻한다. $X$: 베르누이 시행을 1회 시행하여 일어난 두 가지 결과에 의해 그 값이 각각 0과 1로 결정된다고 할 때 이 X값, 성공여부에 대한 확률변수..
2024.01.02 -
안녕하세요 여러분, 데잇입니다. 지난한 인고의 시간을 지나 MacOS(M1 Pro) poetry 환경에 tensorflow를 설치하였습니다. 안타깝게도 M2환경에서는 tensorflow를 지원하지 않는다고 하니, 마음 편히 pytorch 또는 colab환경의 tensorflow를 사용하도록 합시다. (후술하는 참고자료와 같이 CONDA 가상환경을 이용하면 설치가 가능하다는 이야기도 있습니다. 건투를 빕니다.) 개발환경: MacOS 13.6.2 / M1 Pro STEP 1: poetry 가상환경 생성하기 poetry init poetry shell STEP 2: poetry 가상환경의 python version tensorflow 버전에 맞게 설정하기 이 부분은 임의의 python 환경에서 tensorfl..
[파이썬 훈련] #006 poetry 가상환경에서 tensorflow 설치 방법안녕하세요 여러분, 데잇입니다. 지난한 인고의 시간을 지나 MacOS(M1 Pro) poetry 환경에 tensorflow를 설치하였습니다. 안타깝게도 M2환경에서는 tensorflow를 지원하지 않는다고 하니, 마음 편히 pytorch 또는 colab환경의 tensorflow를 사용하도록 합시다. (후술하는 참고자료와 같이 CONDA 가상환경을 이용하면 설치가 가능하다는 이야기도 있습니다. 건투를 빕니다.) 개발환경: MacOS 13.6.2 / M1 Pro STEP 1: poetry 가상환경 생성하기 poetry init poetry shell STEP 2: poetry 가상환경의 python version tensorflow 버전에 맞게 설정하기 이 부분은 임의의 python 환경에서 tensorfl..
2024.01.01 -
안녕하세요 여러분, 데잇입니다. 이전 시간에 이어 POETRY 가상환경을 vs code에 적용하여 대화형 환경인 jupyter notebook을 설정하고 이용해봅시다. POETRY 활용법 jupyter notebook kernel 설정 bash $ poetry shell $ poetry add jupyter ipykernel $ poetry run python -m ipykernel install --user --name [가상환경 이름] --display-name "[jupyter에 표시될 kernel의 이름]" python에서 ipykernel 모듈을 실행(-m)하여 install 작업을 한다는 의미 $ jupyter notebook : URI 주소가 출력된다 VScode Jupyter: Specif..
[파이썬 훈련] #004 Poetry Jupyter Notebook on VSCODE안녕하세요 여러분, 데잇입니다. 이전 시간에 이어 POETRY 가상환경을 vs code에 적용하여 대화형 환경인 jupyter notebook을 설정하고 이용해봅시다. POETRY 활용법 jupyter notebook kernel 설정 bash $ poetry shell $ poetry add jupyter ipykernel $ poetry run python -m ipykernel install --user --name [가상환경 이름] --display-name "[jupyter에 표시될 kernel의 이름]" python에서 ipykernel 모듈을 실행(-m)하여 install 작업을 한다는 의미 $ jupyter notebook : URI 주소가 출력된다 VScode Jupyter: Specif..
2023.12.29 -
안녕하세요 여러분, 데잇입니다. 파이썬 버전과 의존성을 관리하기 위한 다양한 가상환경이 있습니다. 여기서는 가장 강력하다고 POETRY의 설정과 사용에 대하여 간단히 알아봅니다! POETRY 사용법 설치 curl -ssl https://install.python-poetry.org/ | python3 세팅 설치를 완료하고 나면 등장하는 안내 메세지에 따라 PATH에 명령어를 추가합니다. 탭 완성(tab completion) 활성화하기 Bash쉘: poetry help completions Oh-My-Zsh쉘: 다음 명령어를 통해 ./zshrc의 plugins에 poetry를 추가합니다. # Zsh (Oh-My-Zsh) mkdir $ZSH/plugins/poetry poetry completions zsh..
[파이썬 훈련] #003 Python 가상환경 Poetry 설정 및 사용법안녕하세요 여러분, 데잇입니다. 파이썬 버전과 의존성을 관리하기 위한 다양한 가상환경이 있습니다. 여기서는 가장 강력하다고 POETRY의 설정과 사용에 대하여 간단히 알아봅니다! POETRY 사용법 설치 curl -ssl https://install.python-poetry.org/ | python3 세팅 설치를 완료하고 나면 등장하는 안내 메세지에 따라 PATH에 명령어를 추가합니다. 탭 완성(tab completion) 활성화하기 Bash쉘: poetry help completions Oh-My-Zsh쉘: 다음 명령어를 통해 ./zshrc의 plugins에 poetry를 추가합니다. # Zsh (Oh-My-Zsh) mkdir $ZSH/plugins/poetry poetry completions zsh..
2023.12.28 -
통추리, 첫 번째 시리즈는 흩어진 확률분포를 한 곳에 모으는 것입니다. 이것을 확률분포 마을이라고 부르겠습니다. 확률분포 마을에는 누가 어디에 어떤 모습으로 살고 있을까요? 마을 주민을 모두 만나고 나면, 더 이상 확률분포가 낯설게 느껴지지 않을 거예요. $X$ 1. 확률분포 마을의 주민 이산형 주민들: 이들은 단속적으로 끊어지는 특성이 있습니다. 딱딱 맞아떨어지는 그들의 모습은 마치 T형 성격 같아요. 특히, 논리력이 뛰어난 개발자의 형상을 지니고 있습니다. 이산형 주민들의 목록은 다음과 같습니다. Bernoulli, Binomial, Geometric, Negative Binomial, Hyper Geometric, Categorical, Multinomial, Poisson 연속형 주민들: 이들은 ..
[확률분포 마을] #001 확률분포의 직관적 의미와 관계 총정리통추리, 첫 번째 시리즈는 흩어진 확률분포를 한 곳에 모으는 것입니다. 이것을 확률분포 마을이라고 부르겠습니다. 확률분포 마을에는 누가 어디에 어떤 모습으로 살고 있을까요? 마을 주민을 모두 만나고 나면, 더 이상 확률분포가 낯설게 느껴지지 않을 거예요. $X$ 1. 확률분포 마을의 주민 이산형 주민들: 이들은 단속적으로 끊어지는 특성이 있습니다. 딱딱 맞아떨어지는 그들의 모습은 마치 T형 성격 같아요. 특히, 논리력이 뛰어난 개발자의 형상을 지니고 있습니다. 이산형 주민들의 목록은 다음과 같습니다. Bernoulli, Binomial, Geometric, Negative Binomial, Hyper Geometric, Categorical, Multinomial, Poisson 연속형 주민들: 이들은 ..
2023.12.02 -
안녕하세요 통계학도 데잇입니다. 빅쿼리에서 JSON으로 저장된 데이터를 마주할 때는 일반적이지 않은 문법에 당황하곤 합니다. 다음 JSONPath 전용 기호를 배워둡시다! 아래와 같은 기호들은 JSONPath 표현식에서 복잡한 데이터 구조 내에서 특정 데이터에 효과적으로 접근하게 해줍니다. 1. $ - 루트 객체 정의 : JSONPath 쿼리의 시작점을 나타내며, JSON 문서의 최상위 레벨을 가리킵니다. 2. . 또는 [] - 자식 연산자 . : 자식 요소에 접근하는 데 사용됩니다. 예를 들어, $.name은 루트 객체의 name 필드를 가리킵니다. [ ] : 배열 인덱스나 필터 표현식에 사용됩니다. 예를 들어, $.phones[0]은 phones 배열의 첫 번째 요소를 의미합니다. 3. .. - 재귀..
[빅쿼리 훈련] #001 빅쿼리 JSONPath 표현식안녕하세요 통계학도 데잇입니다. 빅쿼리에서 JSON으로 저장된 데이터를 마주할 때는 일반적이지 않은 문법에 당황하곤 합니다. 다음 JSONPath 전용 기호를 배워둡시다! 아래와 같은 기호들은 JSONPath 표현식에서 복잡한 데이터 구조 내에서 특정 데이터에 효과적으로 접근하게 해줍니다. 1. $ - 루트 객체 정의 : JSONPath 쿼리의 시작점을 나타내며, JSON 문서의 최상위 레벨을 가리킵니다. 2. . 또는 [] - 자식 연산자 . : 자식 요소에 접근하는 데 사용됩니다. 예를 들어, $.name은 루트 객체의 name 필드를 가리킵니다. [ ] : 배열 인덱스나 필터 표현식에 사용됩니다. 예를 들어, $.phones[0]은 phones 배열의 첫 번째 요소를 의미합니다. 3. .. - 재귀..
2023.11.30 -
안녕하세요 통계학도 데잇입니다. 데이터 분석을 위한 코딩, Python Pandas Multiindex를 알아봅니다. 데이터 과학자에게 빠질 수 없는 라이브러리는 pandas라고 생각합니다. 판다스에 익숙한 사용자라고 할 지라도 Multi index 문법으로 인해 고전하는 경우가 많습니다. 간단한 사례를 통해 Multi Index를 제압해봅니다! 행 또는 열 MULT IINDEX에서 특정 레벨 제거하여 단일 INDEX 만들기 ① Index에서 레벨 제거(feat. reset_index) import pandas as pd # MultiIndex 인덱스 예시 생성 index = pd.MultiIndex.from_tuples([('A', 1), ('A', 2), ('B', 1), ('B', 2)], name..
[파이썬 훈련] #002. Pandas Multiindex 처리 문제안녕하세요 통계학도 데잇입니다. 데이터 분석을 위한 코딩, Python Pandas Multiindex를 알아봅니다. 데이터 과학자에게 빠질 수 없는 라이브러리는 pandas라고 생각합니다. 판다스에 익숙한 사용자라고 할 지라도 Multi index 문법으로 인해 고전하는 경우가 많습니다. 간단한 사례를 통해 Multi Index를 제압해봅니다! 행 또는 열 MULT IINDEX에서 특정 레벨 제거하여 단일 INDEX 만들기 ① Index에서 레벨 제거(feat. reset_index) import pandas as pd # MultiIndex 인덱스 예시 생성 index = pd.MultiIndex.from_tuples([('A', 1), ('A', 2), ('B', 1), ('B', 2)], name..
2023.11.16