[캐글 리팩터링] 02 캐글 정복 첫걸음
“Must Have 머신러닝 딥러닝 문제해결 전략”을 읽고 배운 내용을 정리해보았다. 캐글 가입부터 결과 제출까지 전체 프로세스를 배워보자
전체 프로세스
- 캐글 가입 → 경진대회 참여 → 주피터 노트북 설정 → 결과 제출하기 → 컨트리뷰터 되기 → 예제 코드 캐글 노트북 복사하기
2.1 캐글 가입
-
가입 완료!
2.2 경진대회 참여
- 타이타닉 대회 : 승객들의 이름, 성별, 나이, 지불한 운임, 가족수 등을 통해 각 승객이 살았는지 죽었는지 예측하는 경진대회이다.
- Join Competition 클릭, Submit Predictions 라고 뜨면 참여가 완료된 것이다.
- I Understand and Accept 클릭하여 대회 참여한다.
2.3 주피터 노트북 설정
- 캐글 노트북 환경에는 기본적인 데이터 분석, ML 라이브러리가 이미 설치되어 있고, GPU 환경을 제공해준다. (필요하면 로컬에서 해도 된다.)
새로운 노트북 생성
- [Code] 클릭 → [New Notebook] 클릭
- [Data] 탭에 경진대회용 데이터가 들어있다.
캐글 노트북 둘러보기
- Input
- 훈련용 데이터 train csv
- train csv로 모델 훈련하기
- 테스트용 데이터 test.csv
- test.csv로 결과 예측하기
- 제출용 샘플 데이터 gender_submission.csv
- gender_submission.csv 형식에 맞춰 제출하기
- 훈련용 데이터 train csv
- Output
- 제출 파일이 담길 디렉터리
- Ctrl + Enter: 현재 셀만 실행
- Shift + Enter: 현재 셀을 실행하고 다음 셀로 넘어가기
-
데이터 디렉터리
# This Python 3 environment comes with many helpful analytics libraries installed # It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python # For example, here's several helpful packages to load import numpy as np # linear algebra import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv) # Input data files are available in the read-only "../input/" directory # For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory import os for dirname, _, filenames in os.walk('/kaggle/input'): for filename in filenames: print(os.path.join(dirname, filename)) # You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using "Save & Run All" # You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session >> /kaggle/input/titanic/train.csv >> /kaggle/input/titanic/test.csv >> /kaggle/input/titanic/gender_submission.csv
-
키보드 단축키 (자주 사용하므로 꼭 기억하기)
- [View] → [Toggle line numbers]: 셀 안에 줄번호 표시
파이썬 및 설치된 라이브러리 버전 확인하기
import sys
print(sys.version)
import numpy, pandas, seaborn, matplotlib, sklearn, scipy, missingno, lightgbm, xgboost
print('numpy :', numpy.__version__)
print('pandas:', pandas.__version__)
print('seaborn:', seaborn.__version__)
print('matplotlib:', matplotlib.__version__)
print('sklearn:', sklearn.__version__)
print('scipy:', scipy.__version__)
print('missingno:', missingno.__version__)
print('lightgbm:', lightgbm.__version__)
print('xgboost:', xgboost.__version__)
>> 3.7.12 | packaged by conda-forge | (default, Oct 26 2021, 06:08:53)
[GCC 9.4.0]
>> numpy : 1.21.6
>> pandas: 1.3.5
>> seaborn: 0.11.2
>> matplotlib: 3.5.2
>> sklearn: 1.0.2
>> scipy: 1.7.3
>> missingno: 0.4.2
>> lightgbm: 3.3.2
>> xgboost: 1.6.2
2.4 결과 제출하기
제출 파일 생성
- 훈련, 예측한 파일이 없기 때문에 샘플 파일의 내용을 그대로 제출 파일로 생성해보자.
import pandas as pd
submission = pd.read_csv('/kaggle/input/titanic/gender_submission.csv')
submission
# submission 객체를 제출 파일로 변환
submission.to_csv('submission.csv', index=False)
-
Output/kaggle/working 디렉터리에 submission.csv 파일이 생성되었다.
커밋하기
- 생성된 submission.csv 파일을 제출하려면 커밋해야한다.
- [Save Version] 클릭 → [Save] 클릭
- Save Version 옆의 숫자는 커밋 횟수이다.
- Save Version 옆의 숫자는 커밋 횟수이다.
제출 및 점수 확인하기
- 제출한 코드 확인
- [Save Version 옆의 숫자] 클릭 → [Go to Viewer] 클릭, [Data] 탭 클릭
- 제출하기
- [Submit] 클릭 → [Submit] 한번 더 클릭
- 점수 확인
- [View My Submissions] 클릭
- 등수 확인
- [Jump to your leaderboard position] 클릭
2.5 컨트리뷰터 되기
- 프로필 채우기
- 다른 사람 노트북 추천 누르고 댓글 달기
2.6 예제 코드 캐글 노트북 복사하기
- 노트북 복사하기
- [Copy & Edit] 클릭
-
2.4절에서 했던 것과 똑같이 커밋하고 제출하기
지금까지 캐글 가입부터 결과 제출까지 전체 프로세스를 알아봤고 컨트리뷰터가 되어봤다.
다음 포스트에서는 문제해결 프로세스에 대해 다뤄볼 것이다.
댓글남기기