-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPredictingIncome(Logistic regression, forest, cross-validation(cp)).R
More file actions
48 lines (45 loc) · 1.61 KB
/
Copy pathPredictingIncome(Logistic regression, forest, cross-validation(cp)).R
File metadata and controls
48 lines (45 loc) · 1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
rm(list=ls())
census=read.csv("C:/Users/Zahid/Downloads/census.csv")
library(caTools)
set.seed(2000)
split=sample.split(census$over50k, SplitRatio=0.6)
train=subset(census, split==TRUE)
test=subset(census, split==FALSE)
model=glm(over50k~., data=train)
summary(model)
train1=train
str(train1)
train1$nativecountry=as.factor(train1$nativecountry)
pred=predict(model, newdata=test)
table(test$over50k, pred>=0.5)
table(test$over50k)
predROCR=prediction(pred,test$over50k)
ROCRperf=performance(predROCR,'tpr','fpr')
attributes(performance(predROCR, 'auc'))$y.values[[1]]
CART=rpart(over50k~., data=train, method="class")
prp(CART)
pred=predict(CART, newdata=test, type="class")
names(pred)
str(pred)
str(test$over50k)
predROCR=prediction(pred, test$over50k)
attributes(performance(predROCR, 'auc'))$y.values[[1]]
table(test$over50k, pred)
ROCRperf=performance(prediction(CART, newdata=test, type="class"),'tpr', 'fpr')
set.seed(1)
trainSmall = train[sample(nrow(train), 2000), ]
forest=randomForest(over50k~.-nativecountry, data=trainSmall)
pred=predict(forest, newdata=test)
table(test$over50k, pred)
vu = varUsed(forest, count=TRUE)
vusorted = sort(vu, decreasing = FALSE, index.return = TRUE)
dotchart(vusorted$x, names(forest$forest$xlevels[vusorted$ix]))
varImpPlot(forest)
set.seed(2)
cartGrid = expand.grid( .cp = seq(0.002,0.1,0.002))
fitControl= trainControl(method="cv", number=10)
train(over50k ~ ., data = train, method="rpart", trControl=fitControl, tuneGrid=cartGrid)
CART=rpart(over50k~., data=train, method="class" ,control=rpart.control(cp=0.002))
pred=predict(CART, newdata=test, type="class")
table(test$over50k, pred)
prp(CART)