0318 Data pre-progressing

wldnjswldnjs·2022년 3월 30일

데이터 분석

목록 보기
5/11

데이터 전처리

1. 결측치

1. 결측치 확인

age의 column 자체를 없앨지 말지 결정해야 함. => 살림

embarked는 대체

deck의 대부분이 결측치이므로 삭제

value_count() : 유일한 값(unique value)을 count

isnull() : null값 체크

2. 결측치 삭제

dropna() : NaN이 있는 것을 drop

subset=[] : 부분집합

3. 결측치 대체

embarked의 경우 빈도를 이용해서 값을 대체하는 것이 좋음

데이터 특성상 서로 이웃하고 있는 데이터는 유사성을 가질 확률이 높다.

자신의 앞, 뒤 데이터로 Missing Value를 채우는 방법도 제공

fillna() : NaN값 대체

2. 이상치 처리

어떤 데이터를 이상치로 간주할 것인가 => 데이터에 대한 도메인 전문가가 필요!

이상치를 정상적인 데이터로 치환

추후에 다른 예제로 진행할 것임

3. 중복값 처리

1. DataFrame 생성

2. 중복값 확인

의미가 있는 중복인지 아니면 그냥 중복된 데이터가 존재하는 것인지를 판단해서

의미없는 중복 데이터라면 제거

df.duplicated() : 중복 여부 확인

3. 중복값 제거

4. 자료형 변환


1. DataSet 생성

astype() : type 변경

unique() : 유일한 값만 나옴 (중복 배제)

2. type 변경

3. column값 변경, type 변경

4. 범주형 데이터

np.histogram() : 구간분할

pd.cut() : 데이터를 동일한 길이로 나누는 것

연속적인 데이터보다 범주형 데이터가 효율적인 경우가 있다

but 문자형을 컴퓨터가 인식할 수 있게 만들어줘야 함

"One-hot-encoding"

dummy variable (더미 변수)

5. 정규화

1. Min-Max Scaling

0개의 댓글