728x90
반응형

 이전 포스트에서 캐글에서 타이타닉 데이터를 다운로드하였다. 이번 포스트에서는 타이타닉 데이터를 파이썬으로 불러오고, 데이터가 어떻게 생겼고, 어떤 변수가 있는지를 확인해보자.

 

 

타이타닉 데이터 가져오기

  • 이전에 받았던 타이타닉 데이터가 어떻게 생겼는지 보고, 변수들을 파악해보자.

 

 

1. 작업 파일 이동시키기

  • 만약, 작성자와 같은 주피터 노트북 사용자라면, 아래와 같이 작업 파일과 같은 경로 안에 Data를 넣는 폴더를 만들어, 데이터를 넣어놓자.

  • 현재 작업 중인 주피터 노트북 파일인 Report04_210209.ipynb와 같은 경로에 Dataset이라는 파일을 새로 만들었다.

  • 이전에 다운로드하였던 titanic 압축파일 안에 있던 3 파일 "gender_submission.csv", "test.csv", "train.csv"을 Upload 시키자.

 

 

 

 

2. 데이터 불러오기

import pandas as pd
import numpy as np
import os
# Global Variable
file_path = "./Dataset"
# Function
def import_Data(file_path):

    result = dict()
    for file in os.listdir(file_path):

        file_name = file[:-4]
        result[file_name] = pd.read_csv(file_path + "/" + file)

    return result
Rawdata_dict = import_Data(file_path)
  • os.listdir(디렉터리): 있는 파일 list를 가지고 온다.
  • pd.read_csv(파일 경로): 있는 csv파일을 가지고 온다.
  • 데이터를 이름으로 하나하나 불러오지 않고, 특정 디렉터리 안에 있는 모든 파일들을 해당 파일의 이름으로 딕셔너리에 넣어 가지고 왔다.
  • 이렇게 데이터 프레임을 딕셔너리로 관리하는 경우, 특정 목적에 맞는 데이터들을 보다 쉽게 관리할 수 있으며, 데이터의 이름을 특정 패턴을 가진 상태로 부여할 수 있다.
  • 또한, 한 번에 특정 디렉터리 내 모든 파일들을 모두 가져올 수 있으므로, 데이터를 가지고 올 때도 꽤 편하다.

 

 

 

 

3. 데이터가 어떻게 생겼는지 보도록 하자.

>>> dict_key = list(Rawdata_dict.keys())
>>> dict_key
['gender_submission', 'test', 'train']

>>> Rawdata_dict[dict_key[0]]

  • gender_submission은 Row(행) 418개, Column(열, 변수) 2개로 구성된 데이터다.
  • PassengerID: 승객 ID이다.
  • Survived: 생존 여부로, 0 = 사망, 1 = 생존이다.

 

test.csv에 담긴 데이터를 보자

>>> Rawdata_dict[dict_key[1]]

  • test는 Row(행) 418개, Column(열, 변수) 11개로 구성된 데이터다.
  • PassengerID: 고객 번호
  • Pclass: 티켓의 등급이다. 1 =1st(Upper), 2 = 2nd(Middle), 3 = 3rd(Lower)이다.
  • Name: 승객의 이름
  • Sex: 성별
  • Age: 연령
  • SibSp: 타이타닉호에 탑승한 형제/배우자의 수
  • Parch: 타이타닉호에 탑승한 부모/자녀의 수
  • Ticket: 티켓 번호
  • Fare: 승객 요금
  • Cabin: 객실 번호
  • Embarked: 기항지 위치, C(Cherbourg), Q(Queenstown), S(Southampton)으로 3곳이 있다.

 

train.csv에 담긴 데이터를 보자

>>> Rawdata_dict[dict_key[2]]

  • train은 Row(행) 891개, Column(열, 변수) 12개로 구성된 데이터다.
  • 변수의 구성은 test와 동일하나, test와 달리 Survived라는 변수가 있다.
  • test와 gender_submission은 PassengerID도 동일하며 Row의 수도 418개로 동일하다.
  • 즉, test Dataset의 Survived는 gender_submission에 있는 것임을 알 수 있다.

 

 

 

 지금까지 타이타닉 데이터를 불러와서 구성하고 있는 데이터에 대해 차근차근 살펴보았다. 다음 포스트에서는 본격적으로 데이터 핸들링을 하여, 생존자 예측 모델을 만들어보도록 하겠다.

