【ウーバーイーツ】チップ発生とk最近傍法【沖縄市】
前々回、マハラノビス距離を用いて判別分析を行ってみた。今回は、k最近傍法(K-NN法)を使って、判別分析を行ってみる。
参考書籍・資料
主な参考箇所 13 線形判別分析 14 非線形判別分析
概要
k最近傍法(K-NN法)について調べる
↓
判別分析を行う
使用するデータ
使用するデータは、私の配達データ。
期間は、2021年7月1日~9月30日。
上記期間の総配達件数は、855件。※ ダブルピックも1件とカウント。
k最近傍法(K-NN法)について
非線形判別分析について調べていたところ、以下の文章を見つけた。
k最近傍(k-Nearest Neighbor)法(k最近隣法、k-NN法とも言う)は伝統的なパターン分類アルゴリズムである(Cover and Hart、1967)。 k最近傍法では判別すべき固体の周辺の個体で最も近いものをk個見つけ、そのk個の多数決により、どのグループに属するかを判断する。
とてもシンプルで分かりやすい判別方法だ。wikipediaに図があったので引用する。
上記の図の場合、k = 3 だと実線の範囲内での多数決なので、緑丸は三角の仲間と判別される。k = 5 だと点線の範囲内での多数決なので、緑丸は四角の仲間と判別される。
今回のチップの有無で考えると、
ベース料金と外国人への配達か否かが軸となる平面があり、その上にデータがプロットされ、そのプロットにチップありかなしかで色分けされている感じだろう。
判別分析を行う
さっそく、k最近傍法(K-NN法)で判別分析を行ってみる。
7~8月の配達データを学習データ、9月の配達データをテストデータとする。
> data.knn <- knn(data[-1],data_test [-1],data[,1],k = 5) > table(data.knn,data_test[,1]) data.knn 0 1 0 132 60 1 34 22
結果を表にまとめる。
テストデータ | |||
有 | 無 | ||
判別結果 | 有 | 22 | 34 |
無 | 60 | 132 |
テストデータ | |||
有 | 無 | ||
判別結果 | 有 | 39.29% | 60.71% |
無 | 31.25% | 68.75% |
判別結果でチップありの場合、正判別率は約40%、チップなしの場合、正判別率は約69%となった。チップありと予想した場合、6割の確率で外すという結果になってしまった。
まとめ
今回は、k最近傍法を用いて、チップの有無の判別を行ってみた。結果、正判別率が低くなってしまった。データの構造によって、適切な判別方法があるのだろう。
コメント