



未知の事象を予測する! ロジスティック回帰ってなあに?
いよいよ機械学習について学んでいきましょう。機械学習には多種多様な手法がありますが、代表的な予測モデルの1つであるロジスティック回帰を紹介します。
ロジスティック回帰は、パターンAやパターンBのように2パターンに分けることができる事象に対して、AかBのどちらに属するかを予測できる手法です。
・雨が降るか否か
・試験に合格するか否か
・商品を購入するか否か
・犬か猫か
といったように、2パターンのどちらかに該当するかを予測します。
たとえば、過去に受験した模擬試験の結果を使うことで「本番の試験に合格するか否か」を予測できるかもしれません。
予測をするために利用するデータのことを、説明変数と言います。
複数の説明変数を使うことができ、国語の点数、数学の点数、社会の点数のように具体的な数字が入ります。また、「公立校に在籍している」「私立校に在籍している」という定性的なカテゴリーデータも説明変数に加えられます。
一方で、予測対象のデータもロジスティック回帰には必要で、これを目的変数と呼びます。
具体的には、
・試験に合格した場合は1
・不合格の場合は0
のように表現します。
予測に使う説明変数、予測対象の目的変数の2つを用いて、ロジスティック回帰という手法でデータの傾向を捉えます。このように傾向を捉えるのに利用するデータを訓練データ(または学習データ)と呼びます。
訓練データで傾向を捉えることができたら、試験をまだ受けていない生徒に対しても、模擬試験の結果から合否を予測できます。このとき、試験を受けてない生徒の予測に使うデータは、訓練データにおける説明変数と同じ項目です。


説明変数・・・予測をするために利用するデータのこと
例:国語の点数、数学の点数、社会の点数、公立校/私立高校在籍など、複数を活用することができる
目的変数・・・予測対象のデータのこと
例:試験に合格した場合は1、不合格の場合は0
訓練データ・・・傾向を捉えるのに利用するデータのこと
(ここでは、説明変数、目的変数のこと)
ロジスティック回帰は、確率で予測できる!
ロジスティック回帰では、予測結果を確率として考えることができます。「合格率70%です」「合格率20%です」というように、具体的な数値を得ることができるということです。
予測結果に対して、
・閾値 *を超えたら合格
・閾値未満であれば不合格
というように予測します。 (*区切りの基準になる値のこと)
単純に50%を超えたら合格と判定することもできますが、予測間違いに対する許容度で閾値を設定することもできます。
「予測で合格判定したにも関わらず、実際には不合格になってしまう生徒」を減らしたい場合は、閾値を70%のように高めに設定することで防げます。

ロジスティック回帰をもっと詳しく知りたい!
では、ロジスティック回帰の詳細に踏み込んでいきます。

という式で表せます。
f(x)は出力結果で、0.7や0.2のように予測した合格率です。プログラムと同じでfという関数(ここではロジスティック回帰)に、変数x(国語の点数や数学の点数のような説明変数)を引数にとり、合格率の予測結果を返します。
ここでxは配列のように複数の値を持つことができ、具体的には国語の点数や数学の点数などになります。式を見ると分かるように、βとxは掛け算されています。βは回帰係数と呼ばれ、国語の点数や数学の点数が合否に与える影響を調整します。
たとえば、国語の点数に対するβは2で数学の点数に対するβは0.5である時、国語の点数が 30点で数学の点数が50点の生徒においてβ⧵*xは、2⧵*30+0.5⧵*50=85となります。
また、αは切片に相当し変数xの影響を受けません。x、α、βによる計算結果を0から1の連続値になるように変換する式がロジスティック回帰になります。
f(x)を計算するには予測対象となるデータxの他に、αやβが必要です。これらの値は、訓練データの傾向を捉えることで得られます。このことを「学習する」と呼びます。
ロジスティック回帰で学習したモデルを使うことで、未知の事象に対して予測できるようになるのです。



第1話 機械学習の仕事内容って?実はコードを書くだけじゃない!
第2話 人工知能、機械学習、ディープラーニングの違いとは?
第3話 機械学習の活用事例!建設機械や回転寿司屋でも活用されている!?
第4話 機械学習したいのにデータがない!?
第5話 集計と可視化:pandasでデータの加工をしてみよう
第6話 続!集計と可視化:Plotlyでデータをグラフ化して傾向をとらえよう
・Twitterアカウント
・Amazon著者ページ
・Twitterアカウント
わかばちゃんが登場する書籍いろいろ