model.frame.default中出错。。。变量的类型(列表)无效

model.frame.default中出错。。。变量的类型(列表)无效,r,neural-network,linear-regression,R,Neural Network,Linear Regression,我对R相当陌生,我正在尝试创建一个模型来处理Kaggle的面部关键点检测样本项目。最终的问题是,创建任何模型(我正在使用neuralnet项目尝试一个神经网络,但我也通过lm尝试了更简单的线性模型)都不会将图像作为模型的预测值作为整数列表,但我似乎无法将其转化为建模函数将采用的形式 我正在加载数据,如下所示: # load.R library(data.table) library(dplyr) library(foreach) library(doParallel) cluster <

我对R相当陌生,我正在尝试创建一个模型来处理Kaggle的面部关键点检测样本项目。最终的问题是,创建任何模型(我正在使用neuralnet项目尝试一个神经网络,但我也通过lm尝试了更简单的线性模型)都不会将图像作为模型的预测值作为整数列表,但我似乎无法将其转化为建模函数将采用的形式

我正在加载数据,如下所示:

# load.R

library(data.table)
library(dplyr)
library(foreach)
library(doParallel)

cluster <- makeCluster(8)
registerDoParallel(cluster)

# left eye, right eye, mouth
data.train <- data.table(fread('Data/training.csv', 
                               header = TRUE, 
                               stringsAsFactors = FALSE)) %>%
  dplyr::select(left_eye_center_x, 
                left_eye_center_y, 
                right_eye_center_x, 
                right_eye_center_y, 
                mouth_center_top_lip_x, 
                mouth_center_top_lip_y, 
                Image)

images <- foreach(image = data.train$Image) %dopar% {
  as.integer(unlist(strsplit(image, " ")))
}

stopCluster(cluster)

data.train$img <- images
data.train$Image <- NULL

rm('images', 'cluster')

save(data.train, file = 'Data/cleaned.Rd')
#加载.R
库(数据表)
图书馆(dplyr)
图书馆(foreach)
图书馆(双平行)
簇
# model.R

library(data.table)
library(neuralnet)
library(caret)

if (!exists('data.train')) {
  if (file.exists('Data/cleaned.Rd')) {
    load('Data/cleaned.Rd')
  } else {
    source('load.R')
  }
}

model.lex <- lm(left_eye_center_x~img, data = data.train)
nn.grid <- expand.grid(.decay = c(0, 0.01, 0.1), 
                       .size = c(1:10), 
                       .bag = FALSE)

nn.left.eye.x <- train(left_eye_center_x ~ img, 
                       data = data.train, 
                       method = "neuralnet", 
                       tunegrid = nn.grid, 
                       maxit = 100, 
                       linout = TRUE, 
                       trace = FALSE)