始める無料で始める

相関のある変数

最初にモデルへ追加された10個の変数は次のとおりです。

['max_gift', 'number_gift', 'time_since_last_gift', 'mean_gift', 'income_high', 'age', 'country_USA', 'gender_F', 'income_low', 'country_UK']

ご覧のとおり、min_gift は追加されていません。これは悪い変数という意味でしょうか? 単一変数としてモデルに入れて AUC を計算し、変数の性能を確かめてみましょう。min_gift の AUC は income_high の AUC と比べてどうでしょうか? そのために関数 auc() を使えます。

auc(variables, target, basetable)

良い変数でも、すでにモデルに入っている別の変数と強く相関しているために追加されないことがあります。これを確かめるには、次のように両者の相関を計算します。

import numpy
numpy.corrcoef(basetable["variable_1"],basetable["variable_2"])[0,1]

この演習はコースの一部です

Pythonで学ぶ予測分析入門

コースを見る

演習の手順

  • 変数 min_gift のみを使ったモデルの AUC を計算します。
  • 変数 income_high のみを使ったモデルの AUC を計算します。
  • 変数 min_giftmean_gift の相関を計算します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

import numpy as np

# Calculate the AUC of the model using min_gift only
auc_min_gift = auc([____], ["target"], ____)
print(round(auc_min_gift,2))

# Calculate the AUC of the model using income_high only
auc_income_high = ____([____], [____], ____)
print(round(auc_income_high,2))

# Calculate the correlation between min_gift and mean_gift
correlation = np.corrcoef(basetable["____"], basetable["____"])[0,1]
print(round(correlation,2))
コードを編集して実行