전체 글 34

서비스 대시보드 제작기 1편

데이터를 통해 서비스를 보다. 아마존에서는 데이터가 모든 것을 지배한다(Data is King at Amazon). 데이터가 ‘지배하는’ 회사는 많다고 할 수는 없겠지만, 많은 회사들이 A/B 테스트나 지표 분석 등을 통해 서비스를 개선하고 있습니다.제가 속해 있는 회사에서도 꾸준히 데이터 기반으로 프로덕트를 만들어나가려는 움직임이 있었는데요.그 중심에서 제가 담당하는 서비스도 지표를 통해 성과를 측정하고자 하여 대시보드의 필요성이 생기고, 데이터 분석을 할 수 있는 사람이 (제가..) 대시보드를 제작해 보기로 했습니다.이번 대시보드 제작기 시리즈를 통해 어떻게 데이터를 기반으로 서비스 지표를 정의했는지, 해당 지표를 기반으로 대시보드를 만들 때 어떤 점들을 고려했는지, 그 과정에서의 어려운 점 등을 이..

[인과추론] 데이터의 편향 제거하기; Propensity Score란?

검색어와 문서에 대한 유저 피드백 데이터를 사용해 특정 검색어로 노출되는 문서의 품질을 알기 위해 클릭율을 예측한다고 가정해 봅시다. 상위에 노출된 문서는 유저가 더 많이 클릭하기 때문에 클릭율이 좋다고 착각할 수 있습니다. 하지만 클릭 데이터에는 위치 편향(Position Bias)이 내포되어 있습니다. 사용자는 상단에 노출된 문서를 더 자주 보게 되고, 그만큼 더 클릭하며, 실제 품질보다 높은 클릭 전환율을 보일 가능성이 있습니다. 이런 편향을 제거하지 않으면 문서 품질에 대한 정확한 평가가 어렵습니다. 우리의 목표는 위치 편향을 보정하여 문서 자체 품질의 순수한 평가를 수행하는 것입니다. 본 글은 이를 해결하기 위해 인과추론 분야에서 주로 사용되는 Propensity Score 개념을 중심으로 한 ..

[Kubeflow] Pipeline 작성 가이드

Kubeflow는 머신러닝 워크플로우를 자동화하고 확장할 수 있도록 도와주는 오픈소스 플랫폼입니다. 본 글에서는 Kubeflow Pipeline을 작성하는 기본 가이드를 예시 코드와 함께 제공하며, pipeline 작성 시 제가 경험했던 문제와 이를 해결한 방법도 함께 다루고자 합니다. * 본 글은 kubeflow 1.8 버전을 기준으로 작성되었습니다. 1. 개요Kubeflow Pipeline은 머신러닝 워크플로우를 구성하기 위한 도구로, 각 컴포넌트를 개별적으로, 컨테이너로 실행하여 재사용할 수 있는 파이프라인을 구축할 수 있도록 합니다. 각 컴포넌트는 독립적으로 실행되며, 데이터 파이프라인을 통해 다른 컴포넌트로 데이터를 전달할 수 있습니다. Pipeline을 작성할 때 각 컴포넌트는 컨테이너로 구성..

[글또] 10기를 시작하며; 인풋은 많지만 아웃풋이 없는 사람

본 글은 스스로 메타인지를 높이기 위해 작성한 KPT 형식의 글또 10기 다짐 글입니다.  Problem올해 초부터 무엇인가를 이뤄내야 한다는 부담감에 시달렸다.리서치에서 그치지 않고 실제 서비스에서 성과를 낼 타이밍이었기 때문이다.회사에선 이제 만으로 2년 차가 지나면서 적응이 완벽히 되었다고 생각했다. (하지만 여전히 가끔 아니라는 생각이 든다….ㅎ)사회 생활도 시작한 지 3년이 넘었고, 주변 사람들과의 관계도 안정적이라고 생각했다. 스터디도 꾸준히 하고 있고, 책도 열심히 읽는다. 하지만 최근에 예상한 일정대로 업무를 진행하지 못한다거나, 공부할 때의 집중력, 스케줄 관리 등 모든 면에서 벅찬 일상을 버텨내고 있다고 판단하게 되었다. 그렇다면 어떤 부분이 일을 틀어지게 만들고 있을까 고민해 보았다..

Activities/회고 2024.10.13

[강의 후기] 유데미(Udemy) Python 부트캠프 : 100개의 프로젝트로 Python 개발 완전 정복

글또 9기 참여 중에 좋은 기회로 유데미의 강의를 수강할 수 있게 되었습니다. 유데미 강의는 처음 들어보는데요! 우선 저는 올해 다시 파이썬 기초부터 중급, 고급까지 차근차근 다져나갈 계획을 가지고 있었습니다. 그래서 'Python 부트캠프 : 100개의 프로젝트로 Python 개발 완전 정복' 강의를 신청했습니다. 이번 글은 해당 강의에 대한 후기를 공유하고자 합니다. 강의 소개 전세계 10만명이 넘게 수강한 Python 수업! 데이터사이언스, 웹 개발, 크롤링, GUI 프로그래밍, 게임 등 Python을 통해 개발할 수 있는 모든 것을 다뤄보는 All-in-one 코스 올인원 코스라는 설명이 아주 적합한 강의입니다. 누구나 쉽게 따라 할 수 있는 실전 예제와 함께 파이썬의 기초부터 심화 내용까지 모두..

