【ウーバーイーツ】配達データで作成した決定木を用いて判別を行ってみる【沖縄市】
前回、配達データで決定木を作成してみた。

【ウーバーイーツ】配達データで決定木を作成してみた【沖縄市】
【ウーバーイーツ】配達データで決定木を作成してみた【沖縄市】 ※決定木を使いたかっただけの記事 参考書籍・資料 主な参考箇所 15 ツリーモデル 概要 扱うデータの確認 ↓ 決定木について調べる ...
今回は、作成した決定木を用いて判別を行ってみる。
参考書籍・資料
Rによるデータサイエンス(第2版):データ解析の基礎から最新手法まで | 金 明哲 |本 | 通販 | Amazon
Amazonで金 明哲のRによるデータサイエンス(第2版):データ解析の基礎から最新手法まで。アマゾンならポイント還元本が多数。金 明哲作品ほか、お急ぎ便対象商品は当日お届けも可能。またRによるデータサイエンス(第2版):データ解析の基礎から最新手法までもアマゾン配送商品なら通常配送無料。
主な参考箇所 15 ツリーモデル
概要
扱うデータの確認
↓
判別を行う
使用するデータ
使用するデータは、私の配達データ。
期間は、2021年5月10日~10月31日。
上記期間の総配達件数は、1528件。※ ダブルピックも1件とカウント。
扱うデータの確認
前回同様に、3店舗の配達データを扱う。
合計配達単価 | ベース料金 | 配達調整金 | 店舗 | |
1 | 301 | 127 | 207 | マクドナルド コザ十字路店(A) |
2 | 329 | 132 | 219 | マクドナルド コザ十字路店(A) |
… | … | … | … | … |
62 | 406 | 150 | 284 | らあめん花月嵐 美里(B) |
… | … | … | … | … |
135 | 632 | 185 | 230 | A&W 美里店(C) |
… | … | … | … | … |
今回は、判別を行うために、学習用データとテストデータを分ける必要がある。
分け方は、偶数・奇数とする。
学習用データ↓
store | ベース料金 | 配達調整金 | 店舗 | |
1 | A | 127 | 207 | マクドナルド コザ十字路店 |
3 | A | 135 | 373 | マクドナルド コザ十字路店 |
5 | A | 115 | 272 | マクドナルド コザ十字路店 |
… | … | … | … | … |
テスト用データ↓
store | ベース料金 | 配達調整金 | 店舗 | |
2 | A | 132 | 219 | マクドナルド コザ十字路店 |
4 | A | 126 | 181 | マクドナルド コザ十字路店 |
6 | A | 125 | 378 | マクドナルド コザ十字路店 |
… | … | … | … | … |
判別を行う
学習用データを用いて決定木のモデルを作成する。
#奇数番号(学習用データ)を用いて決定木を作成 data_train <- read.table("clipboard",header = TRUE) data$store <- as.factor(data$store) library(rpart) set.seed(1) data.rp <- rpart(store~.,data=data) print(data.rp,digits=2) plot(data.rp, uniform=T, branch=0.5, margin=0.1) text(data.rp, use.n=T, all=T)
結果↓
前回同様に、cpの値を調整する。
plotcp(data.rp)
上の図より、0.19あたりが適切と分かる。
cp値を変更し、決定木を再度作成する。
data.rp2 <- prune(data.rp,cp=0.19) plot(data.rp2, uniform=T, branch=0.5, margin=0.1) text(data.rp2, use.n=T, all=T)
上記のモデルを用いて、判別を行ってみる。
data_test <- read.table("clipboard",header = TRUE) data.rp3 <- predict(data.rp2,data_test[,-1],type="class") table(data_test[,1],data.rp3)
結果↓
判別結果 | ||||
A | B | C | ||
テストデータ | A | 25 | 5 | 0 |
B | 4 | 33 | 0 | |
C | 10 | 18 | 0 |
Aと判別したデータが、実際にAだった場合が39個中25個。
Bと判別したデータが、実際にBだった場合が56個中33個。
Cと判別したデータはなかった。
結果、正しく判別できた個数が58個、正しく判別できなかった個数が37個となり、誤判別率が0.39となった。
まとめ
今回は、作成した決定木で判別を行ってみた。
結果、ベース料金と配達調整金額のみでの店舗ABCの判別は難しいと分かった。
コメント