質問編集履歴

3

追記2(検証用データによるモデルの評価について)

2023/12/24 15:28

投稿

noukanokurashi
noukanokurashi

スコア4

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
- データに何も前処理せず、決定木を実装し、cpの調整を行ましたが、結果は変わりませんでした。
238
+ ### 追記2(検証用データによるモデルの評価て)
241
- ```R
239
+ ```R
240
+ #学習用データを用いて決定木モデルを作成
241
+ install.packages("rpart")
242
+ library(rpart)
242
- cust <- read.csv(file = "cust1.csv")
243
+ install.packages("partykit")
243
- model.rp <- rpart(hotel~., data = cust)
244
+ library(partykit)
244
- model.rp <- prune(model.rp, cp=0.001)
245
- model.rpo <- as.party(model.rp)
245
+ install.packages("dplyr")
246
+ library(dplyr)
246
- plot(model.rpo)
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
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-12-22/f6e0828d-13e0-4ca6-90d8-a4c323a75a14.png)
263
+ https://www.appsloveworld.com/r/100/148/invalid-prediction-for-rpart-object-error
249
-
250
-

2

追記1

2023/12/22 08:16

投稿

noukanokurashi
noukanokurashi

スコア4

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のダウンロードリンクを明記

2023/12/21 04:04

投稿

noukanokurashi
noukanokurashi

スコア4

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 性別