はじめに
こんにちは。今回は、去年の本試験の合否データを使って、自分が今年進級できるかどうかをロジスティック回帰で予測してみました。結果は特異度100%、感度50%。この数字、どういう意味か気になりますよね?ここではその内容と実験の流れを紹介していきます。
進級予測ってできるの?
進級がかかっているテストは、まさに人生の一大事ですよね。私たち医学生にとって、再試験の結果がどうなるかは神のみぞ知る…と言いたいところですが、本試験の結果を使って進級を予測できないか、ちょっと試してみました。
データの準備
まず、去年の全ての本試験の合否をデータ化しました。
これを説明変数(入力データ)として使います。各試験は合格: 1、不合格: 0という形でバイナリ化しました。そして、進級できたかどうかを目的変数(ターゲット)にしました。進級したら1、進級できなければ0です。
データ例
試験1 | 試験2 | 試験3 | 進級 |
---|---|---|---|
1 | 1 | 0 | 1 |
1 | 0 | 1 | 0 |
0 | 1 | 1 | 1 |
このように、試験ごとの合否をバイナリで表現し、進級結果もバイナリにしてロジスティック回帰で分析します。
ロジスティック回帰で予測!
ロジスティック回帰は、入力データをもとに0か1かの2値を予測するのに適しています。つまり、各試験の合否データから「進級できるかどうか」を予測することができるんです。
ロジスティック回帰とは?
ロジスティック回帰は、分類問題に使われる統計モデルで、与えられた入力データ(説明変数)が、0 か 1(もしくは Yes か No、合格 か 不合格 など)の2つのクラスのうち、どちらに分類されるかを予測する方法です。
例えば、この実験では、本試験の合否結果をもとに、「進級できるか?」を予測しています。ロジスティック回帰の結果は、0から1の間の値として出てきますが、最終的にその値が 0 に近ければ「進級できない」、1 に近ければ「進級できる」という判断をします。
ロジスティック回帰の特徴は、「確率」で結果を表すことです。例えば、「70%の確率で進級できる」という形で、どちらのクラスに属する可能性が高いかを予測するための手法です。
コードの簡単な説明
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import confusion_matrix, accuracy_score
# データの準備(ここでは仮のデータフレームを使っています)
data = {
'試験1': [1, 1, 0, 1, 0],
'試験2': [1, 0, 1, 0, 1],
'試験3': [0, 1, 1, 1, 0],
'進級': [1, 0, 1, 1, 0]
}
df = pd.DataFrame(data)
# 説明変数と目的変数に分ける
X = df[['試験1', '試験2', '試験3']]
y = df['進級']
# モデルを定義して学習
model = LogisticRegression()
model.fit(X, y)
# 予測
y_pred = model.predict(X)
# 結果の評価
cm = confusion_matrix(y, y_pred)
accuracy = accuracy_score(y, y_pred)
print("Confusion Matrix:")
print(cm)
print(f"Accuracy: {accuracy}")
このコードでは、試験の結果(説明変数)を使って、進級できるか(目的変数)をロジスティック回帰で予測しています。confusion_matrix
で結果の評価もできます。
結果は…特異度100%、感度50%!
結果の意味
ロジスティック回帰の結果として留年の予測は、特異度100%, **感度50%**が出ました。
特徴量の重要さから見えた真実!「予備校の映像講義じゃ太刀打ちできない、大学独自の講座がリスクファクター」
ロジスティック回帰のもう一つの強みは、各特徴量の重要度を定量化できることです。つまり、どの試験が進級にどれだけの影響を与えているかがはっきりします。ここで驚くべき事実が発覚しました!
実は、医学部生用予備校の映像講義で対策できる試験ではなく、この大学特有の講座を落とした学生が、進級できないリスクが大きくなるという結果が出たんです。具体的には、「大学独自のカラーが強い試験」、つまり先生たちが強調する重要事項や、臨床現場を意識した内容が中心の講座を落とすと、留年リスクが急上昇するんです。
どうやってわかったのか?
ロジスティック回帰で各試験の合否データを使って進級を予測した際、いくつかの科目が他に比べて非常に重みを持っていることがわかりました。これらの科目は、予備校の映像講義や過去問対策ではカバーしきれない内容で、先生たちの独自の考えや臨床経験が色濃く反映された講座だったんです。
つまり、予備校の映像講義だけで対策していると、大学特有の試験で苦戦して進級リスクが大幅に上がるということが、データからもはっきりしたんです!
まとめ
ロジスティック回帰を使って去年の本試験の合否から今年の進級を予測してみましたが、留年予測の結果は特異度100%、感度50%。進級できる人は完璧に予測できた一方、進級できない人は完全に当てるのは難しかったです。医学生ならではの進級予測ですが、データサイエンスの力を使えば、未来の自分の進級も予測できるかも?