特徴量の重要度
次のコードを実行したときの出力として、正しいものを1つ選べ。
import numpy as np
from sklearn.ensemble import RandomForestClassifier
X = np.array([[0, 1], [1, 0], [0, 0], [1, 1]] * 5)
y = np.array([0, 1, 0, 1] * 5)
m = RandomForestClassifier(n_estimators=20, random_state=0).fit(X, y)
print(round(float(m.feature_importances_.sum()), 3))
- A
2.0 - B
0.5 - C
1.0 - D
0.0
正解と解説を見る
正解:C
ランダムフォレストなどの feature_importances_ は、各特徴量の重要度を表し、合計が 1。どの特徴量が予測に効いているかの目安になる。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `import numpy as np` | — |
| 2 | `from sklearn.ensemble import RandomForestClas…` | — |
| 3 | `X = np.array([[0, 1], [1, 0], [0, 0], [1, 1]]…` | X = [[0, 1], [1, 0], [0, 0], [1, 1], [0, 1]… |
| 4 | `y = np.array([0, 1, 0, 1] * 5)` | y = [0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,… |
| 5 | `m = RandomForestClassifier(n_estimators=20, r…` | X = [[0, 1], [1, 0], [0, 0], [1, 1], [0, 1]…, y = [0, 1, 0, 1, 0, 1, … |
| 6 | `print(round(float(m.feature_importances_.sum(…` | — |
| 結果 | 実際の出力 | 1.0 |
- A
誤り。特徴量の数ではなく、合計は 1。
- B
誤り。重要度の合計は 1。
- C
正しい。特徴量の重要度は、合計が 1 になるように正規化されている。
- D
誤り。合計は 1。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。