AI・生成AIの用語一覧へ
このページの目次
AI・生成AI中級図解あり

scikit-learnとは?

読み方:scikit-learn

最終更新:2026/08/18

3秒でわかる

Python で定番の機械学習ライブラリ。分類や回帰、前処理評価までを fit と predict という共通の書き方で扱えます。

30秒図解

scikit-learnはデータ分割からPipelineでのfit、predictと評価までを統一したAPIでつなぐ機械学習ライブラリ
scikit-learnはデータ分割、前処理、学習、予測、評価を共通APIでつなぐ機械学習ライブラリです。Pipelineは前処理の情報漏れも防ぎます。

もう少し詳しく

どういうものか

scikit-learn は Python の機械学習ライブラリで、線形回帰、ロジスティック回帰、決定木、ランダムフォレスト、k 近傍法、クラスタリングなど古典的な手法を一通り備えています。NumPy と SciPy の上に作られており、表形式のデータを扱う分析で最初に選ばれます。深層学習は対象外で、そこは PyTorch や TensorFlow の領域です。

なぜ必要か

最大の価値はアルゴリズムの数ではなく、API が統一されていることです。どのモデルも fit() で学習し predict() で推論し、前処理も fit_transform() という同じ形をしています。そのためモデルを差し替える実験が 1 行の変更で済み、前処理と学習を Pipeline として 1 つの物にまとめて交差検証にかけられます。手書きだと必ず起きる、前処理を学習データにだけ適用して検証データに忘れるという事故も防げます。

具体例

from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.pipeline import make_pipeline from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import classification_report X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) model = make_pipeline(StandardScaler(), RandomForestClassifier(random_state=0)) model.fit(X_train, y_train) print(classification_report(y_test, model.predict(X_test)))

つまずきやすいところ

  • 標準化を分割前に行うと、検証データの情報が学習に混ざる(リーク)。Pipeline に入れると自動的に順序が守られる

  • random_state を指定しないと結果が毎回変わり、改善したのか偶然なのか判断できない

  • 不均衡データで正解率だけを見ると、多数派を全部当てるだけのモデルが高得点になる。適合率と再現率を併せて見る

  • 文字列の特徴量はそのまま渡せない。OneHotEncoder などで数値化する

  • インストール名は scikit-learn、import 名は sklearn で綴りが異なる
  • 似た用語との違い

    pandas はデータの整形と集計、scikit-learn は学習と評価を担当します。分析の流れとしては pandas で表を整えてから scikit-learn に渡す形になります。

    覚え方

    「同じ形の取っ手が全モデルに付いている工具箱」です。中身を替えても握り方は変わりません。

    次に学ぶ

    交差検証とは?

    知識のつながり

    サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

    現在地scikit-learnAI

    LEARN BY DOING

    この用語を、教材で使ってみる

    直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

    データ分析コースの全編を見る