Dlaczego moja funkcja neural network nie działa w moim programie?

0

Pytanie

Otrzymuję komunikat o błędzie Error in eval(predvars, data, env) : object 'B' not foundNie jestem pewien, jak zrobić ten wiersz:

nn <- neuralnet(B+M~ area+texture+smoothness, data=cancertrain, hidden=3,

B+M-to dwa potencjalnych wartości, łagodne lub złośliwe, i trzy atrybuty, które mają większy wpływ na określenie, to powierzchnia, struktura i gładkość. Myślę, że ja po prostu źle wpisałem ustawienia w funkcji neuronowych sieci, wie ktoś? Oto zestaw danych o raku publicznej w arkuszu kalkulacyjnym 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)

Oto jak wygląda prawidłowy przykład przedstawiony profesorem przy użyciu standardowego zestawu danych Iris, nie jestem pewien, czy dobrze zrobił, opierając się na tym, jak to zrobić:

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")
1

Najlepsza odpowiedź

2

Możesz użyć następującego kodu

library(neuralnet)
library(ISLR) 
library(caTools)
library(random)

#setwd("**change to your working directory**")
data <- read.csv("WDBC.csv", header=T)
head(data)

#Select the important variables
cancerdata <- subset(data, select = c(Diagnosis, texture, smoothness, area))
head(cancerdata) 

train <- sample(x = nrow(cancerdata), size = nrow(cancerdata)*0.5)

cancertrain <- cancerdata[train,]
cancervalid <- cancerdata[-train,]
print(nrow(cancertrain))
print(nrow(cancervalid))

nn <- neuralnet(Diagnosis ~ area+texture+smoothness, data=cancertrain, hidden=3,  
                rep = 2, err.fct = "ce", linear.output = F, lifesign = "minimal", stepmax = 10000000)

plot(nn, rep="best")

enter image description here

2021-11-20 05:53:29

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................