scikit-learn은 데이터 분석을 위한 여러 작업을 간단하게 처리해주는 라이브러리입니다. 전처리, 시각화 등 다양한 기능이 있는데요. 특별히 머신러닝 모델 학습 및 평가에 많이 사용됩니다.
머신러닝 관련 기능들은 관련 개념을 배우는 토픽에서 별도로 살펴볼게요. 이번 튜토리얼에서는 기본적인 데이터 분석에 활용할 수 있는 간단한 기능 몇 가지만 알아보겠습니다.
아나콘다 환경을 사용하고 있다면 scikit-learn이 이미 설치돼 있습니다. 혹시 별도의 설치가 필요하다면 아래 명령어를 사용해 주세요.
pip install scikit-learn
설치된 라이브러리는 아래와 같이 불러올 수 있습니다.
import sklearn
scikit-learn에는 다양한 패키지와 함수들이 있습니다. 그래서, 보통은 import sklearn
으로 모든 기능을 한번에 불러오지 않고 필요한 것들만 따로 가져와 사용합니다. 아래 자주 사용되는 기능들을 실습해 보면서 살펴보겠습니다.
scikit-learn은 예제 데이터 세트를 제공합니다. 데이터가 없는 상황에서 원하는 기능을 간단하게 사용해 보고 싶을 때 유용하게 사용할 수 있는데요. 이번 튜토리얼에서는 와인 품질 관련 정보가 담긴 데이터를 사용해 볼게요.
sklearn.dataset
패키지에 있는 load_wine()
로 원하는 데이터 세트를 가져올 수 있습니다. 데이터는 data
로(wine.data
), 변수 이름은 feature_names
로(wine.feature_names
) 접근할 수 있는데요. 이 둘을 이용해 하나의 데이터 프레임을 만들어 볼게요.
from sklearn.dataset import load_wine
import pandas as pd
wine = load_wine()
wine_df = pd.DataFrame(wine.data, columns=wine.feature_names)
만들어진 데이터 프레임을 확인해 보겠습니다.
wine_df
잘 불러와졌네요.
scikit-learn은 이외에도 다양한 샘플 데이터들을 제공합니다. 불러오는 함수만 다르고 사용하는 방법은 유사하기 때문에 어떤 데이터 세트가 있는지만 알면 쉽게 사용할 수 있는데요. 필요하신 분들은 링크를 참고해 주세요.
서로 단위가 다른 데이터로 분석을 진행하면 특정 변수의 영향력이 커져서 결과가 잘못될 수 있습니다. 그래서, 사전에 단위를 통일하는 작업이 필요한데요. 그 중 표준화(Standardization)라는 방법이 있습니다. 머신러닝뿐만 아니라 데이터 분석을 하는 여러 상황에서 많이 하는 작업입니다.
sklearn.preprocessing
패키지의 StandardScaler()
를 사용하면 별도의 연산 없이 쉽게 표준화 할 수 있습니다.
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
wine_df = pd.DataFrame(scaler.fit_transform(wine_df), columns=wine.feature_names)
wine_df
모든 열의 값이 평균 0, 분산 1이 되도록 표준화 되었습니다.
이외에도 scikit-learn에는 다양한 기능들이 있습니다. 특히, 복잡한 수식으로 구현된 여러 머신러닝 모델들을 쉽게 사용할 수 있도록 준비되어 있습니다. 이후에 머신러닝 관련 토픽들을 학습한다면 계속 보게될 라이브러리이니 잘 기억해 주세요.
혹시 더 많은 scikit-learn의 기능들이 궁금하시다면 링크를 참고해주세요.