728x90
반응형
728x90
반응형

캐글(Kaggle)이란?

 빅데이터 분석에 관심이 있는 사람이라면, 한 번쯤 캐글(Kaggle)에 대해 들어봤을 것이다.

 캐글은 2010년 설립된 예측모델 및 분석대회 플랫폼으로, 기업 및 단체에서 데이터와 해결과제를 등록하면, 데이터 과학자들이 이를 해결하는 모델을 개발하고 경쟁하는 곳이다. 2017년 3월 구글에 인수되었다(위키피디아)

  • 캐글(Kaggle)은 말 그대로 빅데이터 분석가들의 사냥터라고 할 수 있는데, 빅데이터 분석가들의 사냥감인 데이터가 널려 있으며, 서로서로 그 데이터를 얼마나 잘 요리했는지를 비교할 수도 있다.

 

 

 

1. Competitions

  • 캐글 입장 후, Compete를 보면, 수많은 상금이 걸린 도전 과제들이 있는 것을 볼 수 있다.
  • 여기서 마음에 드는 과제를 선택하면 "Join Competition"이라는 버튼이 생기는 것을 볼 수 있는데, 이를 클릭해서, 해당 대회에 참여할 수 있다.

  • 위 사진에서 각 버튼은 다음 기능을 한다.
  1. Overview: 문제에 대한 소개와 정의
  2. Data: 예측 모델 생성에 필요한 데이터셋과 Feature가 되는 Fields가 설명되어 있으며, 대회에 쓰일 데이터 셋을 다운로드할 수 있다.
  3. Code: 대회 참가 시, 캐글에서 제공하는 서버에서 작업할 수 있게 해 주며, 다른 사람의 코드를 참고할 수 있음.
  4. Discussion: 질의응답 공간
  5. Leaderboard: 모델의 정확도를 기준으로 랭킹이 매겨지는 곳
  6. Dadataset: 관련 데이터 셋을 볼 수 있다.
  • 대회 진행 방식은 데이터를 다운로드하여 내 PC에서 작업하거나 캐글에서 제공하는 서버에 접속해 작업을 하는 방식이 있다.

 

  • 대회 참가 후, Code를 클릭하면 New Notebook을 눌러, 커널에 접속할 수 있다.

  • 여기서 코드를 작성할 수 있으며, 그 코드가 정상적으로 실행된다면, Commit 하여, 결과를 업로드하고 정확도를 기반으로 점수를 확인할 수 있다.
  • 상위 랭킹에 들어간다면, 그에 대한 대회의 보상을 받을 수도 있다고 하니, 실력도 늘리고, 용돈 벌이도 할 겸 해서 한 번쯤 해보는 것을 추천한다.

 

 

 

 

2. 타이타닉 데이터

  • 이번에 학습에 사용해볼 데이터인 타이타닉 데이터를 구해보자.
  • 위 과정을 통해 직접 찾아갈 수도 있으나, 이 버튼을 눌러서 바로 이동할 수도 있다.

 

  • 타이타닉 데이터의 변수별 정보는 다음과 같다.

  • 이곳에서 Titanic Data를 다운로드할 수 있으며, 데이터의 칼럼 별 개형 등을 볼 수도 있다.
  • 데이터의 각 변수에 대한 정보를 최대한 얻은 다음 분석을 시작하도록 하자.

 

 

 

 이밖에도 캐글은 커뮤니티나 빅데이터 분석의 기반이 되는 것들을 공부할 수 있는(Courses) 공간도 따로 제공하므로, 많이 사용해보도록 하자.

 다음 포스트에서는 이번에 받은 타이타닉 데이터를 이용해서, 생존자 예측 모델을 만들어보도록 하겠다.

728x90
반응형

+ Recent posts