티스토리 뷰

EDA 바로보기
데이터 확인
Summary

- kaggle

 

- load Raw data

df = pd.read_csv('./data/train.csv')
df.info()
더보기
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
 #   Column       Non-Null Count  Dtype  
---  ------       --------------  -----  
 0   PassengerId  891 non-null    int64  
 1   Survived     891 non-null    int64  
 2   Pclass       891 non-null    int64  
 3   Name         891 non-null    object 
 4   Sex          891 non-null    object 
 5   Age          714 non-null    float64
 6   SibSp        891 non-null    int64  
 7   Parch        891 non-null    int64  
 8   Ticket       891 non-null    object 
 9   Fare         891 non-null    float64
 10  Cabin        204 non-null    object 
 11  Embarked     889 non-null    object 
dtypes: float64(2), int64(5), object(5)
memory usage: 83.7+ KB

 

 


EDA : (Exploratory Data Analysis) 탐색적 데이터 분석
pre-processing : 데이터 전처리

column 및 value 의미


1. Raw data 확인 및 Column별 설명
    Total :
12개의 columns
    - 각 column 설명은 Survived(predict target), A-Z순으로 진행된다.

 

column_EN Value_EN column_Kr Value_Kr
Survived 0
1
생존 유무 0 (사망)
1 (생존)
Age ... 나이 ...
Cabin ... 좌석 ...
Embarked C (Cherbourg)
Q (Queenstown)
S (Southampton)
승선 항구 C (Cherbourg)
Q (Queenstown)
S (Southampton)
Fare ... 티켓 요금 ...
Name ... 이름 ...
Parch ... 동승한 부모, 자식의 수 ...
PassengerId ... 탑승객 ID ...
Pclass 1 (1st)
2 (2st)
3 (3st)
티켓 탑승권 클래스 1 (1st)
2 (2st)
3 (3st)
Sex male
female
성별 남성
여성
SibSp ... 동승한 형제자매, 배우자 수 ...
Ticket ... 티켓 정보 ...
더보기
생존 Survived-($y$ predict target)
  • 결측 : 891 중 0개
  • 설명 : 생존 유/무 판단을 0과 1로 구분하여 입력됨
              0 : 사망
              1 : 생존
  • EDA  : 본 column을 기준으로 각각의 column을 분석하고자 한다.
              사망 : 549명(61.6%)
              생존 : 342명(38.4%)
  • 전처리 : 예측하려는 내용이 생존 유/무 이기 때문에,
                 본 column을 predict target으로 설정

나이 Age
  • 결측 : 891 중 177개
  • 설명 : 탑승객 연령
  • EDA  :
            -  결측값  : 결측값 분포는 아래와 같다.
               사망 : 549명 중 125명
                생존 : 342명 중 52명

            -  소수점 나이 
                결측값을 포함한 89개의 고유한(unique)값이 있음을 확인 했으며,
                이중 소수점 자리수가 포함된 18개의 고유한(unique)값을 갖고있다.
                
            -  노약자
                
    아이, 노인을 먼저 살렸을 것으로 예상,
               1912년 당시 사회적 나이를 반영하기 위해 아래와 같은 자료를 기준으로 연령을 선정하였다.
               0~15 : 19세기 초 영국 결혼 법에 따라 결혼가능한 나이 16세 미만으로 지정
                            참조 : 영국 결혼 가능 연령(UK Parliament)
               52~n : 1910년 기대수명을 기반으로 지정
  • 전처리 : 
            - 소수점 나이 
                Data Type을 기존 Float에서 Int로 치환하여 소수점 자리를 날리는 방향으로 정규화 진행

            - One-Hot Encoding
                위 노약자 기준을 기반으로 아래와 같이 나눔
                 [0, 0, 0] : 결측값
                 young_age : 0~15세에 해당하면 young_age Column에 1 입력
                regular_age : 16 ~ 51세에 해당하면 regular_age Column에 1 입력
                old_age : 52 ~ 나머지에 해당하면 old_age Column에 1 입력 

객실 Cabin-(Drop)
  • 결측 : 891 중 687
  • 설명 : 각 객실 위치
  • EDA  : 결측값이 많아 데이터 만으로는 확인이 불분명 하며,
                사고 당시 객실에 머무르며 침착하게 대응하기 어렵다 판단.
  • 전처리 : 위 내용을 바탕으로 제거

승선 항구 Embarked
  • 결측 : 891 중 2개
  • 설명 : Titanic의 탑승지는 총 3개가 있었으며 이는 아래와 같다.
              (소개 순서 : 탑승지 순서)
              S : Southampton
              C : Cherbourg
              Q : Queenstown
  • EDA  : .
  • 전처리 : 승선 항구 순서에 따라 생존 여부에 영향을 미치지 않는다 판단,
                  순서가 없는(Categorycal-Nominal)데이터이기 때문에,
                  One-Hot Encoding(카테고리화)으로 처리

티켓 요금 Fare
  • 결측 : 891 중 0개
  • 설명 : value의 단위 : £(GBP) 영국 파운드
              객실별 금액은 아래 Pclass Column 설명에서 확인 가능
  • EDA  : .
  • 전처리 :

이름 Name
  • 결측 : 891 중 0개
  • 설명 :
  • EDA  : 이름을 통해 특정 직업군을 확인 가능하다.
  • 전처리 : 

동승자 (부모, 자식) 수 Parch
  • 결측 : 891 중 0개
  • 설명 :
  • EDA  : .
  • 전처리 :

PassengerId-(Drop)
  • 결측 : 891 중 0개
  • 설명 : Titanic을 탑승한 탑승자의 번호
  • EDA  : 탑승 순서가 아닌 단순 index, PK라고 판단.
  • 전처리 : 위의 내용을 바탕으로 PassengerId는 Index가 대신 할 수 있을것으로 판단하여 제거

탑승권 등급 Pclass
  • 결측 : 891 중 0개
  • 설명 : 1~3의 값으로 이루어 져 있으며,
              이는 각각 탑승권의 등급으로 구분된다.
              자세한내용은 아래와 같다.

              - 1st(스위트 룸):
                  금액 : $4,350/£870
              - 1st(침실칸):
                  금액 : $150/£30
              - 2st 
                  금액 : $60/£12
              - 3st
                  금액 : $15-40/£3-£8
  • EDA  : .
  • 전처리 :

성별 Sex
  • 결측 : 891 중 0개
  • 설명 : 각각 남자와 여자로 구분되어있다.
  • EDA  : .
  • 전처리 :
               
     1 : 남성
                0 : 여성


 

동승자 (형제자매, 배우자)수 SibSp
  • 결측 : 891 중 0개
  • 설명 : 
  • EDA  : .
  • 전처리 :

티켓 정보 Ticket
  • 결측 : 891 중 0개
  • 설명 : 각 티켓별 발급번호이다.
  • EDA  : 같은 티켓일 경우 서로 가까운 관계일것.
                중복된 티켓의 수는 총 344개로,
                이는 티켓을 발급받은 891명중 344명이 동승자가 있다는 의미 이다.
  • 전처리 :
            - 동승자 유무
                1 : 티켓에 중복이 있는경우
                0 : 티켓에 중복이 없는경우
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/11   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함