1. ホーム
  2. r

[解決済み] terms.formula(formula) のエラー : formula に '.' があり、'data' 引数がない

2022-02-05 17:57:02

質問

ニューラルネットを予測に使いたいのですが、どうすればいいですか?

いくつかのXを作成します。

x <- cbind(seq(1, 50, 1), seq(51, 100, 1))

Yを作成します。

y <- x[,1]*x[,2]

名前をつける

colnames(x) <- c('x1', 'x2')
names(y) <- 'y'

data.frameを作成します。

dt <- data.frame(x, y)

そして今、私はエラーを得ました

model <- neuralnet(y~., dt, hidden=10, threshold=0.01)

error in terms.formula(formula) : 数式に '.' があり、 'data' がない。 引数

例えば、lm(linear model)では、このように動作しています。

どのように解決するのですか?

私のコメントにあるように、これは非エクスポート関数のバグのようです。 neuralnet:::generate.initial.variables . 回避策としては、以下の名前から長い数式を作成します。 dt を除く。 y は、例えば

n <- names(dt)
f <- as.formula(paste("y ~", paste(n[!n %in% "y"], collapse = " + ")))
f

## gives
> f
y ~ x1 + x2

## fit model using `f`
model <- neuralnet(f, data = dt, hidden=10, threshold=0.01)

> model
Call: neuralnet(formula = f, data = dt, hidden = 10, threshold = 0.01)

1 repetition was calculated.

        Error Reached Threshold Steps
1 53975276.25     0.00857558698  1967