繁体   English   中英

我们可以使用 GMDH 进行二三类分类吗

[英]can we use GMDH for two or three class classiication

正如我在 R 包 GMDH 中读到的,一个使用 GMDH 型神经网络算法对单变量时间序列进行短期预测的函数。 我可以将它用于 Iris 数据集吗?

目前 R 中有两个 GMDH 包:

 devtools::install_github("dratewka/rGMDH")
 library(rGMDH)
 m <- rGMDH::train(x,y)
 yh <- predict(m, x)

 library(GMDH)
 out = fcast(data, input = 6, layer = 2, f.number = 1)

两者都是为短期预测而设计的,您将无法将它们用于分类。

然而,按照设计,GMDH 算法非常适合多变量分类。 事实上,比回归更好(参见例如http://math.umaine.edu/~farlow/gmdh%20in%20pdf.pdf 中的第 5 节或数据处理组方法算法可解决问题的回顾中的第 8 节(GMDH) )。 不幸的是,它们还没有在 R 中完全实现。

如果感兴趣,您可以使用 R 基类自己实现它 - 例如,请参阅上面的第一个参考资料来描述确切的算法。

是的,可以在 R 中使用 GMDH 进行分类。 您可以使用包 GMDH2 ( https://cran.r-project.org/web/packages/GMDH2/GMDH2.pdf ),它提供了用于二进制分类的 GMDH 神经网络。 如果要执行多类分类,则必须使用一种 vs 全部策略并为每个类构建一个分类器。 下面的代码演示了如何将其用作 iris 数据集中的二元分类器,训练一个模型来对 virginica 与其余的进行分类。

library(GMDH2)

data(iris)

species <- unique(iris$Species)

virginica <- iris
virginica$Species <-ifelse(iris$Species == "virginica", 1, 0)

X <- data.matrix(virginica[,1:4])
y <- virginica$Species

idx <- sample(1:nrow(X))

train_idx <- idx[1:120]
val_idx <- idx[120:150]

X_train <- X[train_idx,]
y_train <- as.factor(y[train_idx])
X_val <- X[val_idx,]
y_val <- as.factor(y[val_idx])


model_virginica <- GMDH(X_train, y_train, X_val, y_val)

predict(model_virginica, X_val)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM