
【JKI】026_Modeling_Churn_Predictions_Part_4_01_XAIとKNIME
【JKI_026】課題を確認
Just KNIME It! (JKI)
今回の挑戦はこちら

シリーズ最終回です。
問題文をGoogle翻訳し少し加筆して以下に。
課題26:チャーン予測のモデリング-パート4
レベル:簡単
説明:一連のデータ分類の課題をまとめるために、以下の解約の問題をもう一度考えてみましょう。
通信会社は、アカウントの属性に基づいて、Churnする(チャーンつまり、契約をキャンセルする)顧客を予測することを求めています。
テストデータで予測されるターゲットクラスはChurnです(値0はチャーンしない顧客に対応し、1はチャーンする顧客に対応します)。
問題の適切なモデルをすでに見つけており、パフォーマンスを少し向上させるためにトレーニングデータを設計しました。
今、あなたの任務はあなたが見出だした結果を視覚的に伝えることです。具体的には、次のようなダッシュボードを作成します。
1. 両方のクラスのパフォーマンスを示します(ここでは、適合率や再現率など、任意の指標に焦点を当てることができます)
2. モデルにとっての重要度に基づいて特徴量をランク付けします
3. Local Explanation View コンポーネントを使用して、いくつかの単一の予測、特に擬陽性(FP)と偽陰性(FN)を説明します
【予測モデルの性能振り返り】
今回の課題の比較対象は、前回作った上記の分類モデルとなります。
その予測結果を見てみます。
SMOTEを行った後XGBoost Treesで構築したモデルが最も望ましい結果を与えました。



今回は公式解答のWFの転用はしません。自分の提出したWFの上記モデルに関しての解析となります。その理由は後ほど感想戦にて書きます。
【XAI】
XAI (Explainable AI:説明可能なAI)はとても重要な技術です。ビジネス用途の機械学習による予測モデルには特によく求められる性能だと思います。予測結果だけではなくて、その予測に至った要因も含めた情報があると予測が信頼できそうか人間が判断しうるという考え方だと思います。
(参考)
今回は人間が選抜した特徴量を使っているし、深層学習ではないモデルなので比較的説明しやすいし、理解不能ではないと期待します。
ただし、KNIMEでなかったらきっと実装はなかなか大変だろうと思います。KNIMEは今回の課題それぞれ1つのノードか公式コンポーネントで対応可能です。機械学習分野での技術支援が近年手厚くなっていると思います。
【ダッシュボード3種の参考情報】
両方のクラスのパフォーマンスを示します(ここでは、適合率や再現率など、任意の指標に焦点を当てることができます)
モデルにとっての重要度に基づいて特徴量をランク付けします
Local Explanation View コンポーネントを使用して、いくつかの単一の予測、特に擬陽性(FP)と偽陰性(FN)を説明します
のそれぞれに解答するにあたって参考にした、あるいは「インスパイアされた」情報を下記に紹介しておきます。
1. はTeachOpenCADD-KNIMEのW7
2.は
の記事から
3.は大ヒントが出ていました。
いやまあ答えそのものですよねこのコンポーネント。
各技術の理解となりますと難易度は爆上がりですが、何も考えないでコピペするだけならば確かに簡単です。そう、怖いくらいに。
おかげさまで生成した機械学習モデルを調査する方法は知ることができたので、次回は提出したWFの解説へ進めます。
KNIME Hubに解答は上げています。
おまけ:
【JKI_025 感想戦】
今回の公式解答はこちら。

SMOTEを使うのは上述の私の解答と一緒ですが、パラメータチューニングを自動化していて素敵。
ただこのWF、またもKNIME APVer.4.4系では動かせないです。Loop Endノードがバージョンアップで機能追加されたためです。
しかも残念ながら私では記載の予測性能が再現できませんでした。Loop Endノードだけ入れ替えてWFを再実行してみたんですが、Cohen’s Kappaが0.8を超えることはなかったです。乱数発生のSeedも固定してあるし、再現性が出ないなんてありえない…て思いつつ今回の課題への転用をあきらめたという次第でした。
こんなことあるんですね。理由がわかる方、私に教えていただけないでしょうか。
いいなと思ったら応援しよう!
