Python scikit-learn
ライブラリ完全ガイド
scikit-learn
(サイキットラーン)は、機械学習アルゴリズムの学習・実装・検証を効率的に行うための Python ライブラリです。分類、回帰、クラスタリング、次元削減など、幅広いアルゴリズムを備えています。本記事では、scikit-learn
の基本機能と実践的な使い方をコピー可能なコードブロック付きで紹介します。
1. scikit-learn
の概要
インストール方法
pip install scikit-learn
2. 主な機能と使用例
(1) データセットの読み込み(Iris データ)
from sklearn.datasets import load_iris iris = load_iris() X = iris.data y = iris.target print(X[:5])
(2) 訓練データとテストデータの分割
from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
(3) モデルのトレーニング(SVM)
from sklearn.svm import SVC model = SVC(kernel='linear') model.fit(X_train, y_train)
(4) モデルの予測と評価
from sklearn.metrics import accuracy_score y_pred = model.predict(X_test) print("Accuracy:", accuracy_score(y_test, y_pred))
(5) 混同行列の表示
from sklearn.metrics import confusion_matrix import matplotlib.pyplot as plt import seaborn as sns cm = confusion_matrix(y_test, y_pred) sns.heatmap(cm, annot=True, fmt='d') plt.xlabel('Predicted') plt.ylabel('True') plt.show()
(6) パイプラインによる前処理とモデル構築
from sklearn.pipeline import Pipeline from sklearn.preprocessing import StandardScaler pipeline = Pipeline([ ('scaler', StandardScaler()), ('svc', SVC()) ]) pipeline.fit(X_train, y_train)
(7) 交差検証(クロスバリデーション)
from sklearn.model_selection import cross_val_score scores = cross_val_score(model, X, y, cv=5) print("CV平均精度:", scores.mean())
(8) グリッドサーチによるハイパーパラメータ調整
from sklearn.model_selection import GridSearchCV params = {'kernel': ['linear', 'rbf'], 'C': [0.1, 1, 10]} gs = GridSearchCV(SVC(), param_grid=params, cv=5) gs.fit(X_train, y_train) print("最適パラメータ:", gs.best_params_)
(9) 特徴量の重要度
from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier() rf.fit(X_train, y_train) print(rf.feature_importances_)
(10) モデルの保存と読み込み
import joblib joblib.dump(model, 'model.pkl') model_loaded = joblib.load('model.pkl')
3. scikit-learn
の主な機能まとめ
機能 | 説明 |
---|---|
datasets |
標準データセットの読み込み |
model_selection |
データ分割・交差検証・グリッドサーチなど |
preprocessing |
標準化、スケーリング、ラベルエンコーディングなど |
metrics |
精度、混同行列、ROC曲線などの評価指標 |
pipeline |
前処理+モデルの一体化構築 |
まとめ
scikit-learn
は、シンプルな構文で強力な機械学習ワークフローを構築できるライブラリです。初学者から実務者まで幅広く支持されており、モデルの学習、評価、チューニングまでを一貫してサポートします。機械学習を始めたい方は、まず scikit-learn
から学び始めるのがおすすめです!