Activities/리뷰 2024.03.31

Kafka: 대용량 실시간 데이터 스트리밍 플랫폼

비즈니스 환경에서 데이터는 굉장히 빠른 속도로 생성되고 처리되어야 합니다.기업은 이런 대용량의 데이터를 실시간으로 수집하고 분석하고자 하는 요구 사항을 가지고 있습니다.이에 따라 등장한 Apache Kafka는 대용량 실시간 데이터 스트리밍을 위한 강력한 플랫폼으로 각광받고 있습니다. 카프카란?카프카는 분산 데이터 스트리밍 플랫폼으로, LinkedIn에서 개발되었습니다.이후 Apache Software Foundation에서 오픈소스로 관리되며, 많은 기업에서 대용량 실시간 데이터의 수집, 저장, 처리를 위해 광범위하게 사용되고 있습니다. 기본 아키텍처카프카의 아키텍처는 생산자(Producer), 브로커(Broker), 소비자(Consumer), 이렇게 세 가지 주요 구성 요소로 이루어져 있습니다. 생산..

Reindex, Alias 활용해 문서 재색인하기 (비동기, 무중단)

Elasticsearch Reindexing은 데이터의 이동, 수정, 또는 클러스터 업데이트 시 중요한 역할을 하는 프로세스입니다. 데이터의 성능 향상, 새로운 매핑의 적용, 또는 클러스터 확장을 위해 필요한 작업으로, Elasticsearch의 핵심 기능 중 하나로 꼽힙니다. Reindexing은 주로 데이터 업데이트를 위해 사용됩니다. 기존 데이터 스키마를 새로운 구조로 변경하거나 업데이트해야 할 필요가 있을 때 사용합니다. 새로운 필드의 추가나 기존 필드의 삭제 등의 매핑 변경을 수행할 수 있습니다. 본 글에서는 Reindexing이 어떻게 작동하는지, 그리고 어떻게 효율적으로 사용할 수 있는지, 무중단으로 새로운 인덱스를 적용할 수 있을지 살펴보겠습니다. Elasticsearch 시리즈는 7.1x..

[SQL] 유저 데이터 분석에서 유용한 ROW_NUMBER, LAG 함수

오늘은 다음과 같은 유저 데이터 분석에서의 특정한 상황을 가정해 봅시다. 아래 질문을 해결해나가며, ROW_NUMBER와 LAG 함수의 활용에 대해 알아봅시다. 유저가 방문한 사이트를 구분해서 유저의 행동 패턴을 집계하고 싶어. 특정 이벤트 이전에 어떤 이벤트가 일어났는지 궁금해 하지만, 1번째 방문한 경우와 2번째 방문한 경우를 다르게 구분 짓고 싶어. 그러니까 내 말은.. 단순히 GROUP BY SITE 구문으로는 불가능하단 말이야. 어떻게 할 수 있을까? 본 글은 기본적인 SQL 구문을 알고 있다고 가정합니다. 그리고 윈도우 함수(LAG, ROW_NUMBER 등)의 정의를 들어본 적은 있어야 합니다. 매번 함수의 정의를 다시 찾아보고 실제 데이터 정제나 분석 업무에서 활용하기 어려운 사람을 대상으로..

[책 리뷰] 데이터 과학자 원칙

- 제목: 데이터 과학자 원칙 - 저자: 권정민, 권시현, 김영민, 김진환, 박준석, 변성윤, 이정원, 이진형, 이제현 - 출판사: 골든래빗 - 출반사 책 설명: “데이터 과학자는 뭐하는 사람일까? 지금처럼 하면 되는 것일까? 나도 선배 데이터 과학자들처럼 성장할 수 있을까? 3년 10년 후에도 생존할 수 있을까? 데이터 분석 환경이 이다지도 척박한데 어떻게 데이터 분석을 한단 말인가? 팀워크는, 팀빌딩은 도대체 어떻게 해야 하는 걸까?” 데이터 과학자로 살아가면서 하루에도 천 번을 되묻는 물음에 아마존, IDT, 빅쏠, 우아한형제들, 코드스테이츠, 쏘카, 삼성전자, 11번가, 페블러스 전현직 데이터 과학자 9명이 답합니다. 데이터 과학자, 데이터 엔지니어, 데이터 분석가뿐만 아니라 데이터를 활용하는 비..

Activities/리뷰 2023.12.16

[Airflow] dag 스케쥴 관련 date 정의 알아보기 (start_date, execution_date, schedule_interval)

개요 Apache Airflow는 데이터 파이프라인 관리와 작업 스케줄링을 위한 오픈 소스 플랫폼으로, 데이터 엔지니어링 및 데이터 과학 작업에서 널리 사용됩니다. 저도 올해 처음으로 해당 플랫폼을 사용하여 데이터 ETL 작업을 처리했습니다. 작업 중에 가장 헷갈렸던 여러 기준의 date 들을 한번 자세히 정리해보겠습니다. 태스크 스케줄링의 중요성 Apache Airflow는 작업 스케줄링 및 자동화를 위한 강력한 도구입니다. 사용자는 작업의 실행 시간, 간격 및 의존성을 정의하고, Airflow는 해당 작업을 예약된 시간에 실행하거나 재시도할 수 있습니다. Airflow에서 작업은 Directed Acyclic Graph (DAG)로 구성됩니다. DAG는 여러 작업(Task)으로 구성된 워크플로우를 나..