쉽게 시작하는 캐글 데이터 분석 - 1

esc247·2022년 7월 3일
0

Data Analysis

목록 보기
10/10
post-thumbnail

ch3

대표적인 예제인 타이타닉 생존자 예측 경진대회를 바탕으로 데이터 분석 학습.

데이터 개요 파악

1. 데이터의 행과 열 확인하기

print(train_df.shape, test_df.shape)

2. 데이터 내용 미리보기

pd.set_option("display.max_columns",50)
pd.set_option("display.max_rows",50)
train_df.head()

3. 데이터 속성 확인하기

train_df.dtypes
#
PassengerId      int64
Survived         int64
Pclass           int64
Name            object
Sex             object
Age            float64
SibSp            int64
Parch            int64
Ticket          object
Fare           float64
Cabin           object
Embarked        object
dtype: object
  1. 데이터의 통계량 확인하기
  2. 카테고리 변수 확인하기
  3. 결측치 확인하기_

데이터의 시각화

목적 변수 관련 데이터의 시각화

  • DF에서 임의의 열 추출하기
  • 시각화하고 싶은 데이터에서 결측치 제외하기
  • 데이터를 수평으로 변환하기
embarked_df = train_df[['Embarked','Survived','PassengerId']]
.dropna().groupby(["Embarked","Survived"])
.count().unstack()
#
		PassengerId
Survived	0	1
Embarked		
C			75	93
Q			47	30
S			427	217
  • 누적 막대 그래프로 시각화하기
embarked_df.plot.bar(stacked=True)
  • 수치로 확인하기
    df.iloc[행 번호, 열번호]로 임의의 행과 열 추출 가능.
  • 카테고리 변수를 더미 변수화하기
    one-hot encoding,어떤 카테고리 변수에 대하여 그 값인지 여부를 0,1로 나타내는 방법, 사용해야 한다.
train_df_corr = pd
.get_dummies(train_df,columns=["Sex"], drop_first=True)
train_df_corr = pd
.get_dummies(train_df_corr, columns=["Embarked"])
  • 상관 행렬 작성하기
  • 히트맵으로 시각화하기

데이터 전처리와 특징 값 생성

머신 러닝 모델링

랜덤 포레스트

: 결정 트리를 여러 개 만들어 합하는(앙상블 기법) 방법.

LightGBM

: 결정 트리를 순서대로 갱신해 나가는 gradient boosting decision tree 기법이 제안되었는데, 이를 구현하는 방법 중 하나.

  • 실행 속도가 다른 기법들보다 빠르다.
  • 결측치나 카테고리 변수가 포함된 상태에서도 모델 학습 가능.

과적합과 과소적합

: 학습이 과하게 진행된 것; 학습이 불충분하게 진행된 것

  • 홀드 아웃 hold out
    : 데이터를 어떤 일정 비율로 학습,검증 데이터로 분할하는 방법. 과적합이 될 가능성 있음.
  • 교차 검증 cross validation
    : 임의 수의 블록으로 분할해서 그 중 블록 한 개는 검증 데이터로 만들고, 나머지는 학습 데이터로 만든다. 이 과정을 분할된 데이터 수만큼 반복.
  • 잭나이프법 leave-one-out
    : 전체 중 하나를 검증 데이터로, 나머지를 학습 데이터로 하는 과정을 전체 데이터 수만큼 반복. 데이터 수 적을 때 이용.
profile
막상 하면 모르니까 일단 하자.

0개의 댓글