Нужно ли делать нормализацию по возрасту в алгоритме нейронной сети в R studio? - PullRequest
0 голосов
/ 27 января 2020

В настоящее время я пытаюсь работать над алгоритмом нейронной сети при болезнях сердца, и то, что у меня есть, не полностью завершено, поскольку я не могу продолжить работу из-за ошибок, которые я получаю. я скачал набор данных из: https://www.kaggle.com/ronitf/heart-disease-uci

Я не совсем понимаю, как работает алгоритм. это мой текущий прогресс, над которым я работаю.

#READING DATASET FROM DRIVE
getwd()
MyDATASET<-read.csv(file.choose()) 
MyDATASET
str(MyDATASET)
#CHECKING FOR MISSING DATA
is.na(MyDATASET)
#PRE-PROCESSING
MyDATASET$age = ifelse(is.na(MyDATASET$age),
                       ave(MyDATASET$age,
                           FUN = function(X) mean(X, na.rm = TRUE)), 
                       MyDATASET$age)
MyDATASET

# Min-Max Normalization
MyDATASET$age <- (MyDATASET$age - min(MyDATASET$age))/(max(MyDATASET$age) - min(MyDATASET$age))
MyDATASET$trestbps <- (MyDATASET$trestbps - min(MyDATASET$trestbps))/(max(MyDATASET$trestbps) - min(MyDATASET$trestbps))
MyDATASET$thalach <- (MyDATASET$thalach - min(MyDATASET$thalach))/(max(MyDATASET$thalach)-min(MyDATASET$thalach))
MyDATASET$chol <- (MyDATASET$chol - min(MyDATASET$chol))/(max(MyDATASET$chol)-min(MyDATASET$chol))

#PARTITION DATASET
install.packages("caTools")
library(caTools)
set.seed(123)
ind <- sample(2, nrow(MyDATASET), replace = TRUE, prob = c(0.7, 0.3))
training <- MyDATASET[ind==1,]
testing <- MyDATASET[ind==2,]

# Neural Networks
install.packages("neuralnet")
library(neuralnet)
set.seed(333)
n <- neuralnet(target~age+sex+cp+trestbps+chol+fbs+restecg+thalach+exang+oldpeak+slope+ca+thal,
               MyDATASET = training,
               hidden = 1,
               err.fct = "ce",
               linear.output = FALSE)
plot(n)

И я получаю эту ошибку, которую я не понимаю, почему она появляется

> MyDATASET$age <- (MyDATASET$age - min(MyDATASET$age))/(max(MyDATASET$age) - min(MyDATASET$age))
Error in `$<-.data.frame`(`*tmp*`, age, value = numeric(0)) : 
  replacement has 0 rows, data has 303
In addition: Warning messages:
1: In min(MyDATASET$age) : no non-missing arguments to min; returning Inf
2: In max(MyDATASET$age) : no non-missing arguments to max; returning -Inf
3: In min(MyDATASET$age) : no non-missing arguments to min; returning Inf

А также эта ошибка появляется для переменной n

Error in neuralnet(target ~ age + sex + cp + trestbps + chol + fbs + restecg +  : 
  unused argument (MyDATASET = training)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...