캐글 타이타닉(Titanic Machine Learning Competition) #01
포스트 난이도: HOO_Junior
[해당 포스트는 2021.2.9일 자 포스트를 업데이트한 포스트입니다.]
# 데이터 사이언스와 캐글 입문에 좋은 타이타닉 프로젝트
타이타닉 프로젝트는 캐글에서 제공하는 학습용 Competition에 해당한다. Competition을 시작하기 앞서서 데이터 사이언스 프로젝트와 캐글에서 프로젝트를 해본 경험이 없는 개발자들을 위한 Compeition 가이드북인 셈이다. 이번 타이타닉 시리즈 포스트를 통해 기본적인 데이터 사이언스 프로젝트를 수행하는 방법에 대해서 이해하고 캐글 노트를 어떻게 활용하는지 등에 대해서 알아가 보도록 하자.
# 라이브러리 import와 데이터 분석
데이터 사이언스 프로젝트를 시작하기 위해서는 우선적으로 데이터를 분석하는 것이 중요하다. csv 파일에 어떤 데이터가 포함되어 있는지를 제대로 알고 있어야지 다음 작업이 가능하기 때문이다. 물론 프로젝트 시작에 앞서서 데이터에 대한 설명을 들었을 수도 있지만 구체적으로 Attirbutes들의 배열까지는 모를 수 있기 때문이다.
따라서 캐글에서 프로젝트를 하는게 아니더라도 데이터 사이언스 프로젝트를 할 때에는 데이터 테이블을 먼저 확인해주는 것이 중요하다. 데이터 테이블을 확인하기 위해서는 대표적으로 numpy와 pandas 라이브러리를 사용한다. 한마디로 해당 라이브러리는 어떤 프로젝트를 임하든 일단 작성을 하고 Run을 하는 것이 좋다. 이후에 데이터를 확인하고 프로젝트를 어떤 방향으로 진행할 지에 대해서 계획이 잡혔다면 추가적인 라이브러리는 그때 가서 추가해도 된다.
# linear algebra
import numpy as np
# data processing
import pandas as pd
# Kaggle 데이터 input
numpy와 pandas와 동일하게 기본적으로 세팅해줘야 하는 것이 데이터의 위치이다. 데이터를 가져와 사용하다 보니 가져올 데이터의 위치를 컴퓨터에게 알려줘야 한다. Kaggle의 경우에는 /kaggle/input 안에 데이터가 저장되어 있으니 아래의 코드를 통해서 원하는 데이터를 가져와 출력할 수 있다. 사실 이 부분은 개발자가 어떤 데이터가 있는지를 확인하기 위한 것이기에 프로젝트를 수행하는데 꼭 필요한 부분은 아니다. 또한 캐글 노트에서 오른쪽 메뉴에서 데이터 파일들을 쉽게 확인할 수 있다 보니 굳이 사용하지 않아도 되지만 캐글 입문자이거나 데이터 사이언스 입문자일 경우에는 해당 코드를 작성해서 데이터를 확인해 주는 것이 좋다.
import os
for dirname, _, filenames in os.walk('/kaggle/input'):
for filename in filenames:
print(os.path.join(dirname, filename))
# pd.read_csv로 데이터 확인
이제 기본적인 라이브러리 세팅이 끝났다면 pd.read_csv로 데이터를 확인해볼 차례이다. 이 과정도 사실 프로그래밍 자체에는 영향을 주지는 않지만 개발자가 데이터를 이해해야지 원하는 결과를 산출할 수 있기에 하는 과정 중 하나이다. 데이터 사이언스 프로젝트를 한다면 꼭 해야 하는 과정이며, 입문자만 해야하는 과정도 아니다. 또한 라이브러리 세팅이 단순한 이유는 캐글 노트에서 이미 기본적인 세팅이 되어 있기 때문에 보다 더 간결하게 세팅을 마칠 수 있는 것이다.
train_data = pd.read_csv("/kaggle/input/titanic/train.csv")
train_data.head()
test_data = pd.read_csv("/kaggle/input/titanic/test.csv")
test_data.head()
위의 두가지 코드를 통해서 train.csv와 test.csv 데이터를 확인할 수 있다. test_data.head()는 5줄에 해당하는 데이터를 출력해주는데 기본 값이 5이다. 만약에 추가적으로 더 많은 데이터를 확인하고 싶다면 head() 안에 원하는 숫자를 입력해주면 된다. 이로써 데이터에 대한 파악이 끝났다면 이제는 타이타닉 프로젝트에서 요구하는 바를 맞춰서 코딩을 시작하면 된다.
'AI & Data' 카테고리의 다른 글
[Data Science] Time Series Data (0) | 2022.08.28 |
---|---|
[Data Science] 캐글 타이타닉(Titanic Machine Learning Competition) #02 (0) | 2022.07.31 |
[Machine Learning] Batch Size, Iteration (0) | 2022.07.29 |
[Machine Learning] Momentum(모멘텀) (0) | 2022.07.27 |
[Machine Learning] Train Test Size (0) | 2022.07.27 |
댓글