전체 글 110

T아카데미 - 데이터 엔지니어링 기초 (5)DataStudio로 시각화하기

강의영상 강의 요약 DataStudio 구글에서 만든 시각화, 대시보드 서비스 BigQuery 뿐만 아니라 다른 다양한 소스 연결 가능 https://datastudio.google.com/ 보고서 생성하기 빈 보고서 - 데이터에 연결 - BigQuery 생성하면 처음에 표가 기본적으로 들어가있음 시계열 그래프 추가: 차트 추가 - 시계열 가로축: 측정기준, 세로축: 측정항목 이름 왼쪽 버튼 클릭하면 시간 단위 변경할 수 있음 https://datastudio.google.com/s/mPAQpQBO7-o 기타 대시보드 도구 Tableau Holistics Redash Metabase Superset

T아카데미 - 데이터 엔지니어링 기초 (4)Google Cloud Functions을 이용해 BigQuery에 데이터 옮기기

강의영상 강의 요약 BigQuery 완전관리형 데이터 웨어하우스 매우 큰 데이터도 저렴하게 저장, 빠른 속도로 처리 가능 Google Cloud Functions 구글 클라우드의 서버리스 제품 트리거 조건과 코드를 설정해놓으면 원하는 동작을 자동으로 수행 실습 프로젝트 이름 클릭 → 데이터세트 만들기 테이블, 스키마 생성 스키마 순서는 나중에 변경할 수 없으므로 주의 Pub/Sub이랑 연동: Cloud 함수 트리거 Cloud 함수 설정 API 사용 설정해야 함 런타임: python 3.7 Source code: Inline Editor main.py: 트리거되었을 때 실행할 코드 requirements.txt: main.py 실행하는 데 필요한 패키지 정보 BigQuery에 저장된 데이터 확인: 쿼리 편..

T아카데미 - 데이터 엔지니어링 기초 (3)Google Cloud Pub/Sub으로 데이터 보내기

강의영상 강의 요약 프로젝트 생성: https://cloud.google.com/resource-manager/docs/creating-managing-projects?hl=ko google-cloud-pubsub 라이브러리 설치 인증키 생성 IAM 및 관리자 - 서비스 계정 만들기 역할: 게시/구독 편집자, BigQuery 데이터 편집자 키 만들기 -> json 파일 다운로드해서 프로젝트 폴더에 넣음 저장된 데이터 확인하는 방법: subscriber 생성 - 메시지 보기 실습 코드 import tweepy from google.cloud import pubsub_v1 from google.oauth2 import service_account from dotenv import load_dotenv imp..

T아카데미 - 데이터 엔지니어링 기초 (2)트위터 스트리밍 데이터 수집

강의영상 강의 요약 데이터 엔지니어 취업을 위해 준비야 할 것 Apache Spark: 원하는 회사에서 사용한다면 공부해야 함 Hadoop은 알면 좋지만 필수는 아님 (요즘에는 직접 다룰 일 별로 없음) CS 지식, 개발역량도 갖춰야 함 실습 개요: 무인으로 동작하는 실시간 데이터 파이프라인 만들기 Twitter Streaming Data: Google Kubernetes Engine에 올림 트위터에서는 무료로 실시간 스트리밍 데이터를 활용할 수 있는 API 제공 https://developer.twitter.com/en/docs/twitter-api/v1/tweets/filter-realtime/overview https://developer.twitter.com/en/docs/twitter-api/v..

T아카데미 - 데이터 엔지니어링 기초 (1)미래의 데이터 엔지니어

강의영상 강의 요약 사전준비 Google Cloud Platform 가입 https://zzsza.github.io/gcp/2018/01/01/gcp-intro/ 데이터 분야의 직업 데이터 분석가, 사이언티스트 비즈니스 분석가 데이터 엔지니어 데이터 엔지니어 역할정의 잘 안 되어 있음 데이터 파이프라인을 만드는 사람 만능 서포터(개발/도메인지식/파이프라인/관리/지표) 데이터 엔지니어링의 히스토리 직접 구현(컴퓨터 조립까지) 초창기의 하둡은 자동복구가 되긴 하지만 고장나는 것이 더 많고, 성능 스케일이 되긴 되는데 성능이 떨어지는 게 더 많았음 → 생산성이 높지 않았음 오픈소스 클라우드 서비스화 Fully Managed Service 미래의 데이터 엔지니어 다 만들 줄 알면서, 서비스를 활용해서 시간을 아..

