본문 바로가기
AI & Data

[Data Science] 데이터 사이언스를 처음 공부할 때: 사이킷런(sklearn)

by Henry Cho 2022. 12. 16.
728x90

데이터 사이언스를 처음 공부할 때: 사이킷런(sklearn)

포스트 난이도: HOO_Middle


# scikit-learn

 

사이킷런(scikit-learn)이라고 부르는 sklearn 라이브러리는 구조 데이터를 분석하는 데 사용되는 대표적인 머신러닝 라이브러리이다. 그렇기에 많은 개발자들이 사이킷런을 알고 있으며, 데이터 사이언스 분야가 아니더라도 머신러닝을 사용하는 개발자라면 사이킷런을 처음 접하고 공부했을 가능성이 높다.

 

머신러닝을 공부하는 데 있어서 사이킷런 라이브러리를 사용하는 이유는 머신러닝을 이해하는데 아주 심플하면서도 데이터 사용과 관리가 어떤 식으로 이루어지는지 쉽게 이해할 수 있기 때문이다. sklearn은 주로 구조화 데이터 분석을 하는데 사용이 되기 때문에 데이터를 다루는 데 있어서 상대적으로 쉽고 간단하다.

 

비구조화 데이터나 복합 데이터의 경우에는 데이터 변환을 어떻게 해줄 것인지부터 어떤 라이브러리나 모듈을 사용해서 중간 단계의 비구조화 데이터로 변환을 해줘야 할 지에 대해서 고민을 하고 결정해야 하는 부분이 있다. 이러한 부분이 사실상 데이터 사이언티스트에게 있어서 중요한 능력이지만 처음부터 이러한 스킬을 배우기에는 어렵다. 예를 들어서 유치원생 보고 아무 정보 없이 미슐랭급 요리를 만들어보라는 거와 같다. 결국 데이터를 다루는 머신러닝에 대해서 공부하기 위해서는 비교적 간단하면서도 쉽게 이해할 수 있는 방식이 필요한데 그것이 바로 사이킷런인 셈이다.

 

그렇다고 해서 사이킷런이 "초보 개발자"를 위한 라이브러리인 것은 아니다. 다만 사용이 편리하다는 것이다. 개발자에게 있어서 대표적으로 중요한 특징 중에 하나가 편리성인데 사이킷런은 이러한 특징을 가지고 있다. 이처럼 사이킷런은 구조화 데이터에 대한 분석과 머신러닝을 통한 데이터 기반 미래 예측에 활용되고 있다.

 

또한 사이킷런은 보통 statsmodel 라이브러리와 같이 사용되는 편이다. 왜냐하면 구조화 데이터를 다루기 위해서는 수치 데이터에 대한 분석 기능이 필요한데 statsmodel이 이 부분을 보완해준다. 하나의 예시로 statsmodel은 구조화 데이터에 대해서 분석하는데 정말 다양한 기능을 가지고 있다. 표준편차, 평균, 데이터 분포 비율 등을 하나하나 코딩을 해야 한다면 사이킷런에서는 Function 하나로 한번에 보여줄 수가 있다. 이를 기반으로 사이킷런에서 머신러닝을 돌려서 최적의 값을 산출해낼 수 있다.

 

결과적으로 머신러닝에 대해서 공부를 하고 싶거나 데이터 사이언스에 관심이 많다면 사이킷런 라이브러리를 사용하는 것에 대해서 공부를 해보는 것이 좋은 시작점이라고 생각한다.


728x90

댓글