【发布时间】:2018-11-06 15:14:42
【问题描述】:
我正在尝试创建一个函数,最终将在我的数据集上运行多种机器学习算法。下面是我的函数的第一个部分和一小部分数据。
我遇到的问题是将我的数据采样到四个不同的数据帧中,然后将它们应用于给定的函数。在第一个函数上,我正在测试数据运行抛出逻辑回归模型,但在输出上它使用该模型的所有数据,而不仅仅是我想要的数据帧 df 的 1/4。我检查了
数据:
zeroFac <- c(1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1)
goal <- c(8.412055, 7.528869, 8.699681, 10.478752, 9.210440, 10.308986, 10.126671, 11.002117, 10.308986, 7.090910, 10.819798, 7.824446, 8.612685,
7.601402, 10.126671, 7.313887, 5.993961, 7.313887, 8.517393, 12.611541)
City_Pop <- c( 11.64613, 11.64613, 11.64613, 11.64613, 11.64613, 11.64613, 11.64613, 11.64613, 11.64613, 11.64613, 11.64613, 11.64613, 11.64613, 11.64613,
11.64613, 11.64613, 11.64613, 11.64613, 11.64613, 11.64613)
df <- data.frame(zeroFac,goal,City_Pop)
功能:
forestModel <- function(eq1, ...){
#making our origenal data frame
train <- data.frame(cbind(...))
################
#splitting into 4 data sets
set.seed(123)
ss <- sample(1:4, size = nrow(train), replace=TRUE, prob = c(0.25,0.25,0.25,0.25))
t1 <- train[ss==1,]
t2 <- train[ss==2,]
t3 <- train[ss==3,]
t4 <- train[ss==4,]
################
m <- glm(eq1, family = binomial(link = 'logit'), data = t1)
summary(m)
}
eq1 <- df$zeroFac ~ df$goal + df$City_Pop
forestModel(eq1, df$zeroFac, df$goal, df$City_Pop)
【问题讨论】:
-
在逻辑回归的输出中,它告诉我它正在使用所有观察结果,而不仅仅是其中的四分之一。
标签: r function dataframe statistical-sampling