전체 글 18

[SQL]윈도우 함수(Window Function)

🧩 윈도우 함수보통 우리는 SQL에서 집계함수(SUM, AVG, COUNT 등)를 사용할 때 GROUP BY를 사용해서 데이터를 그룹별로 요약한다. 이 때 결과는 그룹마다 한 행씩만 나오기 때문에 개별 행의 정보는 사라지게 된다. 만약 행은 그대로 유지하면서 동시에 다른 행을 참고해서 게산하고 싶으면 어떻게 해야할까?예를 들어, 사용자별 누적 구매 금액을 계산하거나, 직전 주문과의 차이를 비교하거나, 고객별로 매출 순위를 매기고 싶을 때는 GROUP BY로 계산하기엔 어렵다. 이럴 때 필요한 함수가 바로 윈도우 함수이다.즉, 윈도우 함수란 행을 그룹으로 묶지 않고도 주어진 윈도우(범위) 내 다른 행을 참조하여 계산할 수 있게 해주는 함수이며 순위 매기기, 누적 합계, 전후 비교와 같은 상황에서 사용할 ..

SQL 2025.05.12

[DA] 웹/앱 서비스에서 꼭 알아야 할 주요 지표 정리

노션에 공부용으로 정리해놨던 내용을 블로그로 옮기면서 다시한번 주요 지표에 대해 정리하려고 한다.1. DAU & WAU & MAU & StickinessDAU(Daily Active User) / WAU(Weekly Active User) / MAU(Monthly Active User)일간/주간/월간 활성 유저 수한 유저가 여러번 방문해도 한 번으로 집계 (중복X)서비스의 활성화 정도를 한 눈에 파악할 수 있음Stickiness(고착도) Stickiness = DAU / MAU(or WAU)유저들이 우리 서비스에 계속해서 방문하는지("딱 붙어있는지")를 측정하는 지표Stickiness가 높을 수록 유저가 우리 서비스에 꾸준히 접속하고, 낮으면 가끔씩만 접속한다는 의미Engagement 지표라고도 하며 R..

Data Analysis 2025.04.28

[Machine Learning]Decision Tree(의사결정나무)

🧩 전체 목표머신러닝 모델 중 하나인 의사결정나무(Decision Tree) 는 데이터에 조건 분기를 적용하며 예측을 수행하는 모델이다. 데이터에 있는 규칙을 학습을 통해 자동으로 찾아내 트리기반의 분류 규칙을 만든다. 이 글에서는 의사결정나무가 어떻게 작동하는지, 주요 알고리즘 종류는 무엇인지, 실무에서 어떻게 활용되는지까지 단계별로 정리한다.🧩 전체 학습 흐름 (6단계)🔹 1. 기본 개념 이해의사결정나무는 조건(if/else)을 따라가며 데이터를 분기해 예측을 수행하는 트리 기반 모델이다.입력값의 특성을 기준으로 데이터를 분할하며 학습분류(Classification)와 회귀(Regression) 문제에 모두 사용 가능🔹 2. 분기 기준 (불순도 지표)트리는 데이터를 어떻게 나눌지를 결정하기 위..

Machine Learning 2025.04.02

[Git]한 컴퓨터에서 Github 계정 여러개 등록하기

회사 컴퓨터에서 GitHub 개인 계정과 회사 계정을 모두 사용해야 할 때가 종종 있는데 git config로 사용자 정보 바꿔가면서 관리하기가 매우 번거롭다. git config로 설정하는 것 대신 SSH 키 분리하여 설정하는 과정을 정리하고자 한다.🧩 전체 목표GitHub에서는 HTTPS를 사용하고 git config로 사용자 정보를 바꿔가며 여러 계정을 관리할 수도 있다.# 개인용 설정git config user.name "Your Name"git config user.email "your_email@gmail.com"# 회사용 설정git config user.name "Your Company Name"git config user.email "you@company.com" 하지만 매번 계정 전환 ..

Git 2025.03.28

[Python]OpenAPI로 데이터 불러오기

