タイトル: scikit-learn
scikit-learnとは

Pythonの機械学習ライブラリ。分類・回帰・クラスタリング・次元削減・モデル選定・前処理など、古典的な機械学習アルゴリズムを統一APIで提供します。データサイエンス・機械学習の学習・実務で最も広く使われるツールキットの一つです。
公式サイトはこちら。
scikit-learnの主な特徴
- 豊富なアルゴリズム — 線形回帰、ロジスティック回帰、決定木、ランダムフォレスト、SVM、kNN、ナイーブベイズ、K-means、DBSCAN、PCA等
- 統一されたAPI —
fit() / predict() / transform()でほぼ全モデル共通 - NumPy / pandas / SciPy 連携 — 同じ世界観で扱える
- パイプライン — 前処理+モデルを1本にまとめて再現性を確保
- 交差検証・グリッドサーチ — ハイパーパラメータ調整が容易
- ライセンス — BSD-3-Clause(商用可)
本ページの子ページ
- インストール方法(Linux) — pipでの導入手順
- 入門者向けクイックスタート — 最初の分類タスク実装例
scikit-learnでできること(タスク別)
| タスク | 代表アルゴリズム |
|---|---|
| 分類(カテゴリ予測) | LogisticRegression、RandomForestClassifier、SVC、GradientBoostingClassifier、KNeighborsClassifier |
| 回帰(数値予測) | LinearRegression、Ridge、Lasso、RandomForestRegressor、GradientBoostingRegressor |
| クラスタリング | KMeans、DBSCAN、AgglomerativeClustering |
| 次元削減 | PCA、t-SNE、UMAP(別ライブラリ) |
| 前処理 | StandardScaler、MinMaxScaler、OneHotEncoder、SimpleImputer |
| モデル選定 | train_test_split、GridSearchCV、cross_val_score |
| 評価指標 | accuracy_score、precision_recall、roc_auc、mean_squared_error |
最小サンプル:Irisデータの分類
|
from sklearn.datasets import load_iris |
パイプライン例
|
from sklearn.pipeline import Pipeline |
類似ライブラリとの位置づけ
| ライブラリ | 得意分野 |
|---|---|
| scikit-learn | 古典機械学習、前処理、評価。学習・実務の中心 |
| TensorFlow / PyTorch | ディープラーニング |
| XGBoost / LightGBM | 勾配ブースティング(コンペで強い) |
| statsmodels | 統計分析・推論 |
注意点
- ディープラーニングはカバー外。ニューラルネット系は TensorFlow / PyTorch を使う
- 大規模データには弱い。1台メモリに収まるサイズが前提(数百万行程度まで)
- 外れ値・欠損値の前処理は自前で行う必要がある
- カテゴリ変数は
OneHotEncoder/OrdinalEncoderで数値化が必要
関連
- 親カテゴリ: ライブラリ (AI/機械学習)
- Python本体: 環境構築
- 関連: Python本体・ライブラリのインストール
- 関連: Jupyter Notebook