3. “캐글 코리아는 어떤 커뮤니티?
- 캐글을 함께 즐기며, 서로의 경험, 아이디어를 공유합니다.
- 캐글의 대중화, 데이터 사이언스의 대중화를 꿈꿉니다
- 페이스북 커뮤니티 10000+@명, 오픈채팅방 1400+@명
https://www.facebook.com/groups/KaggleKoreaOpenGroup/
4. “[T Academy x KaKr] 4차 대회란?
- 캐글은 해보고 싶은데, 캐글 시스템이 어려운 분
- 캐글을 통해 데이터 사이언스를 공부하고 싶은 분
7. “캐글은 only 대회 + 스코어 경쟁? No!!
Online community of data scientists and machine learning practitioners
Competition Dataset
Notebook Discussion
https://www.kaggle.com/
8. “총 4개의 분야
Competition / Dataset
Notebook Discussion
• 3개월 정도 기간의 대회
• Random하게 생성
• 모든 사용자가 만들 수 있음
• 원하는 연습 및 연구를 진행할 수 있음
• 대회 관련 인사이트
• 데이터셋 분석과 인사이트
• 튜토리얼 작성
• 코드가 아닌 글로 인사이트 공유
• 대회/데이터셋에 부족한 부분 문의
• 솔루션 공유
• 팀원 모집 등
9. • 재미, 성취감, 공부, 상금, 취업 등등의 복합적 목표
• 성취감 : 메달과 티어
• Competition : 대회 순위 (score)와 대회 규모
• Dataset : 좋아요 수
• Notebook : 좋아요 수
• Discussion : 좋아요 수
“캐글러의 목표는 무엇일까?
10. 초록색(Novice) 다음은 하늘색(Contributor) 다음은 보라색(Expert) 다음은 주황색(Master) 다음은 금색(Grandmaster)
Kaggle Performance Tier
메달을 쌓아 티어를 높이고, 순위를 높여보자!
11. “캐글, 과연 도움이 될까?
1. 현업에는 저런 데이터 없는데요;
2. 현업에서 저런 방식으로 모델링하면 안돼요;
3. 취준생인데 캐글을 하면 취업에 도움이 될까요?
4. 그냥 문제 푸는 거 아닌가요?
12. “캐글에서 얻고 싶은 것, 필요한 것을 얻자!!!
1. 다양한 도메인 관련된 지식
2. 정리된 데이터 (모델링에 초점)
3. 고전적인 방법부터 최신 논문까지 활용
4. 우승 솔루션을 통한 전체 프로세스 공부
5. (제한적이긴 하나) 무료 GPU와 TPU
6. 연구/현업으로 연장
7. Grandmaster되면 취업 걱정은 안해도..
*캐글 : 안하는 것보다는 백만배 낫고, 하는 사람은 알아서 자기의 분야를 찾는 그런 곳
13. “데이터 사이언스 : 인간의 목표 달성을 위한 데이터 사용
Sensor & Log DB & Preprocess
Data Analysis
Classification
Regression
Generate
Robotics
정보 수집 정보 구조화 판단 행동
캐글 == 데이터 사이언스 커뮤니티
캐글에서 원하는 데이터 사이언스 지식을 쌓자
인간이 행동하는 과정을 살피면 답이 나온다!
14. “정보 수집과 정보 구조화
14
정보 수집 정보 구조화 판단 행동
- 데이터 수집
- 수집할 데이터 모델링
- 데이터 관계 및 계층
- 이미지, 오디오, 텍스트
- 방법
- 센서 정보
- 수기 작성
- 로그 정보
- 데이터 구조화
- Dataset
- 전처리(Preprocessing)
- SQL, Big Query
- 데이터 전송
- 분산 처리(Large Scale)
- Hadoop, Spark
데이터셋을 만들어 배포하거나, Big Query 등으로 대회를 참여해보자
15. “정보를 통한 판단
15
정보 수집 정보 구조화 판단 행동
- 분석과 판단
- 과정 (EDA & Visualization)
- 정답 X (Unsupervised)
- 경향성과 특징
- 정답 O(Supervised)
- 이산적 (Classification, 분류)
- 연속적 (Regression, 회귀)
- 데이터의 종류
- 정형데이터(Structured)
- 시계열(Time-Series)
- 이미지 (Computer Vision)
- 음성과 신호 (Signal)
- 텍스트 (NLP)
- 판단 근거/공정성/신뢰성 등
- Interpretable/Explainable AI
- 훈련/판단의 환경과 방법
- 측정 (Metric)
- 모델링, 최신 모델 적용
- 기존 훈련 사용 (Pre-trained & Fine Tuning)
- 앙상블 (Ensemble)
- GPU/TPU 사용법
- 경량화와 On-Device
핵심 키워드로 검색하여 원하는 부분을 공부하자
16. “행동, 그리고 여러가지 Tasks
정보 수집 정보 구조화 판단 행동
- 강화학습 (Reinforced)
- 행동 및 정책
- 보상과 환경
- 최근 대회가 생겨나는 추세
- Tasks
- Image
- Object Detection
- Image Classification
- OCR
- Pose & Depth Estimation
- Super Resolution & Denoising
- Inpainting
- Audio
- TTS & ASR
- Speaker recognition & event detection
- Music Generation
- Audio/Genre Classification, Detection
- NLP
- Translation
- QA (chatbot)
- Language Model
- Sentiment Analysis
- Text Generation
- Summarization
- Text Classification
현재의 대회와 과거의 대회에서 원하는 대회를 선택하자
17. 로그인 시 보이는 화면 예시, 이걸 듣는 여러분은 왼쪽에 부분들을 클릭하며 따라와주세요
19. “대회(Competition) : Overview
본인이 참가중인 대회
모든 대회
진행중 / 끝남 / 찜 / 개최
진행중 / 끝남 / 비공식
상금 (총합)
Kudos (명예) => 소소한 아이템
Knowledge (지식)
Prize (상) => 현재 TPU stars 대회 존재
20. “대회(Competition) : 대회의 정보와 종류
대회 타입
- Featured : 스코어 대회
- Analytics : 분석 대회
- Research : 연구 대회
- Getting Started : 튜토리얼
- Playground : 재미용 대회
제출방식
- Simple Competition
- Code Competition : 코드로 제출하는 대회
21. “대회(Competition) : 대회 세부 정보 확인과 참여
1. 대회가 어떤 주제인지 Description 확인
2. Data의 종류와 분량 확인 (EDA)
3. Evaluation 확인 + 리더보드 대략 확인
4. 기존에 논의된 Discussion 살펴보기
5. Upvote 많은 Notebook 살펴보기
22. “대회(Competition) : 대회 스코어 보드
- Public : 대회 중간 score
- Private : 대회 최종 score
Test Dataset의 score에 overfitting하는 일을 방지하긴 위한 장치
즉, Public이 높다고 최종 Private까지 좋지는 않다! (Shake-up)
26. “노트북(Notebook) : 어떤 노트북을 봐야할까?
Upvote수와 티어/프로필 정보 확인
제목과 태그, 그리고 스코어
언어 / 댓글 수
정렬 기준
1
2
3
4
27. “노트북(Notebook) : 어떤 노트북을 봐야할까?
입력 (Input)
탐색적 데이터 분석 (Exploratory Data Analysis)
전처리 (Preprocessing)
모델링 (ML/DL Algorithm)
결과 제출(Result)
이 중에 나는 어떤 단계?
37. “머신러닝의 Pipeline (희망사항)
입력 모델 결과
1. 입력받고
2. 모델돌리고
3. 결과만 나오면
좋겠지만… 그렇게 ML이 호락호락하지 않다!
어느 깊은 가을밤 잠에서 깨어난 제자가 울고 있었다.
그 모습을 본 스승이 기이하게 여겨 제자에게 물었다.
"무서운 꿈을 꾸었느냐?"
"아닙니다."
"슬픈 꿈을 꾸었느냐?"
"...아닙니다. 입력을 넣고 모델을 돌리니 결과가 좋은 꿈을 꾸었습니다."
"그런데 왜 그리 슬피 우느냐?"
제자는 흐르는 눈물을 닦아내며 나지막이 말했다.
"그 꿈은... 이루어질 수 없기 때문입니다."
38. “머신러닝의 Pipeline (현실)
입력 EDA 전처리 모델 결과
데이터에서 인사이트 찾기
새로운 인사이트를 찾아보자
Hyperparameter 개선
여러 모델 시도
모델 합치기 (앙상블)
모델에 적합하게 수정
Feature Engineer / Selection
도메인 지식 활용
일반화된 모델을 위한 고민
반복, 그리고 반복, 그리고 반복
39. “머신러닝의 Pipeline : 입력
입력 EDA 전처리 모델 결과
- 입력에 사용
- 정형 데이터는 csv 파일로 제공 (흔히 엑셀같은 테이블 데이터)
- Pandas : 데이터분석 라이브러리
- For Large Datasets
- Dask
- Datatable
- Rapids (cudf)
- 다양한 파일
- Spicy : 과학 계산용 라이브러리
- Librosa : 음성처리 라이브러리
- Pillow, skimage, imageio : 이미지용 라이브러리
40. “머신러닝의 Pipeline : EDA
입력 EDA 전처리 모델 결과
- EDA
- Pandas : 데이터분석 라이브러리
- Visualization
- Matplotlib
- Seaborn
- Plotly
- 수많은 시각화 방법과 라이브러리
41. “머신러닝의 Pipeline : 무엇을 볼 것인가?
- 어떤 문제를 해결하려고 하고 있는가?
- 어떤 종류의 데이터가 있고, 이를 어떻게 처리할까?
- 데이터에 누락값이 무엇이고, 이를 어떻게 처리할까?
- 특이 값은 어디에 있으며 이를 어떻게 처리할까?
- 데이터를 최대한 활용하기 위해 어떻게 새로운 피처를 만들까?
물음표 살인마가 되도록 하자
42. “머신러닝의 Pipeline : 데이터를 살피는걸로 시작하자
- 어떤 데이터인지 확인하고, 모델에 넣을 수 있는지 확인
- 수치형 (numerical) : 수
- 이산형(discrete) : 정수로 나누어지는 값
- 연속형(continiuous) : 연속적인 값
- 범주형 (categorical) : 수 외의 값
- 명목형 (nominal) : 순서가 상관 없는 값
- 순서형 (ordinal) : 순서가 있는 값
43. “머신러닝의 Pipeline : ML의 기본은 통계
- count : 개수
- mean : 평균
- std : 표준 편차
- min : 최솟값
- 25% : 제 1사분위값
- 50% : 중앙값, 중위값
- 75% : 제 3사분위값
- max : 최댓값
44. “머신러닝의 Pipeline : 왜시각화할까?
百聞不如⼀⾒
A picture is worth one thousand words.
Why?
45. “머신러닝의 Pipeline : 왜시각화할까?
Husband 10541
Not-in-family 6632
Own-child 4099
Unmarried 2740
Wife 1260
Other-relative 777
시각화 자료를 사용하면 Text+숫자보다 빠르게 이해 가능
47. “머신러닝의 Pipeline : 어떻게 시각화할까?
2
1
3
통계 시각화 라이브러리 : 쉬운 사용이 장점
좀 더 커스텀하고 싶은 욕구가 생긴다면? 근-본
인터랙티브 + 더 다양한 기능 + js로 export
R을 사용하는 당신
인터랙티브 취향 2
인터랙티브 취향 3
48. “틈새 홍보 : 데이터 시각화 커뮤니티
https://www.facebook.com/groups/datavisualizationkorea/
49. “머신러닝의 Pipeline : 전처리
입력 EDA 전처리 모델 결과
- Feature Engineering
- Feature를 어떻게 새롭게 만들고 바꿀 것인가
- Feature Selection
- Feature를 어떻게 선택할 것인가
- 도메인 지식과 모델의 특성에 맞게!
https://www.kaggle.com/c/ieee-fraud-detection/discussion/108575
50. “머신러닝의 Pipeline : 모델
입력 EDA 전처리 모델 결과
- ML 모델
- Decision Tree, Logistic Regression, etc
- Scikit-Learn 활용
- XGBoost, LGBM, Catboost,
- 조금 느리다면 cuml
- 스태킹, 앙상블 …
51. “머신러닝의 Pipeline : 결과
입력 EDA 전처리 모델 결과
- Score 이해
- 왜 f1-score를 쓸까?
- Overfitting과의 싸움
- Validation
- 제출 파일 선택
- Hyperparameter 바꿔가며 실험하기
- 다시 돌아가서 EDA부터
54. “머신러닝 적용 3 요소
완벽하게 개인적인 생각입니다.
프로그래밍 스킬
개념적 이해
수학 + 도메인 지식
• 모델이 어떤 아이디어를 가지고 있을까?
• 기존 모델의 어떤 점을 개선 했을까?
• 이 모델의 장단점은 무엇일까?
• 무엇을 계산하고 있는걸까?
• 라이브러리를 사용하는 방법
• 모델을 직접 구현하는 방법
• 구현된 모델을 커스텀 하는 방법
• 시간과 컴퓨팅 코스트를 어떻게 줄일까?
• 재사용성과 가독성을 어떻게 높일까?
• 모델 내부에는 어떤 과정이 진행될까?
• 데이터는 어떻게 살펴볼 수 있을까?
• 데이터에 따른 전처리 방법
• 데이터에서 노이즈 확인
• 가정을 어떻게 검증할까?
55. “Back to the Beginning
모든 행동은 if문으로 가능하지 않을까? => 전문가 시스템(Expert System)
64. “당신에게 캐글이란?
캐글은 보물 창고라고 해도 무방한 공간입니다.
누군가는 머신러닝 스킬을, 누군가는 상금을, 누군가는 개발 실력을 목표로 할 수 있습니다.
그리고 그 모든 것을 이룰 수 있는 공간이 캐글입니다.
공들여 만든 노트북이 Medal을 못 딸 수 있습니다.
하지만 여러 방법으로 시도하고 본인의 장점을 찾다 보면 어느 순간 캐글 계정 색이 바뀌어 있을 겁니다.
Kaggle은 꼭 Competition만을 위한 공간이 아닙니다.
본인이 원하는 가치를 Kaggle에서 얻을 수 있기를 바랍니다.