어떤 데이터를 어떻게 볼지는 엔지니어링 이전에 결정되어야 한다. 데이터가 없는 회사는 없다. 활용하지 않을 뿐이다. 모든 회사는 데이터를 가지고 있다. 그리고 그러한 데이터가 보다 전사에 체계적으로 흐를 필요가 있다고 느낄 시점이 될 때 대부분 회사는 데이터 조직을 꾸리기 위해서 시장에 뛰어든다. 그리고 그 시작점으로 데이터 엔지니어 채용부터 시작하는 경우들이 있다. 하지만 실상은 그렇지 않다. 오히려 문제를 복잡하게 만들
Pandas Aggregation을 대체하는 RDB 라이브러리, DuckDB Data Prep * New York City Taxi and Limousine Commission (TLC) Trip Record Data 데이터 활용 * https://www.nyc.gov/site/tlc/about/tlc-trip-record-data.page * 사용관련 라이센스 정보: nyc.gov * 테스트 테이터: 2021.01 ~ 2024.01, 1.79 GB of disk space: * 111,835,256개 레코드, 20개 컬럼 Code * Pandas * Single
AB테스트 시 비회원의 그룹할당을 고민해야 하는 이유 A/B테스트 시, 비회원은 어떻게 그룹할당할지 고민하지 않으면, 특정 그룹으로 쏠리거나, 아예 반영되지 않는 상황을 야기할 수 있다. 통상 비회원은 회원번호를 공통으로 처리하고 있기 때문이다. 예를 들어 "000000000000"으로 한다. 회원번호를 문자로 하기보다는 Sequence 형태로 Integer Type으로 하는 경우가 많기 때문에 비회원도 수치로 표현하는 경우가 많다. 이렇게 수치로 할 경우,
[데이터 조직] 사내 데이터 조직을 새로 만들었던 케이스 배경 * 조직장은 개발 및 데이터 관련 업무를 한 경험은 있지만, 경력 자체는 데이터 관련 경험이 많지 않았음 * 사내 데이터 엔지니어링, 분석, 과학자 관련 역할을 하는 사람 없었음 인터뷰를 통한 유관부서 니즈 파악 * 팀장이든 아니든 다른 부서의 동료들과 일대일 미팅 진행 → 현재 상황을 이해하고, 데이터 과제에 대해서 본인들을 어떻게 포지셔닝하는지 이해하기
위도 및 경도 Feature Engineering 케이스 정리 Data Setup import polars as pl from xgboost import XGBRegressor from sklearn.linear_model import Ridge # Data taken from https://www.openml.org/search?type=data&id=43093 df = ( pl.scan_csv("../data/miami-housing.csv") .with_columns([ pl.col("SALE_PRC").alias("price"), pl.col(["LATITUDE", "LONGITUDE"]).name.to_lowercase(
Multi Task 기반 확률 모델링으로 배달시간플랫폼을 구축한 DoorDash Overview Multi Task Model * Multi Task(MT) Model 사용시 장점 * 신규 서비스 배달시간 예측시, Foundation Layer에 추가적으로 레이어릅 붙이는 식으로 대응이 가능 * 플랫폼 내부에서 고객의 여정에 따라 여러번 배달시간을 업데이트해줘야 하는데, 이 부분에 대해서 빠르게 대응 가능, 기존에 별도 모델 사용할 경우,모델간 시간예측 결과 일관성을 보장하기 어려웠음 * 최대한 많은
[책]에디토리얼씽킹 - 우리의경험은 헛되지 않으며 앞날을 환히 비출 수 있다. 이 책을 읽으면서 처음으로 Editorial이란 단어의 뜻을 다시 한 번 찾아보았던 것같다.Editorial은 Noun 또는 Adjective로서 활용된다. 그 중 Adjective로서 뜻은 다음과 같다. adjective: editorial 1. relating to the commissioning or preparing of material for publication. "the editorial team" * relating to the part of a newspaper or magazine that contains
PYMC 5 설치 배경 * PYMC3는 Python 3.12이상의 버전과 호환이 잘 되지 않던 차에 PYMC가 있다는 것을 알게 되었다. * 설치를 하려고 하는데 에러가 꽤 많이 난다. 이에 대해 별도로 정리를 해놓았다 핵심 conda create -c conda-forge -c nodefaults --name FootballAnalytics "pymc>=5.10" "numpy=1.25.2" 설명 * Numpy는 1.25.2가 가장
Gibbs Sampling과 MH Sampling 공통점과 차이점 정리 공통점 * MCMC 알고리즘: 두 알고리즘 모두 마르코프 체인을 사용하여 확률 분포에서 샘플링합니다. 마르코프 체인은 과거 상태만 고려하여 다음 상태를 결정하는 확률적 모델입니다. * 베이즈 추론: 두 알고리즘 모두 베이즈 추론에서 사후 분포를 추정하는 데 사용됩니다. 베이즈 추론은 사전 정보와 관측 데이터를 결합하여 사후 분포를 계산하는 방법입니다. 차이점 * 제안 분포: 깁스 샘플링은
Ship 30 for 30 - 온라인에서 글쓰기 가이드(요약) * Ship 30 for 30은 기존 육지(헤밍웨이 항구)에서 출발하는 30일간의 크루즈로, 작가들이 5주 동안 디지털 코스트를 여행하는 프로그램입니다. 초보작가가 직면하는 10가지 문제 * 산만함 * 과도한 편집 * 완벽주의 * 미루기 * 자신감 * 아이디어 생성 * 임포스터 신드롬 (내용 껴맞추기) * 일관성 있는 글쓰기 * 플랫폼 선택하기 * 글 쓸 시간 찾기 글쓰기 여정 * 선착장에 앉기 → 어디부터 시작해야할지
[데이터조직] 목적조직과 기능조직 어느 형태가 가장 좋을까? 목적조직과 기능조직은 조직의 형태 중 하나이다. 미국 PM 전문기관인 PMI(Project Management Institute)에 따르면 조직시스템은 크게 다음과 같이 8가지 정도로 구분해볼 수 있다. 조직 구조(출처: Prebedora Lifelong Project) * Organic or Simple Organisation. * Functional Organisation. * Multi-divisional Organisation. * Matrix Organisation. * Project-oriented Organisation. * Virtual Organisation. * Hybrid Organisation. * PMO (Project Management Office)
[책]커넥팅, 나는 경계능력자인가? 아니면 무경계 능력자인가? 최근에 신수정 부사장님이 쓰신 "커넥팅"이란 책을 읽다가 경계/무경계 $\times$ 능력자/무능력자에 관한 구분을 보았다. 정확하게 기억이 나지는 않지만 경계와 무경계는 말그대로 기존에 해오던 업무를 확장하는 시점에서 "경계"를 의미하는 것으로 현재 기억하는데, 이 의미가 개인적으로는 중요하여 이 내용을 남긴다. 작년 하순 쯤, 잘해오던 업무를 떠나서 보다 업무를 확장하도록
머신러닝 시스템 설계 관련 절차 절차 1. 문제 정의 1. 요구질문 명확히 하기 2. 사용자 시나리오 정리 및 비즈니스 목표 정의 3. 요구사항 및 제약사항 정리 4. 데이터 현황 및 소스 확인하기 5. 모델 기준 문제 구체화 2. 수치 정의 * 오프라인: 모델 자체의 성능 관점 메트릭이나 인프라 비용 측면 * Classification metrics * Retrieval and ranking metrics
[데이터조직]성공하는(할 수 있는) 프로젝트 만들기 처음 제목은 “성공하는 프로젝트 만들기” 였는데, 작성하면서 ”성공할 수 있는 프로젝트 만들기“로 바꾸었다. 성공은 다분히 결과론적인 의미를 담고 있기 때문에, 달성하기 위한 필요조건에 대해서 언급하는게 더 낫겠다고 생각하여 그렇다. 과거 AI조직은 단순히 모델의 결과를 배치성으로 제공고 이를 특정 부서에서 업무에 활용하는 정도였다면, 지금은 AI조직은 프로덕트 조직으로서 실시간에 가깝게 결과를