scikit-learn이란?
Scikit-learn(일명 sklearn)은 파이썬에서 머신러닝 알고리즘을 구현하기 위해 널리 사용되는 오픈소스 라이브러리입니다.
분류(Classification), 회귀(Regression), 군집화(Clustering), 차원 축소(Dimensionality Reduction) 등 다양한 머신러닝 작업을 강력하고 안정적인 인터페이스를 통해 손쉽게 수행할 수 있으며, NumPy, SciPy, Matplotlib 라이브러리를 기반으로 구축되어 있습니다.
또한 scikit-learn의 datasets 모듈에는 아이리스(Iris), 숫자 필기체(Digits) 등 학습용 샘플 데이터셋이 내장되어 있어, 별도의 외부 파일 없이도 바로 실습을 진행할 수 있다는 장점이 있습니다.
예제 코드
다음은 load_iris() 함수를 사용해 아이리스 데이터셋을 불러오는 예제입니다.
from sklearn.datasets import load_iris
my_data = load_iris()
X = my_data.data
y = my_data.target
feature_name = my_data.feature_names
target_name = my_data.target_names
print("Feature names are : ", feature_name)
print("Target names are : ", target_name)
print("\nFirst 8 rows of the dataset are : \n", X[:8])
실행 결과
Feature names are : ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']
Target names are : ['setosa' 'versicolor' 'virginica']
First 8 rows of the dataset are :
[[5.1 3.5 1.4 0.2]
[4.9 3. 1.4 0.2]
[4.7 3.2 1.3 0.2]
[4.6 3.1 1.5 0.2]
[5. 3.6 1.4 0.2]
[5.4 3.9 1.7 0.4]
[4.6 3.4 1.4 0.3]
[5. 3.4 1.5 0.2]]
코드 설명
sklearn.datasets모듈에서load_iris함수를 임포트합니다.load_iris()를 호출하여 아이리스 데이터셋을 실행 환경에 로드합니다.- 데이터셋에서 입력 특성(X)과 정답 레이블(y)을 분리합니다.
- 특성 이름(
feature_names)과 타깃 클래스 이름(target_names)을 함께 확인할 수 있습니다. - 데이터의 일부를 미리 살펴보기 위해 처음 8개 행을 콘솔에 출력합니다.
마무리
이처럼 scikit-learn을 활용하면 단 몇 줄의 코드만으로 내장 데이터셋을 간편하게 불러와 머신러닝 실습을 시작할 수 있습니다. 특징과 레이블이 이미 잘 정리되어 있기 때문에, 초보자가 데이터 전처리 과정보다는 알고리즘 자체에 집중하며 학습하기에 매우 적합한 환경을 제공합니다.