見出し画像

地方学部生がロジスティック回帰モデルについてアウトプットしてみた

ロジスティック回帰モデルとは

概要

主に、「0と1」「陽性と陰性」「真と偽」などの2クラス分類をするための分析モデルです。また、解釈が比較的容易なモデルであるため、実務に活用されやすいモデルの一つです。
※名前に「回帰」とありますが、実際には「分類」のタスクを扱うことに注意が必要です。

シグモイド関数

「0~1」の範囲に収まる値を返してくれる関数で、ロジスティック回帰モデルの根幹部分になります。入力値(x)はシグモイド関数の結果に与える影響は、次のとおりです。

入力値(x)が
・正の大きな値の場合
 シグモイド関数の結果は1に近づく

・負の小さな値の場合
 シグモイド関数の結果は0に近づく

・0の場合
 シグモイド関数の結果は0.5になる

⇩式はこちら

$$
S(x)= \frac{1}{1+e^{-x}}
$$

活用場面

1.商品の購買予測

「顧客の属性」「過去の購買履歴」「市場の現状」などの情報を使って、「この人は何をいつ買いそうか」を予測できます。これによって、商品の在庫管理の効率化や顧客へのアプローチのタイミングを最適化することができます。

AIによる購買予測とは?導入メリットや課題について徹底解説| 顧客エンゲージメントプラットフォームBraze(ブレイズ)

2.サブスクリプションサービスの継続予測

「顧客の属性」「嗜好」「市場の傾向」などの情報を使って、「この人は1カ月以内にサブスクを解約しそうか」を予測できます。これによって、顧客のニーズに合わせた的確なプランやサービスの提供が可能になり、顧客ロイヤルティの向上につなげることができます。

サブスクビジネスの成功を導くAI予測 退会傾向を予測しサービスの質向上へ | AI予測さくらさん | AIさくらさん (tifana.ai)

3.病気の予測

「性別」「年齢」「体重」などの健康診断データを使って、「将来、この人が病気になりそうか」を予測することができます。これによって、病気になる前にリスクを数値化し、生活習慣の改善につなげることができます。

疾病リスク予測AIサービス | 東芝デジタルソリューションズ (global.toshiba)

4.不正の検知予測

「顧客の取引データ」「アクティビティのデータ」などのデータを使い、「この人が不正をしそうか」を予測することができます。これによって、不正に素早く対応できるようになったり、不正検知の業務を効率化することができます。

AI 不正・リスク検知サービス for アンチ・マネーローンダリング(AML) : FinTech |NEC
AIが不正検知にも進出?メリットや注意点、ソリューション事例をご紹介 - 不正検知Lab -フセラボ- by cacco

Pythonでの実装

Pythonのコードと使用するデータ

今回は、scikit-learnライブラリに入っている、の乳がん検査のデータセット(load_breast_cancer)を用います。

# インポート
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, classification_report

# データセットの読み込み
data = load_breast_cancer()

# 特徴量とターゲットに分割
X = data.data
y = data.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)

# テストデータに対する予測
predictions = model.predict(X_test)

# モデルの評価
accuracy = accuracy_score(y_test, predictions)
print(f"Accuracy: {accuracy}")

report = classification_report(y_test, predictions)
print(f"Classification Report:\n{report}")

出力結果

Accuracy: 0.956140350877193
Classification Report:
              precision    recall  f1-score   support

           0       0.97      0.91      0.94        43
           1       0.95      0.99      0.97        71

    accuracy                           0.96       114
   macro avg       0.96      0.95      0.95       114
weighted avg       0.96      0.96      0.96       114

正解率(Accuracy)0.956という結果が出ました。
ロジスティック回帰モデルでは、「正解率」のほかにも、「適合率(precision)」や「再現率(recall)」、「F1-score(f1-score)」などの評価指標が用いられることがあります。
※supportの値は、それぞれのクラスに分類されたデータ数を表しています。

参考文献

ロジスティック回帰分析とは?使える場面や実装まで徹底解説! (cacco.co.jp)


この記事が気に入ったらサポートをしてみませんか?