2 분 소요

“Must Have 머신러닝 딥러닝 문제해결 전략”을 읽고 배운 내용을 정리해보았다. 캐글 가입부터 결과 제출까지 전체 프로세스를 배워보자

전체 프로세스

  • 캐글 가입 → 경진대회 참여 → 주피터 노트북 설정 → 결과 제출하기 → 컨트리뷰터 되기 → 예제 코드 캐글 노트북 복사하기

2.1 캐글 가입

  • 가입 완료!

    image


2.2 경진대회 참여

  • 타이타닉 대회 : 승객들의 이름, 성별, 나이, 지불한 운임, 가족수 등을 통해 각 승객이 살았는지 죽었는지 예측하는 경진대회이다.
  • Join Competition 클릭, Submit Predictions 라고 뜨면 참여가 완료된 것이다.
  • I Understand and Accept 클릭하여 대회 참여한다.

2.3 주피터 노트북 설정

  • 캐글 노트북 환경에는 기본적인 데이터 분석, ML 라이브러리가 이미 설치되어 있고, GPU 환경을 제공해준다. (필요하면 로컬에서 해도 된다.)

새로운 노트북 생성

  • [Code] 클릭 → [New Notebook] 클릭
  • [Data] 탭에 경진대회용 데이터가 들어있다.

캐글 노트북 둘러보기

image

  • Input
    • 훈련용 데이터 train csv
      • train csv로 모델 훈련하기
    • 테스트용 데이터 test.csv
      • test.csv로 결과 예측하기
    • 제출용 샘플 데이터 gender_submission.csv
      • gender_submission.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
    
  • 키보드 단축키 (자주 사용하므로 꼭 기억하기)

    image

  • [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 파일이 생성되었다.

    image


커밋하기

  • 생성된 submission.csv 파일을 제출하려면 커밋해야한다.
  • [Save Version] 클릭 → [Save] 클릭
    • Save Version 옆의 숫자는 커밋 횟수이다.

제출 및 점수 확인하기

  • 제출한 코드 확인
    • [Save Version 옆의 숫자] 클릭 → [Go to Viewer] 클릭, [Data] 탭 클릭
  • 제출하기
    • [Submit] 클릭 → [Submit] 한번 더 클릭
  • 점수 확인
    • [View My Submissions] 클릭
  • 등수 확인
    • [Jump to your leaderboard position] 클릭

    image

2.5 컨트리뷰터 되기

  1. 프로필 채우기
  2. 다른 사람 노트북 추천 누르고 댓글 달기


2.6 예제 코드 캐글 노트북 복사하기

  • 노트북 복사하기
    • [Copy & Edit] 클릭
  • 2.4절에서 했던 것과 똑같이 커밋하고 제출하기

    image

지금까지 캐글 가입부터 결과 제출까지 전체 프로세스를 알아봤고 컨트리뷰터가 되어봤다.

다음 포스트에서는 문제해결 프로세스에 대해 다뤄볼 것이다.

댓글남기기