Kaggle 시작하기 (Kaggle API 활용)

Kaggle은 데이터에 기반한 예측 모델을 만드는 경쟁을 할 수 있는 공간이다. Kaggle에는 다양한 데이터셋이 존재하고, 이를 이용하여 예측 모델을 구성하고, 그 성능을 다른 사람들이 만든 예측 모델의 성능과 비교할 수 있다.

1. Kaggle API를 이용해 시작하기 (Linux)

Kaggle competition에 참여하기 위해서는 데이터를 받아서 예측 모델을 만들고, 예측 결과를 Kaggle에 업로드하면 된다. 이 과정을 web을 통해 진행할 수 있으나, Kaggle API를 통해 Kaggle site에 직접 접근할 수도 있다. 여기서는 Kaggle API 설치 및 이를 이용하는 방법을 연습한다.

1.1. Conda environment 만들기 (Optional)

Kaggle API를 사용하기 위한 conda environment를 만든다. 이 과정은 conda를 이용해 환경을 관리하기 위함이다. Conda나 환경 관리에 대해 잘 모르면 이용하지 않아도 상관없다.

conda create -n kaggle

1.2. Kaggle API 설치하기

pip install --user kaggle

1.3. Conda set-up 파일 만들기

Kaggle competition에 참가하기 위해서는 먼저 계정을 먼저 만들어야 한다. Kaggle 웹(https://www.kaggle.com/)에서 계정을 생성한다. 계정을 생성한 후에는 계정에 대한 정보를 Kaggle-API에 알려주어야 한다.

  1. Kaggle login
  2. Setting에 접속 (https://www.kaggle.com/settings)
  3. API 항목에서 “Create New Token” 버튼을 클릭
  4. kaggle.json 파일 다운로드
  5. 다운받은 파일을 linux system의 ~/.kaggle directory에 복사

2. Titanic competition 참가하기

2.1. Dataset 받기 (competitions download)

Kaggle API를 이용해 competition dataset을 받는다. titanic.zip 파일 다운로드를 확인한다. 압축 파일은 train.csv, test.csv, gender_submission.csv 파일을 포함한다.

  • train.csv: 학습을 위한 정보 파일
  • test.csv: 예측을 위한 데이터 파일
  • gender_submission.csv: submission 예제 파일 (성별 기반 생존 예측 결과)
kaggle competitions download -c titanic

2.2. Predictive model 만들기

train.csv 파일의 승객 정보 및 생존 정보를 기반으로, test.csv 파일에 있는 승객의 생존 여부를 예측하는 model를 만든다. 이렇게 예측한 모델을 이용해 생존 여부를 예측하고, 그 결과를 submission.csv와 같은 CSV 파일에 저장하고 이를 Kaggle에 submit한다. Titanic competition에서는 PassengerId와 Survived 두 항목을 submission파일에 추가해야 하며, gender_submission.csv와 같은 형식으로 예측 결과를 제출해야 한다.

2.3. 예측 결과 제출하기

예측 모델을 만들고 예측 결과 파일을 생성한 후 결과를 Kaggle에 제출하여 competition에 참가한다. 여기에서는 연습을 위해서 gender_submission.csv 파일을 제출하는 예를 보여준다.

kaggle competitions submit -c titanic -f gender_submission.csv -m "Submission test (gender_submission.csv)"
  • kaggle competitions submit: 경쟁 참가 명령어
  • -c titanic: competition 이름
  • -f gender_submission.csv: 결과 파일
  • -m "Submission test (gender_submission.csv)": 제출에 대한 간단한 기술

2.4. 제출 결과 확인하기

제출 결과 확인을 위해 Kaggle 홈페이지의 Competition 탭에서 (https://www.kaggle.com/competitions) Your Active Competitions 항목을 통해 titanic competition page에 접근하여 확인할 수 있다 (https://www.kaggle.com/competitions/titanic). Competition page의 Submit Prediction 버튼 왼쪽 Submissions를 클릭하면, 제출 결과를 확인할 수 있다.

3. 맺음말

Kaggle에는 기계학습을 이용해 풀 수 있는 다양한 문제가 있다. 관심 있는 항목을 찾아 문제를 해결하는 시도를 해보자.

추천 compeitition

  • 기초
    • titanic
      • https://www.kaggle.com/competitions/titanic

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top