Scikit-learn은 파이썬에서 머신러닝을 위한 대표적인 라이브러리로, 다양한 머신러닝 알고리즘을 간편하게 활용할 수 있도록 지원합니다.
LinearRegression
(선형 회귀)Ridge
, Lasso
(정규화 회귀)SVR
(서포트 벡터 회귀)RandomForestRegressor
, GradientBoostingRegressor
LogisticRegression
(로지스틱 회귀)SVC
(서포트 벡터 머신)RandomForestClassifier
, GradientBoostingClassifier
KNeighborsClassifier
(KNN)MLPClassifier
(다층 퍼셉트론 신경망)KMeans
DBSCAN
AgglomerativeClustering
(계층적 군집화)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은 머신러닝을 쉽게 시작할 수 있는 강력한 라이브러리입니다.
윈도우 운영체제의 노트북에서는 iPhone 유선 테더링이 잘 안되는 경우가 많습니다. 보통 iPhone의 드라이버가 설치가 안되있어서인…
안녕하세요, 혹시 이런 생각해 본 적 없으신가요? "내가 투자한 회사는 누가 감시하고, 어떻게 운영될까?" 오늘은…
1. Gemini CLI란 무엇인가요? Gemini CLI는 터미널 환경에서 직접 Gemini 모델과 상호작용할 수 있도록 만들어진…
과적합은 머신러닝에서 학습용데이터를 과하게 학습하여, 실제데이터를 예측하지 못하는 현상을 말합니다. 인공지능(AI)의 학습 방법은 우리가 시험공부를…