Estou recebendo um erro Error in eval(predvars, data, env) : object 'B' not found
, Eu não tenho certeza de como fazer esta linha:
nn <- neuralnet(B+M~ area+texture+smoothness, data=cancertrain, hidden=3,
B+M são os dois valores possíveis, benigno ou maligno, e os três atributos que têm mais impacto na determinação de área, textura e suavidade. Eu estou supondo que eu só tenho os parâmetros na função neuralnet feito incorretamente, alguém sabe? Aqui está o câncer de conjunto de dados em um público planilha do Google.
library(neuralnet)
library(ISLR)
library(rpart)
library(rpart.plot)
library(caTools)
library(random)
#setwd("**change to your working directory**")
data <- read.csv("WDBC.csv", header=T)
#head(data)
cancer.dataset <- data
#according to previous models and studies, area, texture, and smoothness are the
#attributes with the highest relevance to the diagnosis of benign or malignant
cancer.dataset$b <- cancer.dataset$Diagnosis == "B"
cancer.dataset$m = cancer.dataset$Diagnosis == "M"
cancer.dataset$area <- cancer.dataset$Diagnosis == "area"
cancer.dataset$texture = cancer.dataset$Diagnosis == "texture"
cancer.dataset$smoothness = cancer.dataset$Diagnosis == "smoothness"
cancerdata <- data.frame(cancer.dataset$Diagnosis, cancer.dataset$texture, cancer.dataset$smoothness, cancer.dataset$area)
cancerdata
train <- sample(x = nrow(cancerdata), size = nrow(cancerdata)*0.5)
train
cancertrain <- cancer.dataset[train,]
cancervalid <- cancer.dataset[-train,]
print(nrow(cancertrain))
print(nrow(cancervalid))
nn <- neuralnet(B+M~ area+texture+smoothness, data=cancertrain, hidden=3,
rep = 2, err.fct = "ce", linear.output = F, lifesign = "minimal", stepmax = 10000000)
Isto é o que um exemplo que é correto dado pelo professor parece, utilizando o conjunto de dados Iris, eu não tenho certeza se fiz a minha, com base em como isso é feito:
iris.dataset$setosa <- iris.dataset$Species=="setosa"
iris.dataset$virginica = iris.dataset$Species == "virginica"
iris.dataset$versicolor = iris.dataset$Species == "versicolor"
train <- sample(x = nrow(iris.dataset), size = nrow(iris)*0.5)
train
iristrain <- iris.dataset[train,]
irisvalid <- iris.dataset[-train,]
print(nrow(iristrain))
print(nrow(irisvalid))
nn <- neuralnet(setosa+versicolor+virginica ~ Sepal.Length + Sepal.Width, data=iristrain, hidden=3,
rep = 2, err.fct = "ce", linear.output = F, lifesign = "minimal", stepmax = 10000000)
plot(nn, rep="best")