ロジスティック回帰

はじめに

ロジスティック回帰は、多くの人が聞いたことがあるけど、実際に何をするものなのかよく分からない、という人もいるかもしれません。この記事では、ロジスティック回帰をシンプルな例を通じて、わかりやすく解説します。

ロジスティック回帰とは?

ロジスティック回帰は、名前に「回帰」とありますが、実は「分類」の問題を解くための方法の一つです。具体的には、2 つのグループに分ける問題、例えば「合格」「不合格」や「クリックする」「クリックしない」などの二択の予測を得意としています。

簡単な例で理解しよう

考えてみてください。学生たちの勉強時間と、そのテストの合格・不合格のデータがあるとします。勉強時間が長ければ合格する可能性が高く、短ければ不合格の可能性が高いと直感的には思いますよね。ロジスティック回帰は、この直感を数式で表現します。

具体的なデータとして、以下のようなものを考えてみます。

勉強時間 合格(1) / 不合格(0)
1 時間 0
2 時間 0
3 時間 1
4 時間 1
5 時間 1

ロジスティック回帰を使って、勉強時間による合格の確率を予測するモデルを作れます。そして、未知の勉強時間に対して、合格する確率を予測することができるようになります。

数式はこわくない!

ここで少し数式が登場しますが、怖がらずについてきてください。ロジスティック回帰の背後にあるのは、シグモイド関数という特殊な関数です。これは、どんな数値を入れても、結果として 0 から 1 の間の値を返す性質を持っています。

import numpy as np
import matplotlib.pyplot as plt

def sigmoid(x):
    return 1 / (1 + np.exp(-x))

x = np.linspace(-10, 10, 100)
y = sigmoid(x)

plt.plot(x, y)
plt.title("Sigmoid Function")
plt.xlabel("x")
plt.ylabel("y")
plt.grid(True)
plt.show()

このコードを実行すると、中心に向かって S 字形のグラフが表示されます。x が大きいと y が 1 に近づき、x が小さいと 0 に近づく性質が見て取れます。

ロジスティック回帰は、このシグモイド関数を使って、例えば勉強時間と合格確率の関係をモデル化します。

まとめ

ロジスティック回帰は、2 つのカテゴリにデータを分類する問題に使われる手法で、勉強時間や購買履歴などの情報から、合格確率やクリック確率を予測することができます。数式もシンプルなもので、シグモイド関数という特別な関数を使って、0 と 1 の間の確率を出力します。この手法を理解することで、日常生活やビジネスの中での予測や判断に役立てることができるようになります。

created by NA