英文:
Perform statistical analysis using binomial distribution
问题
我正在尝试使用二项分布来测试一个“随机”模型,该模型只会随机地在50%的时间内回答“virginica”,25%的时间内回答“setosa”,以及最后25%的时间内回答“versicolor”,以查看我的逻辑回归模型是否更准确,反之亦然。这可以做到吗?以下是我的尝试...
# 逻辑回归模型。
glm <- glm(dummy_virginica_iris ~ Petal.Width + Sepal.Width,
data = iris,
family = 'binomial')
summary(glm)
# 分类器。
glm.pred <- predict(glm, type="response")
virginica <- ifelse(glm.pred > .5, TRUE, FALSE)
table(iris$Species, virginica)
# 预测表格。
table(virginica, iris$dummy_virginica_iris)
# 二项分布??
rbinom(160, 1, 0.5)
请注意,我已经删除了一些代码的翻译,因为它们是代码的一部分,不需要进行翻译。如果您有任何其他问题,请随时提出。
英文:
I am trying to use the binomial distribution to test whether a "random" model that just randomly responds "virginica" 50% of the time, "setosa" 25% of the time and "versicolor" the last 25% of the time to see whether my logistic regression model is more accurate or vice versa. Can this be done? Here is my attempt...
library(datasets)
iris$dummy_virginica_iris <- 0
iris$dummy_virginica_iris[iris$Species == 'virginica'] <- 1
iris$dummy_virginica_iris
# Logistic regression model.
glm <- glm(dummy_virginica_iris ~ Petal.Width + Sepal.Width,
data = iris,
family = 'binomial')
summary(glm)
# Classifer.
glm.pred <- predict(glm, type="response")
virginica <- ifelse(glm.pred > .5, TRUE, FALSE)
table(iris$Species, virginica)
# Table of predictions.
table(virginica, iris$dummy_virginica_iris)
# Binomial distribution??
rbinom(160, 1, 0.5)
答案1
得分: 0
你可以使用 sample
来完成这个任务:
set.seed(1)
rando <- sample(c('virginica', 'setosa', 'versicolor'), # 可能响应的向量
prob = c(1/2, 1/4, 1/4), # 这些响应的概率
size = length(virginica), # 需要的响应数量
replace = TRUE) # 指定带替换的抽样
table(rando, iris$dummy_virginica_iris)
rando 0 1
setosa 27 8
versicolor 21 18
virginica 52 24
rando_virginica <- ifelse(rando == 'virginica', TRUE, FALSE)
table(rando_virginica, iris$dummy_virginica_iris)
rando_virginica 0 1
FALSE 48 26
TRUE 52 24
英文:
You can use sample
to do this:
set.seed(1)
rando <- sample(c('virginica', 'setosa', 'versicolor'), # vector of possible responses
prob = c(1/2, 1/4, 1/4), # probabilities of those responses
size = length(virginica), # number of responses desired
replace = TRUE) # specify sampling with replacement
table(rando, iris$dummy_virginica_iris)
rando 0 1
setosa 27 8
versicolor 21 18
virginica 52 24
rando_virginica <- ifelse(rando == 'virginica', TRUE, FALSE)
table(rando_virginica, iris$dummy_virginica_iris)
rando_virginica 0 1
FALSE 48 26
TRUE 52 24
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论