This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.

Try executing this chunk by clicking the Run button within the chunk or by placing your cursor inside it and pressing Cmd+Shift+Enter.

suppressWarnings(library(rpart))
suppressWarnings(library(rpart.plot))
suppressWarnings(library(ISLR))
suppressWarnings(library(knitr))
suppressWarnings(library(caret))
挼㸷攼㸰攼㸳昼㸰昼㸳攼㸷攼㹡攼㸰 昼㸲昼㸰攼㸵攼㸱昼㸳攼㸵攼㹣攼㹥攼㸳攼㹥 攼㹦攼㸰攼㹡攼㸵昼㸲攼㸰: lattice
挼㸷攼㸰攼㸳昼㸰昼㸳攼㸷攼㹡攼㸰 昼㸲昼㸰攼㸵攼㸱昼㸳攼㸵攼㹣攼㹥攼㸳攼㹥 攼㹦攼㸰攼㹡攼㸵昼㸲攼㸰: ggplot2
Registered S3 method overwritten by 'dplyr':
  method           from
  print.rowwise_df     
Registered S3 method overwritten by 'data.table':
  method           from
  print.data.table     
suppressWarnings(library(MASS))
data <- read.table("data\\test_sample.csv", header=T, sep=",")
set.seed(1)
fitRTREE <- rpart(Y~X1+X2+X3, data=data, method='poisson', control=rpart.control(cp = 0))
best.CP = fitRTREE$cptable[which.min(fitRTREE$cptable[,"xerror"]),"CP"]
set.seed(1)
prunedTree <- prune(fitRTREE, cp = best.CP)
printcp(prunedTree)

Rates regression tree:
rpart(formula = Y ~ X1 + X2 + X3, data = data, method = "poisson", 
    control = rpart.control(cp = 0))

Variables actually used in tree construction:
character(0)

Root node error: 3786.9/1000 = 3.7869

n= 1000 

        CP nsplit rel error xerror     xstd
1 0.013395      0         1 1.0089 0.088701
set.seed(1)
glmnbfit <- glm.nb(Y~X1+X2+X3, data=data)
rmse <- function(x) sqrt(mean(x^2))
treeRmse<-rmse(resid(prunedTree))
glmnbfitRmse<-rmse(glmnbfit$residuals)
set.seed(1)
predict(prunedTree, newdata=data.frame(Y=0, X1=4, X2=4, X3=4))
[1] 1.604
set.seed(1)
predict(glmnbfit, newdata=data.frame(Y=0, X1=4, X2=4, X3=4))
        1 
0.2818191 
pred0Tree<-dpois(0,lambda=predict(prunedTree, newdata=data.frame(Y=0, X1=4, X2=4, X3=4)))
mu<-predict(glmnbfit,data.frame(Y=0, X1=4, X2=4, X3=4),type="response")
pred0glmnb<-dnbinom(0,mu=mu,size=glmnbfit$theta)
glmnbfitRmse
[1] 2.131581
treeRmse
[1] 3.423621
pred0glmnb
[1] 0.5262645
pred0Tree
[1] 0.2010905

Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Cmd+Option+I.

When you save the notebook, an HTML file containing the code and output will be saved alongside it (click the Preview button or press Cmd+Shift+K to preview the HTML file).

The preview shows you a rendered HTML copy of the contents of the editor. Consequently, unlike Knit, Preview does not run any R code chunks. Instead, the output of the chunk when it was last run in the editor is displayed.

LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpUaGlzIGlzIGFuIFtSIE1hcmtkb3duXShodHRwOi8vcm1hcmtkb3duLnJzdHVkaW8uY29tKSBOb3RlYm9vay4gV2hlbiB5b3UgZXhlY3V0ZSBjb2RlIHdpdGhpbiB0aGUgbm90ZWJvb2ssIHRoZSByZXN1bHRzIGFwcGVhciBiZW5lYXRoIHRoZSBjb2RlLiANCg0KVHJ5IGV4ZWN1dGluZyB0aGlzIGNodW5rIGJ5IGNsaWNraW5nIHRoZSAqUnVuKiBidXR0b24gd2l0aGluIHRoZSBjaHVuayBvciBieSBwbGFjaW5nIHlvdXIgY3Vyc29yIGluc2lkZSBpdCBhbmQgcHJlc3NpbmcgKkNtZCtTaGlmdCtFbnRlciouIA0KYGBge3J9DQpzdXBwcmVzc1dhcm5pbmdzKGxpYnJhcnkocnBhcnQpKQ0Kc3VwcHJlc3NXYXJuaW5ncyhsaWJyYXJ5KHJwYXJ0LnBsb3QpKQ0Kc3VwcHJlc3NXYXJuaW5ncyhsaWJyYXJ5KElTTFIpKQ0Kc3VwcHJlc3NXYXJuaW5ncyhsaWJyYXJ5KGtuaXRyKSkNCnN1cHByZXNzV2FybmluZ3MobGlicmFyeShjYXJldCkpDQpzdXBwcmVzc1dhcm5pbmdzKGxpYnJhcnkoTUFTUykpDQpgYGANCg0KYGBge3J9DQpkYXRhIDwtIHJlYWQudGFibGUoImRhdGFcXHRlc3Rfc2FtcGxlLmNzdiIsIGhlYWRlcj1ULCBzZXA9IiwiKQ0KYGBgDQpgYGB7cn0NCnNldC5zZWVkKDEpDQpmaXRSVFJFRSA8LSBycGFydChZflgxK1gyK1gzLCBkYXRhPWRhdGEsIG1ldGhvZD0ncG9pc3NvbicsIGNvbnRyb2w9cnBhcnQuY29udHJvbChjcCA9IDApKQ0KYmVzdC5DUCA9IGZpdFJUUkVFJGNwdGFibGVbd2hpY2gubWluKGZpdFJUUkVFJGNwdGFibGVbLCJ4ZXJyb3IiXSksIkNQIl0NCmBgYA0KYGBge3J9DQpzZXQuc2VlZCgxKQ0KcHJ1bmVkVHJlZSA8LSBwcnVuZShmaXRSVFJFRSwgY3AgPSBiZXN0LkNQKQ0KcHJpbnRjcChwcnVuZWRUcmVlKQ0KYGBgDQpgYGB7cn0NCnNldC5zZWVkKDEpDQpnbG1uYmZpdCA8LSBnbG0ubmIoWX5YMStYMitYMywgZGF0YT1kYXRhKQ0KYGBgDQpgYGB7cn0NCnJtc2UgPC0gZnVuY3Rpb24oeCkgc3FydChtZWFuKHheMikpDQpgYGANCmBgYHtyfQ0KdHJlZVJtc2U8LXJtc2UocmVzaWQocHJ1bmVkVHJlZSkpDQpgYGANCmBgYHtyfQ0KZ2xtbmJmaXRSbXNlPC1ybXNlKGdsbW5iZml0JHJlc2lkdWFscykNCmBgYA0KDQpgYGB7cn0NCnNldC5zZWVkKDEpDQpwcmVkaWN0KHBydW5lZFRyZWUsIG5ld2RhdGE9ZGF0YS5mcmFtZShZPTAsIFgxPTQsIFgyPTQsIFgzPTQpKQ0KYGBgDQpgYGB7cn0NCnNldC5zZWVkKDEpDQpwcmVkaWN0KGdsbW5iZml0LCBuZXdkYXRhPWRhdGEuZnJhbWUoWT0wLCBYMT00LCBYMj00LCBYMz00KSkNCmBgYA0KYGBge3J9DQpwcmVkMFRyZWU8LWRwb2lzKDAsbGFtYmRhPXByZWRpY3QocHJ1bmVkVHJlZSwgbmV3ZGF0YT1kYXRhLmZyYW1lKFk9MCwgWDE9NCwgWDI9NCwgWDM9NCkpKQ0KYGBgDQpgYGB7cn0NCm11PC1wcmVkaWN0KGdsbW5iZml0LGRhdGEuZnJhbWUoWT0wLCBYMT00LCBYMj00LCBYMz00KSx0eXBlPSJyZXNwb25zZSIpDQpwcmVkMGdsbW5iPC1kbmJpbm9tKDAsbXU9bXUsc2l6ZT1nbG1uYmZpdCR0aGV0YSkNCmBgYA0KYGBge3J9DQpnbG1uYmZpdFJtc2UNCnRyZWVSbXNlDQpwcmVkMGdsbW5iDQpwcmVkMFRyZWUNCmBgYA0KDQpBZGQgYSBuZXcgY2h1bmsgYnkgY2xpY2tpbmcgdGhlICpJbnNlcnQgQ2h1bmsqIGJ1dHRvbiBvbiB0aGUgdG9vbGJhciBvciBieSBwcmVzc2luZyAqQ21kK09wdGlvbitJKi4NCg0KV2hlbiB5b3Ugc2F2ZSB0aGUgbm90ZWJvb2ssIGFuIEhUTUwgZmlsZSBjb250YWluaW5nIHRoZSBjb2RlIGFuZCBvdXRwdXQgd2lsbCBiZSBzYXZlZCBhbG9uZ3NpZGUgaXQgKGNsaWNrIHRoZSAqUHJldmlldyogYnV0dG9uIG9yIHByZXNzICpDbWQrU2hpZnQrSyogdG8gcHJldmlldyB0aGUgSFRNTCBmaWxlKS4gDQoNClRoZSBwcmV2aWV3IHNob3dzIHlvdSBhIHJlbmRlcmVkIEhUTUwgY29weSBvZiB0aGUgY29udGVudHMgb2YgdGhlIGVkaXRvci4gQ29uc2VxdWVudGx5LCB1bmxpa2UgKktuaXQqLCAqUHJldmlldyogZG9lcyBub3QgcnVuIGFueSBSIGNvZGUgY2h1bmtzLiBJbnN0ZWFkLCB0aGUgb3V0cHV0IG9mIHRoZSBjaHVuayB3aGVuIGl0IHdhcyBsYXN0IHJ1biBpbiB0aGUgZWRpdG9yIGlzIGRpc3BsYXllZC4NCg0K