본문 바로가기

🛠머신러닝

머신러닝 데이터 전처리 과정

반응형

데이터 분석을 하기 위해 데이터를 가져왔을 때 가장 먼저 확인해야 하는 것들을 정리해보고자 한다.

 

01. 데이터 구조 확인

가장 먼저 내가 분석할 데이터가 어떤 구조, 형태로 이루어진 데이터인가?를 확인해야 한다. 데이터 구조는 간단히 보자면 크게 2가지로 나눌 수 있다.(더 세부적으로 나눌 수도 있지만 우선은 크게 보자면!)

 

-정형 데이터 : '표'형태의 데이터

-비정형 데이터 : 이미지, 소리, 영상, 신호 등

 

 

 

02. 판다스 사용 :  import pandas 

우선 표 형태의 정형 데이터를 가져왔을 때 확인해야 할 기본적인 사항들에 대해 정리해보자.

파이썬에서는 정형 데이터를 처리할 때 pandas라는 라이브러리를 사용한다. 따라서 이 라이브러리를 사용하기 위해서는 import pandas 로 판다스를 임포트 해주고, 그 pandas를 앞으로 pd로 줄여 사용하기 위해  as pd를 적어준다.

 

 

 

03. 데이터 불러오기 :  read_csv('파일명') 

이때, 내가 불러올 csv파일과 스크립트가 같은 폴더에 위치해야 쉽게 불러올 수 있다.

 

 

04. columns(열)과 row(행)의 개수 확인 :  shape( ) 

 

 

05. DataFrame 상위 5개 추출 : head( ) 

columns, row, values 확인

 

 

06. DataFrame을 조금 더 자세히 확인 :  info( )  

 

1) row 개수

2) columns개수

3) 데이터 타입 (int:정수형 , object:문자형, float :실수형)

4) Missing value (비어있는 값)

5) 데이터 타입별 칼럼 수

6) 데이터 타입의 용량

 

 

07. 데이터 타입 확인

: 데이터 타입에 따라 분석방법과 결과가 달라지기 때문에 데이터 타입을 정확하게 알고 전처리하는 것이 중요하다.

 

1) 숫자(연속형) 데이터

 describe() 

describe() 함수를 쓰면 숫자형 데이터 값들에 대한 정보를 볼 수 있다.(object타입의 칼럼은 제외됨)

1) count : Not Nill인 데이터의 개수

2) mean : 전체 데이터의 평균

3) std : 표준편차

4) min : 최솟값

5) max : 최댓값

6) 사분위 범위(IQR) : 전체 데이터의 50%가 존재하는 구간

 

 

 

2) 문자(범주형) 데이터

 unique() 

unique( )를 사용하여 ['Pclass']라는 columns에 들어있는 항목들 확인(중복 제거된 상태로)

 

 

 

 value_counts()  :범주형 데이터에서 각 항목의 개수 확인

각 항목별로 몇 개의 데이터가 있는가?를 확인할 때 value_counts( ) 함수를 사용한다. 즉, unique()함수를 써서 'Pclass'라는 칼럼에 어떤 값들이 들어있는지 확인한 뒤, value_counts()를 사용하여 그렇다면 각 값들이 몇 개씩 있는지 확인하는 것이다.

 

 

 

3) columns가 많은 경우에 문자형 columns만 빨리 확인하고 싶을 때

 

 먼저 describe()를 이용하여 연속형 columns를 가져온 뒤, columns를 이용하여 숫자 데이터 칼럼의 이름들만 추출해서 가져온다. 그리고 tolist()를 이용하여 그 이름들을 리스트 형태로 만들어준다.

 

 

 

다음으로 데이터 프레임의 모든 칼럼들을 리스트로 만들어준다. 

 

 

 

 

연속형 데이터 칼럼은 a로 선언하고, 전체 칼럼은 b로 선언한다.

 

 

set을 이용하여 b(전체 칼럼)에서 a(연속형 데이터가 들어있는 칼럼)의 중복을 제거해주면 범주형 데이터 칼럼만 남게 된다. 이것을 list( )를 사용하여 다시 리스트 형태로 만들어준다.

 

범주형 데이터 칼럼만 추출한 것을 c로 선언한 뒤, [ ]를 사용해보면 범주형 데이터 칼럼에 해당되는 것만 뽑아서 확인할 수 있다.

 

반응형