주제

1. Kaggle에 대하여
2. Kaggle 대회 참여해보기
3. 실습

 

1. Kaggle에 대하여

  • Kaggle이란?
    • 호주에서 시작한 국제적인 기계학습 컨테스트를 제공하는 서비스
    • 데이터 과학자들에게 자신의 능력을 검증해보며 몸값을 올릴 수 있는 기회를 제공
  • Kaggle Code(Kaggle Kernel)
    • 데이터 과학 관련 모듈이 모두 설치된 주피터 파이썬 노트북(무료)
  • Kaggle Ranking
    • 케글의 랭킹 시스템(Novices → Contributors → Experts → Masters → Grandmasters)
    • 그랜드마스터는 전세계적으로 몇 명 존재하지 않음 → 이력서에 좋기 좋음!
  • 그 외 기능들
    • Competitions, Datasets, Models, Discussions, Learn

 

2. Kaggle 대회 참여해보기

2.1 Kaggle Competitions

  • 참가자 관점의 목적
    • 기술 습득
    • 문제 해결
    • 금전 / 경력 인센티브
  • 조직 / 회사 관점의 목적
    • 혁신 장려
    • 인재 발굴
    • 벤치마킹
    • 연구 기여
  • Kaggle 관점의 목적
    • 커뮤니티 빌딩
    • 매출 증대

2.2 Titanic - Machine Learning from Disaster

 

Titanic - Machine Learning from Disaster | Kaggle

 

www.kaggle.com

  • Kaggle Notebook에서 실습

 

3. 실습

  • 새로운 노트북을 생성하면 제일 먼저 보이는 코드 블럭 실행하여 데이터셋 다운

필요한 데이터 파일 경로

  • 훈련 데이터 / 테스트 데이터 / 제출 파일 불러와서 확인
train_data = pd.read_csv('/kaggle/input/titanic/train.csv')
train_data.head()

훈련 데이터의 모습

  • 이 대회의 목표는 승객의 생존 여부를 예측하는 것이기 때문에 테스트 데이터에는 생존 여부를 나타내는 Survived 열이 없다
  • 제출 데이터는 승객의 고유 번호인 PassengerId와 Survived 열만 존재
  • Survived가 0이면 사망, 1이면 생존
  • 이번 실습에서는 모델을 사용하지 않고 단순히 규칙 기반 예측을 진행
  • 성별을 이용하여 남자면 사망, 여자면 생존이라는 규칙을 사용(여자의 생존 비율이 더 높기 때문)
import numpy as np

test_data['Survived'] = np.where(test_data['Sex'] == 'female', 1, 0)
  • 이를 결과물로 만들기 위해 output이라는 변수에 테스트 데이터의 PassengerId와 Survived를 넣어준다
output = test_data[['PassengerId', 'Survived']]
output.head()

output의 결과

  • 최종적으로 제출을 하려면 csv 파일 형태여야 하므로 to_csv()함수를 이용하여 저장
output.to_csv('submission.csv', index=False)
  • 만든 파일을 내 컴퓨터에 저장하기 위해서는 우측 하단에 화살표를 클릭하여 사이드 메뉴를 꺼낸다

  • 사이드 메뉴에 Output 부분의 디렉토리 토글 버튼을 누르면 방금 내가 만든 제출용 파일이 보일 것이다(해당 사진에는 없음)
  • 오른쪽 점 세개 버튼을 누르면 Download 메뉴가 나오고 그걸 클릭하면 다운로드가 된다

/kaggle/working 토글 클릭

  • 이제 다시 해당 대회 페이지에 가서 우측 상단의 submit prediction 버튼을 누르고 젖아한 파일을 제출하면 된다
  • 제출을 하면 나의 정확도를 알려주고 내 순위도 확인할 수 있다

나의 정확도는 76.6%

  • 더 높은 정확도를 위해서는 다양한 머신 러닝 알고리즘을 사용하며 시도해볼 수 있다.

+ Recent posts