Ricevo l'errore Error in eval(predvars, data, env) : object 'B' not found
Non sono sicuro di come fare questa riga:
nn <- neuralnet(B+M~ area+texture+smoothness, data=cancertrain, hidden=3,
B+M sono i due valori possibili, sia benigna o maligna, e i tre attributi che hanno un maggiore impatto nella determinazione di area, la consistenza e la morbidezza. Sto assumendo devo solo i parametri nella funzione neuralnet fatto in modo errato, qualcuno lo sa? Ecco il cancro del set di dati a un pubblico di foglio di calcolo di 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)
Questo è ciò che un esempio che è corretto dato dal professore aspetto utilizzando lo standard Iris set di dati, non so se ho fatto la mia destra, sulla base di come questo è fatto:
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")