본문 바로가기
개발자 파헤치기

[python] scikit-learn이란? | 기본 함수 활용 및 예시 | fit_transform, train_test_split, cross_val_score

by ddudidoobab 2024. 4. 2.
728x90

scikit-learn은 파이썬의 머신러닝 라이브러리로,

데이터 분석 및 머신러닝 모델을 쉽게 구축하고 평가할 수 있도록 다양한 도구와 알고리즘을 제공합니다.

데이터 전처리, 모델 선택, 평가 등 다양한 작업을 지원하여 머신러닝 프로젝트를 효율적으로 진행할 수 있습니다.

scikit-learn은 오픈 소스 프로젝트로 무료로 사용할 수 있으며,

다양한 커뮤니티와 개발자들에 의해 지속적으로 업데이트되고 발전되고 있습니다.

데이터 불러오기

scikit-learn에서 제공하는 내장 데이터셋을 활용하여 데이터를 불러올 수 있습니다.
예를 들어, 붓꽃(iris) 데이터셋을 불러오는 방법은 다음과 같습니다.

from sklearn.datasets import load_iris

iris = load_iris()
X = iris.data  # 특성 데이터
y = iris.target  # 타겟 데이터

데이터 전처리

표준화

데이터를 표준화하기 위해서는 StandardScaler 클래스를 사용합니다.

from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

정규화

정규화는 데이터의 범위를 조정하여 일정한 범위로 변환하는 과정입니다.
MinMaxScaler 클래스를 사용하여 정규화할 수 있습니다.

from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler()
X_normalized = scaler.fit_transform(X)

모델 선택

훈련-테스트 분리

데이터를 훈련 세트와 테스트 세트로 나누는 것은 모델을 평가하는 중요한 단계입니다.
train_test_split 함수를 사용하여 데이터를 나눌 수 있습니다.

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

교차 검증

교차 검증은 모델의 성능을 신뢰할 수 있는 방법으로 평가하는 것입니다.
cross_val_score 함수를 사용하여 교차 검증을 수행할 수 있습니다.

from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression

model = LogisticRegression()
scores = cross_val_score(model, X, y, cv=5)  # 5-fold cross-validation

위의 결과를 활용하여 데이터를 전처리하고 모델을 선택할 수 있습니다.
scikit-learn을 사용하여 데이터 분석 및 머신러닝 프로젝트를 진행해 보세요!

300x250