scikit-learnを使用してロジスティック回帰の確率を取得する方法


scikit-learnは、Pythonで機械学習モデルを構築するための強力なライブラリです。ロジスティック回帰モデルを使用してクラス分類を行う場合、予測値だけでなく、クラスの確率を取得することも重要です。以下に、scikit-learnを使用してロジスティック回帰の確率を取得する方法を示します。

まず、scikit-learnのLogisticRegressionクラスをインポートします。

from sklearn.linear_model import LogisticRegression

次に、データを準備し、モデルを訓練します。ここでは、簡単な例としてIrisデータセットを使用します。

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
# データをロードする
iris = load_iris()
X = iris.data
y = iris.target
# データを訓練用とテスト用に分割する
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# モデルを訓練する
model = LogisticRegression()
model.fit(X_train, y_train)

モデルを訓練した後、predict_probaメソッドを使用して、各クラスに属する確率を取得できます。

# テストデータのクラス確率を予測する
probabilities = model.predict_proba(X_test)
# 最初の10個のサンプルのクラス確率を出力する
print(probabilities[:10])

上記のコードでは、predict_probaメソッドにテストデータを与えることで、各サンプルに対するクラス1およびクラス2の確率を取得しています。出力は2次元配列であり、各行がサンプルに対応し、各列がクラスに対応します。

以上が、scikit-learnを使用してロジスティック回帰の確率を取得する方法です。この方法を使用することで、クラス分類だけでなく、クラスの確率情報も利用することができます。