[英]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.