Day17 학습정리 + 부스트캠프 수료 소감

3주 좀 넘는 기간동안 진행되었던 DKT 대회가 마무리되었다. OOF를 너무 늦게 시작해서 제대로 시도해보지 못 한 것이 아쉽지만 그래도 다른 앙상블 방법을 사용해 AUROC 0.83을 넘기고 public 리더보드 순위를 5등까지 올린 것에 만족한다. 부스트캠프 수료 소감 드디어 5개월간의 부스트캠프 과정이 모두 종료되었다. 그 동안 정말 많이 배우고 성장한 것이 스스로도 느껴진다. 부스트캠프 전에는 딥러닝 모델의 종류나 신경망 구조에 대해 그냥 막연하게만 알고 있었는데 이제는 딥러닝의 원리를 어느 정도 이해하고 모델 구조를 분석할 수 있게 되었다. 그 뿐만 아니라 매일 동료들과 피어세션을 하고 팀 프로젝트를 하면서 협업 능력과 소통 능력이 향상되었고 깃허브랑 노션 활용법도 익혔다. 앞으로 AI 분야로 ..

Day16 학습정리

LGBM에 OOF를 어떻게 적용할 수 있을지 알아보기 위해 PyCaret이 어떤 식으로 동작하는지 조사해봤다. 먼저 setup() 함수에서 설정한 비율에 따라 데이터가 train set과 valid set으로 나뉨 Cross Validation은 train set에만 적용됨 fold_strategy default값: stratified k-fold stratified 할 때 기준은 target value(answerCode)로 추정(따로 명시되어있지는 않음) 결과는 각 fold의 평균값 sklearn custom CV generator 형태로 fold_strategy 직접 지정할 수 있음 get_config() 함수 사용해서 각 fold에 해당하는 index 추출 가능 create_model(): tra..

Day15 학습정리

프로젝트 회고 각 시퀀스의 마지막 solTime은 계산이 불가능해서 중앙값으로 대체하려고 어제부터 계속 시도했는데 pandas를 잘 못해서 그런지 쉽지 않았다. 새로 추가한 feature인 user_time_mean이랑 user_time_sum를 계산할 때 한 칸 위로 shift하지 않고 그냉 계산했는데 오늘 피어세션에서 이야기해보니까 shift를 하는 것이 맞는 것 같아서 수정해야겠다. pycaret을 처음 써봐서 아직 사용법을 완벽히 익히지 못했는데 tensorboard나 wandb같은 곳에 실험 결과를 기록하는 방법이 있는지 찾아봐야겠다.

Day14 학습정리

프로젝트 회고 lgbm 모델의 input, output 형태를 출력해볼 것이다. 피어세션때 나왔던 문제별 풀이시간 평균을 feature로 추가해볼 것이다. 난이도와 관련있는 feature가 될 것 같다. 오늘 멘토링때 solTime 마지막 값을 어떻게 처리해야 할 지 이야기가 나왔는데 중앙값을 넣는 것이 가장 좋은 방법인 것 같다. solTime의 분포를 잘 살펴본 후 결정해야겠다. 지금 팀원들이 사용하는 feature들 이름이 다 다른데 통일해야 할 것 같다.

Day13 학습정리

프로젝트 회고 Feature importance가 높게 나왔던 total_used_time을 feature에 추가해봤더니 역대 최고 점수가 나왔다. LSTM에서 효과가 있었던 solTime을 추가해봤는데 점수가 떨어졌다. 베이스라인 코드로 실험했을 때에는 AUC가 0.826까지 나왔는데 제출했을 때에는 0.8도 안 되었다. 혹시 category형이 아니어서 그런가 싶어 구간별로 나눠서 category형으로 바꾼 다음 다시 실험해봐야겠다. LSTM이랑 LGBM이랑 모델의 특성이 완전히 달라서 그런지 효과가 있는 feature들도 많이 다르다. LSTM은 주로 continuous형이 효과가 있는 것 같고 LGBM은 주로 category형이 효과가 있는 것 같다.