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은 머신러닝을 쉽게 시작할 수 있는 강력한 라이브러리입니다.
1. 타입스크립트 개요 타입스크립트(TypeScript)는 마이크로소프트(Microsoft)가 개발한 자바스크립트(JavaScript)의 상위 집합(Superset) 언어입니다.즉, 자바스크립트에 정적 타입(Static Type)을 추가하고,…
윈도우 운영체제의 노트북에서는 iPhone 유선 테더링이 잘 안되는 경우가 많습니다. 보통 iPhone의 드라이버가 설치가 안되있어서인…
안녕하세요, 혹시 이런 생각해 본 적 없으신가요? "내가 투자한 회사는 누가 감시하고, 어떻게 운영될까?" 오늘은…
1. Gemini CLI란 무엇인가요? Gemini CLI는 터미널 환경에서 직접 Gemini 모델과 상호작용할 수 있도록 만들어진…