Airflow 실습 중에 API를 활용하여 공공 데이터 받아오는 Custom Operator 만드는 부분이 있다.해당 실습을 이해하려면 API 호출하는 부분에 대해 공부해야 할 것 같아 정리하고자 한다. 🐼1. 실습 데이터서울시 열린 데이터 광장(https://data.seoul.go.kr/)에서는 많은 데이터들을 API 형태로 공유하고 있는데, 그 중 서울시 부동산 실거래가 데이터를 가져오고자 한다.API 호출해서 가져올 수 있는 데이터들은 OpenAPI 태그가 붙어있다.인증키 신청해당 데이터를 받아오기 위해서는 로그인 후 API 활용 신청을 해야 한다.인증키 신청 > 일반 인증키 신청 > 사용url: localhost (그 외부분은 자유롭게 기재)해당 과정 완료하면 개인마다 주어지는 API KEY ..

Python 2025.02.24

[Airflow]Airflow 설치

Airflow 설치하는 방법에 대해서 알아보자!Airflow는 아직 Window 버전에서 공식 설치를 지원하지 않기 때문에 - Linux 환경에서 Docker로 설치하는 방법에 대해 작성하려고 한다. (혹은 AWS나 GCP-Cloud Composer 같은 클라우드 환경에서 지원하는 서비스를 활용할 수 있지만 나는 로컬에서 설치하는 방법에 대해 적어보고자 한다.)크게 WSL 설치 -> Docker 설치 -> Airflow 설치의 3단계로 이루어져 있다.1. WSL 설치1-1. WSL이란?Windows Subsystem for LinuxWindows에서 리눅스 실행환경을 지원하는 Windows의 확장 기능Windows에서 바로 리눅스 명령을 실행할 수 있음WSL 있기 전엔 가상머신(VM)을 많이 사용했음간단..

Airflow 2025.02.24

[Airflow]Airflow란?

회사에서 데이터 파이프라인을 만들면서 데이터 엔지니어링 쪽에 관심이 생겼다. 뭔가 내가 만든 파이프라인을 볼 때마다 뭔가 관리가 제대로 안 되는 듯한 느낌을 받았는데... (물론 나 혼자의 의견으로만 만든 것은 아님) 회사에 DE쪽을 아는 사람이 거의 없는 것 같기 때문에 이 참에 공부하면 좋을 것 같아 차근차근 작성해보고자 한다. 👀1. Airflow란?Airflow는 airbnb 엔지니어링 팀에서 개발한 워크플로 오픈소스 플랫폼이다.Python 기반으로 복잡한 데이터 파이프라인(추출, 가공, 저장 등)을 자동화하고 스케줄링하는 데 사용된다.Airflow 에서 Data Pipeline = DAG2. 주요 개념Workflow의존성으로 연결된 작업들의 집합ETL 같은 경우는 Extraction -> Tr..

Airflow 2025.02.24

[MLOps]Vertex AI Pipeline(Kubeflow Pipeline)

1. AI Platform과 ML workflow PipelineAI Platform은 머신러닝 워크플로우 각 단계에서 모델을 개발하는데 필요한 도구와 환경을 구축하는 수작업을 최소화하고 쉽게 개발하기 위한 기능을 제공한다. (Pipeline보다 큰 범위)대표적인 AI Platform은 구글 버텍스 AI(Google Vertex AI), 아마존 세이지메이커(Amazon SageMaker), 애저 머신러닝(Azure Machine Learning) 등이 있으며, 오픈소스로는 쿠브플로우(Kubeflow) 등이 있다.Kubeflow는 머신러닝 워크플로우의 모델 학습 ~ 배포까지 작업에 필요한 도구와 환경을 쿠버네티스 위에서 쿠브플로우 컴포넌트 형태로 제공하며, Kubeflow Pipelines(KFP)는 ML..

MLOps 2025.02.24

[MLOps]MLOps란?

1. MLOps란?ML 모델이 서비스화 되는 과정에서 관리해야되는 모든 운영적인 부분(ModelOps + DataOps + DevOps)을 관리하기 위한 방법론ML의 지속적 배포 및 자동화 파이프라인 구축단순 ML 모델 뿐 아니라 데이터를 수집하고 분석하는 것부터 ML 모델을 학습하고 배포하는 단계까지의 여러 이슈와 반복을 최소화하여 비즈니스 가치를 창출하는 것이 목표이다.2. ML 시스템의 요소ML 시스템을 Production 환경에 적용 및 운영하기 위해서는 단순히 좋은 모델만으로 가능한 것이 아니다. 전체 ML 시스템의 운영을 고려하면 모델 학습 자체는 굉장히 작은 부분에 속한다.모델을 운영하기 위해서는 기반 데이터 및 인프라를 포함한 모든 시스템이 유기적으로 돌아가야 한다.3. ML 생애주기MLO..

MLOps 2024.12.12

[SQL]그룹 내 순위 매기는 윈도우 함수

1. ROW_NUMBER()각 PARTITION(그룹) 내에서 정렬 기준에 따라 고유한 순위값을 반환하는 함수기본 문법ROW_NUMBER() / RANK() / DENSE_RANK() 모두 기본 문법은 동일하다.ROW_NUMBER() OVER(PARTITION BY [그룹화할 컬럼(선택)] ORDER BY [정렬할 컬럼(필수)] PARTITION BY를 사용하지 않으면 전체 행을 기준으로 ORDER BY 컬럼 (=-VISIT_CNT) 기준으로 행 번호가 붙음 (RANKS)SELECT 절 마지막 부분에 ORDER BY RANKS 조건 걸어줘야 RANKS 순위대로 결과값을 볼 수 있음SELECT YYYYMM ,CUST_NO ,STORE_NO ,VISIT_CNT ,ROW_NUMBER()..

SQL 2024.12.12