Kolmogorov-Smirnov 検定によるデータドリフトの検出
心疾患予測モデルをデプロイした後、パフォーマンスと入力データを継続的に監視してきました。2月に収集した最新データでは、いくつかの主要特徴量の分布が、1月に学習に使ったデータと少し異なって見えます。このような差異はモデル性能に影響する可能性があるため、早期に検出して対処することが重要です。
この演習では、Kolmogorov-Smirnov(K-S)検定を使って、1月と2月のデータセット間にデータドリフトの兆候がないかを検出します。サンプルデータセット january_data と february_data はすでに読み込まれています。
この演習はコースの一部です
End-to-End Machine Learning
演習の手順
scipy.statsモジュールからks_2samp関数をインポートします。- 提供されたサンプルデータセット
january_dataとfebruary_dataを用いて Kolmogorov-Smirnov 検定を実行し、検定統計量と p-value を計算します。 - p-value が 0.05 未満であればデータドリフトありと判断します。データドリフトが検出された場合は
"Data drift detected."、検出されなかった場合は"No data drift detected."と出力してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import the ks_2samp function
from ____.____ import ____
# Calculate the test statistic and p value
test_statistic, p_value = ____(____, ____)
# Check the p-value and print the detection result
if ____:
print("Data drift detected.")
else:
print("No data drift detected.")