質問編集履歴
3
追記2(検証用データによるモデルの評価について)
test
CHANGED
File without changes
|
test
CHANGED
@@ -235,16 +235,29 @@
|
|
235
235
|
|
236
236
|
R Gui 4.3.2 (Windows版)
|
237
237
|
|
238
|
-
|
239
|
-
### 追記1
|
240
|
-
データに
|
238
|
+
### 追記2(検証用データによるモデルの評価について)
|
241
|
-
```R
|
239
|
+
```R
|
240
|
+
#学習用データを用いて決定木モデルを作成
|
241
|
+
install.packages("rpart")
|
242
|
+
library(rpart)
|
242
|
-
|
243
|
+
install.packages("partykit")
|
243
|
-
|
244
|
+
library(partykit)
|
244
|
-
model.rp <- prune(model.rp, cp=0.001)
|
245
|
-
|
245
|
+
install.packages("dplyr")
|
246
|
+
library(dplyr)
|
246
|
-
|
247
|
+
model <
|
248
|
+
rpart(hotel~., data = custTrain, cp=0.002, method=' anova')
|
249
|
+
plot(as.party(model), type='simple')
|
250
|
+
|
251
|
+
# 未知データ(検証用データ)に対して予測を行う
|
252
|
+
threshold <- 0.1
|
253
|
+
model.pred <- predict(model, newdata = custTest, type = "vector") >= threshold
|
254
|
+
table(model.pred, custTest[,4])
|
247
|
-
```
|
255
|
+
```
|
256
|
+
実行結果
|
257
|
+
```
|
258
|
+
model.pred 0 1
|
259
|
+
FALSE 29647 1434
|
260
|
+
TRUE 7825 1526
|
261
|
+
```
|
262
|
+
そもそも閾値を0.5にした時点でFALSEの判定(hote=0)しか表示されない点で何かがおかしいと感じております。type = "vector"としているのは、以下のサイトを参考にしたためです。
|
248
|
-
|
263
|
+
https://www.appsloveworld.com/r/100/148/invalid-prediction-for-rpart-object-error
|
249
|
-
|
250
|
-
|
2
追記1
test
CHANGED
File without changes
|
test
CHANGED
@@ -224,7 +224,7 @@
|
|
224
224
|
higher.other = quantile(cust.1$other, probs=0.99)
|
225
225
|
cust.1$other <- ifelse(cust.1$other>higher.other, NA, cust.1$other)
|
226
226
|
higher.usage = quantile(cust.1$usage, probs=0.99)
|
227
|
-
cust.1$usage <- ifelse(cust.1$usage>higher.usage, NA, cust.1$usage)
|
227
|
+
cust.1$usage <- ifelse(cust.!1$usage>higher.usage, NA, cust.1$usage)
|
228
228
|
# 欠損値の削除
|
229
229
|
cust.1 <- na.omit(cust.1)
|
230
230
|
summary(cust.1)
|
@@ -235,3 +235,16 @@
|
|
235
235
|
|
236
236
|
R Gui 4.3.2 (Windows版)
|
237
237
|
|
238
|
+
|
239
|
+
### 追記1
|
240
|
+
データに何も前処理せずに、決定木を実装し、cpの調整を行いましたが、結果は変わりませんでした。
|
241
|
+
```R
|
242
|
+
cust <- read.csv(file = "cust1.csv")
|
243
|
+
model.rp <- rpart(hotel~., data = cust)
|
244
|
+
model.rp <- prune(model.rp, cp=0.001)
|
245
|
+
model.rpo <- as.party(model.rp)
|
246
|
+
plot(model.rpo)
|
247
|
+
```
|
248
|
+
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-12-22/f6e0828d-13e0-4ca6-90d8-a4c323a75a14.png)
|
249
|
+
|
250
|
+
|
1
cust1.csvのダウンロードリンクを明記
test
CHANGED
File without changes
|
test
CHANGED
@@ -5,7 +5,9 @@
|
|
5
5
|
|
6
6
|
### 前提
|
7
7
|
|
8
|
-
R言語を用いて、データ「[cust1.csv](https://ux.getuploader.com/subtest/download/1)」の決定木分析を行いたいです。
|
8
|
+
R言語を用いて、データ「[cust1.csv](https://ux.getuploader.com/subtest/download/1)」の決定木分析を行いたいです。cust1.csvはこちらのリンクからダウンロードできます。
|
9
|
+
https://ux.getuploader.com/subtest/download/1
|
10
|
+
|
9
11
|
cust1.csvのデータ項目は以下の通りで、目的変数がhotel、説明変数がidを除くそれ以外となっています。
|
10
12
|
```
|
11
13
|
gender 性別
|