Primesc eroarea Error in eval(predvars, data, env) : object 'B' not found
Nu sunt sigur cum se face această linie:
nn <- neuralnet(B+M~ area+texture+smoothness, data=cancertrain, hidden=3,
B+M sunt cele două valori posibile, benigne sau maligne, și cele trei atribute care au mai mult impact în determinarea sunt zona, textura și finețea. Presupun că trebuie doar parametrii în funcție neuralnet făcut incorect, stie cineva? Aici e cancer set de date într-o publice foaie de calcul 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)
Aceasta este ceea ce un exemplu corect dat de profesor se pare ca folosind standard de Iris set de date, nu sunt sigur dacă am făcut mina dreapta în funcție de cum se face:
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")