多项式 (nnet) 不适用于防风草和扫帚
Multinomial (nnet) does not work using parsnip and broom
我正在尝试使用 tidymodel 运行 多项式 (nnet),但它显示了下一个结果:
错误:'closure' 类型的对象不是子集
data(iris)
ml<-multinom_reg() %>%
set_engine("nnet") %>%
set_mode("classification") %>%
translate()
ml_fit <- ml %>%
fit(Species ~ Sepal.Width, data=iris)
broom::tidy(ml_fit, exponentiate = F)
但是当我 运行 ... 完美运行时
formula <- Species ~ Sepal.Width
model <- nnet::multinom(formula, data = iris)
broom::tidy(model, exponentiate = F)
知道我写的是整洁模型还是其他东西吗?
在 tidymodels 中,我们处理事情的方式是原始数据和公式不包含在结果调用中(以通常的方式)。 multinom()
的某些部分需要那些(加上同一位置的实际数据)进行计算。
我们只是 changed 我们如何处理公式;现在,如果您直接调用 multinom()
,它就会通过。我们不能对 data
做同样的事情,但我们确实添加了一个名为 repair_call()
的新函数,您可以使用它来按照您想要的方式制作东西。
# devtools::install_dev("parsnip")
library(parsnip)
library(broom)
multi_spec <- multinom_reg() %>%
set_engine("nnet") %>%
set_mode("classification")
multi_fit <- multi_spec %>%
fit(Species ~ Sepal.Width, data = iris)
tidy(multi_fit)
#> Error in as.data.frame.default(data, optional = TRUE): cannot coerce class '"function"' to a data.frame
multi_fit_new <- repair_call(multi_fit, iris)
tidy(multi_fit_new)
#> # A tibble: 4 x 6
#> y.level term estimate std.error statistic p.value
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 versicolor (Intercept) 1.55e+8 3.06 6.15 7.54e-10
#> 2 versicolor Sepal.Width 2.20e-3 0.991 -6.17 6.70e-10
#> 3 virginica (Intercept) 4.41e+5 2.69 4.83 1.33e- 6
#> 4 virginica Sepal.Width 1.69e-2 0.844 -4.84 1.33e- 6
由 reprex package (v0.3.0)
于 2020-05-22 创建
我正在尝试使用 tidymodel 运行 多项式 (nnet),但它显示了下一个结果:
错误:'closure' 类型的对象不是子集
data(iris)
ml<-multinom_reg() %>%
set_engine("nnet") %>%
set_mode("classification") %>%
translate()
ml_fit <- ml %>%
fit(Species ~ Sepal.Width, data=iris)
broom::tidy(ml_fit, exponentiate = F)
但是当我 运行 ... 完美运行时
formula <- Species ~ Sepal.Width
model <- nnet::multinom(formula, data = iris)
broom::tidy(model, exponentiate = F)
知道我写的是整洁模型还是其他东西吗?
在 tidymodels 中,我们处理事情的方式是原始数据和公式不包含在结果调用中(以通常的方式)。 multinom()
的某些部分需要那些(加上同一位置的实际数据)进行计算。
我们只是 changed 我们如何处理公式;现在,如果您直接调用 multinom()
,它就会通过。我们不能对 data
做同样的事情,但我们确实添加了一个名为 repair_call()
的新函数,您可以使用它来按照您想要的方式制作东西。
# devtools::install_dev("parsnip")
library(parsnip)
library(broom)
multi_spec <- multinom_reg() %>%
set_engine("nnet") %>%
set_mode("classification")
multi_fit <- multi_spec %>%
fit(Species ~ Sepal.Width, data = iris)
tidy(multi_fit)
#> Error in as.data.frame.default(data, optional = TRUE): cannot coerce class '"function"' to a data.frame
multi_fit_new <- repair_call(multi_fit, iris)
tidy(multi_fit_new)
#> # A tibble: 4 x 6
#> y.level term estimate std.error statistic p.value
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 versicolor (Intercept) 1.55e+8 3.06 6.15 7.54e-10
#> 2 versicolor Sepal.Width 2.20e-3 0.991 -6.17 6.70e-10
#> 3 virginica (Intercept) 4.41e+5 2.69 4.83 1.33e- 6
#> 4 virginica Sepal.Width 1.69e-2 0.844 -4.84 1.33e- 6
由 reprex package (v0.3.0)
于 2020-05-22 创建