2015-01-01 43 views
0

我想在著名的泰坦尼克号数据集运行中的R榆树下面的例子:极端学习机属性

library(elmNN) 
dataset <- read.csv(training_data) 
formula <- as.factor(Survived) ~ Sex + Age + Pclass + Fare + SibSp + Parch + Embarked 
elm_fit <- elmtrain(formula, dataset, nhid=10, actfun="sig") 
testset$PredSurvived <- predict(elm_fit, testset, type="class") 

的训练方法抛出我下面的错误:

Error in ginv(t(H), tol = sqrt(.Machine$double.eps)) %*% t(T) : requires numeric/complex matrix/vector arguments 

据我所知,这是因为算法期望数值数据,而我的属性是离散的。

我的问题是有没有办法将这种算法应用于我的数据集?

+2

将所有列强制为数字? –

+0

将不起作用,因为算法内部乘以数字数据的矩阵。我想知道是否存在接受离散数据的算法的变体。 –

回答

1

使用model.matrix将因子转换为二进制表示。例如,可以将虹膜中的物种生成为model.matrix(〜Species,data = iris)