predict_proba
次のコードを実行したときの出力として、正しいものを1つ選べ。
import numpy as np
from sklearn.linear_model import LogisticRegression
X = np.array([[0], [1], [2], [3]])
y = np.array([0, 0, 1, 1])
p = LogisticRegression().fit(X, y).predict_proba(X)
print(p.shape, bool(np.allclose(p.sum(axis=1), 1)))
- A
(4,) True - B
(2, 4) True - C
(4, 2) False - D
(4, 2) True
正解と解説を見る
正解:D
predict_proba は、各クラスの確率を返す。predict は確率の高いクラスを返す。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `import numpy as np` | — |
| 2 | `from sklearn.linear_model import LogisticRegr…` | — |
| 3 | `X = np.array([[0], [1], [2], [3]])` | X = [[0], [1], [2], [3]] |
| 4 | `y = np.array([0, 0, 1, 1])` | y = [0, 0, 1, 1] |
| 5 | `p = LogisticRegression().fit(X, y).predict_pr…` | p = [[0.8080488691252322, 0.191951130874767…, X = [[0], [1], [2], [3]… |
| 6 | `print(p.shape, bool(np.allclose(p.sum(axis=1)…` | p = [[0.8080488691252322, 0.191951130874767… |
| 結果 | 実際の出力 | (4, 2) True |
- A
誤り。クラスごとの確率が返るので、2 列。
- B
誤り。行がデータ、列がクラス。
- C
誤り。確率の合計は 1。
- D
正しい。各データについて、2 つのクラスの確率が返り、合計は 1。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。