チャレンジ #231: Inspire 2023 グランプリ (ラウンド 3)
- RSS フィードを購読する
- トピックを新着としてマーク
- トピックを既読としてマーク
- このトピックを現在のユーザーにフロートします
- ブックマーク
- 購読
- ミュート
- 印刷用ページ
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- モデレーターに通知する
先週のチャレンジの回答はこちらで見つけることができます。
今週のチャレンジは、2023 年のインスパイア グランプリからインスピレーションを得た 3 部作のチャレンジの集大成となります。 これらの課題は、多くの企業が頻繁に直面する現実世界のシナリオを探ります。 前週の課題は空間的な問題に関連していましたが、前週はデータの準備と統合に焦点を当てていました。 この最後の課題では、予測ケースを詳しく掘り下げます。
レーサーがラスベガスで感じるのと同じ爽快感を体験したい場合は、説明書を 2 分間ざっと見て、タイマーをスタートして、正解を判断するまでにかかる時間を記録してください。 ワークフローを送信するときは、必ず時間を共有してください。
さあ始めましょう: 3、2、1、ゴー!
ACE で働くドライバーが最近シフト マネージャーに昇進したため、同社はドライバーのポジションを埋めるまで、毎週の食料収集スケジュールを 5 シフト減らす必要があります。
- 失敗する可能性が最も高い 5 つのシフトはどれですか?
ランダム フォレスト モデルを構築し、過去のジョブ データに基づいてキャンセルの可能性が最も高い 5 つの収集シフトを決定します。 フォレスト モデルの場合は、DistanceMiles、Hour、DayofWeek 列のみを予測子として使用します。
キャンセルデータについては、以下を計算する必要があります。
DayofWeek: 正確なフィールド名、その日の完全な名前、および (%A) 日付に基づいてジョブが発生しました。
仕事の状況:
- ジョブがキャンセルされた場合は、値「失敗」。
- ClosedReason 値に基づいてジョブが成功した場合は、値 Successful。 Successful の値は 01 または 02 で始まる ClosedReason であり、Unsuccessful の値はその他の値です。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- モデレーターに通知する
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- モデレーターに通知する
やってみたのですが合わせられませんでした
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- モデレーターに通知する
英語版のときもやったのですが、ちょっと結果に対して疑問が残りますね・・・。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- モデレーターに通知する
回答します。
英語版では合わなかった理由が分かった気がします。
英語版の解答ワークフローを見ても
なぜこのパラメータに"23"と入れるのか
がわからなかったのですが、
今回 "オーバーサンプリング" の説明を見直して、問題中に"23%"になる関係の数字を探したところ、
[Unsuccessfulの件数] / [Successfulの件数] = 23%
だったので、なんとなく(笑)わかった気がしました。
つまり、Successfulのほうが圧倒的に多いデータをスコアリングツールに入力する時に、
前のツールでモデルを作ったときに、Unsuccessfulのデータが少なかったので膨らませたよ
ということをスコアリングツールに教えてあげる必要があるが、その時には
膨らませたのはこの程度だよ
ということも教えてやる必要があって、これがこのパラメータの使い方なんだろうなと勝手に解釈しました。
ヘルプページの記述
『
ターゲットフィールドにはオーバサンプル値があります:
これらのフィールドは、実際のサンプルパーセンテージに一致するように適合した確率を調整するために使用されます。
以下を提供する場合に選択する:
・オーバサンプルされたターゲットフィールドの値: オーバサンプルフィールドの名前。
・オーバーサンプリングの前の元のデータのオーバサンプル値のパーセンテージ: オーバーサンプリング中に繰り返された値のパーセンテージ。
』
Workflow
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- モデレーターに通知する
@Yoshiro_Fujimori さん スポイラの解説で納得しました。そういうことでしたか・・・
「宅配の失敗率が23%ってことは常識的にないんだからオーバーサンプルされてるはずでしょ?」ということなのかも、ですが。。。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- モデレーターに通知する
@gawa さん
最後のパラメータが
各ツリーを作成するためにサンプリングするデータレコードの割合:
値を入力するか、上下の矢印を使用して、各ブートストラップ複製を形成するために、
推定サンプル全体のうちすべてを使用するのか、一部のみを使用するのかを制御します。
なので、これをデフォルト値の100と設定すると
自動的に多いほうのデータと同数までオーバーサンプリングしろ、と指示したことになるのだと理解します。
全部推測で確信はないのですが、普段 R言語で予測分析をしていれば、この辺の土地勘がでるようになるのでしょうかね...
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- モデレーターに通知する
これは、英語版のときも議論を呼んだやつですね・・・。
みなさんのおっしゃるとおり、スコアリングツールの設定を入れると見事結果が一致するのですが、そもそもtargetがオーバーサンプリングしてないですよね?と私は疑問を持っています。
オーバーサンプリングする場合は、オーバーサンプルフィールドツールを使って行うのがAlteryxでの基本的な手法と理解しています(実際はデータを間引いているのでアンダーサンプリングなのですが)。
いずれにしても、targetの数をあわせて不均衡な状態を均衡な状態にしましょう、というのがオーバーサンプリングですが、結局ランダムフォレストに突っ込んだときに、Unsuccessfulが少ないという不均衡なままになっています・・・。
ランダムフォレストのこちらのオプションですが、
レコードの割合とありますが、トレーニングデータのうちサンプリングして一部を使うのか、フルのトレーニングデータを使うのか、という意味で、100だとフルのトレーニングデータを使う、という意味だと私は解釈しています。
決して、targetの不均衡を是正するものではないとの認識です。
論拠は、ランダムフォレストのTool Masteryです
https://community.alteryx.com/t5/Alteryx-Designer-Desktop-Knowledge-Base/Tool-Mastery-Forest-Model/t...
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- モデレーターに通知する
ぴったり正解とはいきませんでした、