Я был поставлен в тупик по этой проблеме в течение очень долгого времени и не могу понять это.Я полагаю, что проблема связана с подмножеством объектов data.frame, сохраняющих информацию о родителе, но я также чувствую, что это вызывает проблемы при обучении моделей h2o.deeplearning тому, что я считаю только моим обучающим набором (хотя это может быть и не так).Ниже приведен пример кода.Я включил комментарии, чтобы уточнить, что я делаю, но это довольно короткий код:
dataset = read.csv("dataset.csv")[,-1] # Read dataset in but omit the first column (it's just an index from the original data)
y = dataset[,1] # Create response
X = dataset[,-1] # Create regressors
X = model.matrix(y~.,data=dataset) # Automatically create dummy variables
y=as.factor(y) # Ensure y has factor data type
dataset = data.frame(y,X) # Create final data.frame dataset
train = sample(length(y),length(y)/1.66) # Create training indices -- A boolean
test = (-train) # Create testing indices
h2o.init(nthreads=2) # Initiate h2o
# BELOW: Create h2o.deeplearning model with subset of dataset.
mlModel = h2o.deeplearning(y='y',training_frame=as.h2o(dataset[train,,drop=TRUE]),activation="Rectifier",
hidden=c(6,6),epochs=10,train_samples_per_iteration = -2)
predictions = h2o.predict(mlModel,newdata=as.h2o(dataset[test,-1])) # Predict using mlModel
predictions = as.data.frame(predictions) # Convert predictions to dataframe object. as.vector() caused issues for me
predictions = predictions[,1] # Extract predictions
mean(predictions!=y[test])
Проблема в том, что если я оцениваю это по моему тестовому подмножеству, я получаю почти 0% ошибку:
[1] 0.0007531255
Кто-нибудь сталкивался с этой проблемой?Есть идеи, как решить эту проблему?