Scikit-learn은 파이썬에서 머신러닝을 위한 대표적인 라이브러리로, 다양한 머신러닝 알고리즘을 간편하게 활용할 수 있도록 지원합니다.
LinearRegression (선형 회귀)Ridge, Lasso (정규화 회귀)SVR (서포트 벡터 회귀)RandomForestRegressor, GradientBoostingRegressorLogisticRegression (로지스틱 회귀)SVC (서포트 벡터 머신)RandomForestClassifier, GradientBoostingClassifierKNeighborsClassifier (KNN)MLPClassifier (다층 퍼셉트론 신경망)KMeansDBSCANAgglomerativeClustering (계층적 군집화)PCA (주성분 분석)t-SNE, UMAP (비선형 차원 축소)StandardScaler (표준화)MinMaxScaler (정규화)OneHotEncoder (범주형 데이터 변환)SimpleImputer (결측치 처리)train_test_split() (데이터 분할)cross_val_score() (교차 검증)GridSearchCV, RandomizedSearchCV (하이퍼파라미터 최적화)classification_report, confusion_matrix (분류 평가)mean_squared_error, r2_score (회귀 평가)from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
# 데이터 로드
iris = load_iris()
X, y = iris.data, iris.target
# 데이터 분할
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
# 모델 생성 및 학습
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train, y_train)
# 예측 및 평가
y_pred = model.predict(X_test)
print(f"Accuracy: {accuracy_score(y_test, y_pred):.2f}") from sklearn.model_selection import GridSearchCV
# 하이퍼파라미터 설정
param_grid = {'n_estimators': [50, 100, 150], 'max_depth': [3, 5, 7]}
grid_search = GridSearchCV(RandomForestClassifier(random_state=42), param_grid, cv=5)
grid_search.fit(X_train, y_train)
# 최적의 하이퍼파라미터 출력
print(grid_search.best_params_) 데이터 가공과 변환을 위한 도구 제공
| 모듈 | 설명 | 상세 | 예시 |
|---|---|---|---|
| preprocessing | 다양한 데이터 전처리 | 변환, 정규화, 스케일링 등 | – StandardScaler – MinMaxScaler – OneHotEncoder |
| feature_selection | 특징(feature) 선택 | 중요한 특성을 선택 | – SelectKBest – f_classif |
| feature_extraction | 특징(feature) 추출 | 벡터화 (텍스트, 이미지) | – TfidfVectorizer – PatchExtractor |
다양한 머신 러닝 알고리즘 제공
| 모듈 | 설명 | 예시 |
|---|---|---|
| linear_model | 다양한 선형 모델 | 선형 회귀, Ridge, Lasso, 로지스틱 회귀 등 |
| svm | 서포트 벡터 머신 알고리즘 | SVC, SVR 등 |
| neighbors | 최근접 이웃 알고리즘 | kNN 등 |
| naive_bayes | 나이브 베이즈 알고리즘 | 가우시안 NB, 다항 분포 NB 등 |
| tree | 의사 결정 트리 알고리즘 | 의사결정나무 분류, 회귀 등 |
| cluster | 클러스터링 알고리즘 | kMeans, 계층형 클러스터링, DBSCAN 등 |
| decomposition | 차원 축소 관련 알고리즘 | PCA, NMF, Truncated SVD 등 |
| ensemble | 앙상블 알고리즘 | VotingClassifier, Random Forest, AdaBoost, GradientBoost 등 |
모델 성능 평가및 하이퍼파라미터 최적화 기법
| 모듈 | 설명 | 예시 |
|---|---|---|
| model_selection | 교차검증, 학습/테스트 분리, 파라미터 최적화 | train_test_split, GridSearch 등 |
| metrics | 다양한 성능 측정 방법 | Accuracy, Precision, Recall, ROC-AUC, RMSE 등 |
데이터 파이프라인, 예제 데이터셋 등
| 모듈 | 설명 | 예시 |
| sklearn.pipeline | 여러 기능을 묶어서 실행 | |
| sklearn.datasets | 내장된 다양한 예제 데이터셋 | 붓꽃, 당뇨병, 와인 데이터셋 등 |
scikit-learn은 머신러닝을 쉽게 시작할 수 있는 강력한 라이브러리입니다.
AI 감시 소프트웨어가 재택근무 시대를 끝내고 있다. 직원의 키스트로크·화면·표정까지 추적하는 기술의 실체와, 한국 직장인이 알아야…
정보보안기사 실기는 개념을 아는 것보다 로그를 읽고, 규칙을 쓰고, 계산하는 힘에서 점수가 갈립니다. 이번 글은…
호르무즈 해협 뉴스는 이제 '또 공격이 있었다'보다 '얼마나 늘었나'를 봐야 합니다. 이투데이가 FT와 영국해사무역기구(UKMTO) 등을…
이번 추석 연휴, 은행들은 쉬지 못했습니다. 연휴 기간 금융권에서 대규모 개인정보 유출 사고가 터졌기 때문입니다.…
"집 못 팔게 막으면 값이 내려가겠지." 서울 전역이 토지거래허가구역으로 묶이던 1년 전, 이런 기대가 있었습니다.…
다섯 거래일 연속 밀린 코스피가 오늘 아침 크게 반등했습니다. 오전 9시 12분 기준 6,165.02로 전…