Merci Faubry pour votre réponse.
En fait je suis entrain de m'initier au langage R à travers un tutoriel qui se trouve à l'adresse
https://www.r-bloggers.com/fitting-a-neural-network-in-r-neuralnet-package/
.
La variable à expliquer dans le tutoriel est de type num (medv) et la structure de la table est comme suit:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| 'data.frame': 506 obs. of 14 variables:
$ crim : num 0.00632 0.02731 0.02729 0.03237 0.06905 ...
$ zn : num 18 0 0 0 0 0 12.5 12.5 12.5 12.5 ...
$ indus : num 2.31 7.07 7.07 2.18 2.18 2.18 7.87 7.87 7.87 7.87 ...
$ chas : int 0 0 0 0 0 0 0 0 0 0 ...
$ nox : num 0.538 0.469 0.469 0.458 0.458 0.458 0.524 0.524 0.524 0.524 ...
$ rm : num 6.58 6.42 7.18 7 7.15 ...
$ age : num 65.2 78.9 61.1 45.8 54.2 58.7 66.6 96.1 100 85.9 ...
$ dis : num 4.09 4.97 4.97 6.06 6.06 ...
$ rad : int 1 2 2 3 3 3 5 5 5 5 ...
$ tax : num 296 242 242 222 222 222 311 311 311 311 ...
$ ptratio: num 15.3 17.8 17.8 18.7 18.7 18.7 15.2 15.2 15.2 15.2 ...
$ black : num 397 397 393 395 397 ...
$ lstat : num 4.98 9.14 4.03 2.94 5.33 ...
$ medv : num 24 21.6 34.7 33.4 36.2 28.7 22.9 27.1 16.5 18.9 ... |
Je souhaiterai utilisé le même tutoriel mais sur une autre base en voulant expliquer la variable (Health) qui est type factor.
1 2 3 4 5 6 7 8
|
'data.frame': 889 obs. of 6 variables:
$ Year : Factor w/ 2 levels "2002","2003": 1 1 1 1 1 1 1 1 1 1 ...
$ Health : Factor w/ 2 levels "bankruptcy","healthy": 1 1 2 2 1 1 1 2 1 1 ...
$ EBITDA.Total.Assets : num -0.00491 0.08496 0.45284 0.2098 -0.07732 ...
$ Value.Added.Total.Sales : num 0.213 0.113 0.484 0.395 0.295 ...
$ Quick.Ratio : num 0.0904 0.946 1.3734 1.2709 0.697 ...
$ Accounts.Payable.Total.Sales: num 0.2941 0.2854 0.0598 0.2535 0.0558 ... |
La première commande que j'ai modifiée est:
lm.fit <- glm(medv~., data=train)
j'ai remplacé medv par health en ajoutant family=binomial à la fin
lm.fit <- glm(Health~., data=train, family=binomial)
Lorsque j'essaie de modifier la commande
MSE.lm <- sum((pr.lm - test$Health)^2)/nrow(test)
par
MSE.lm <- sum((pr.lm - test$Health)^2)/nrow(test)
,
j'obtiens l'erreur suivante:
Warning message:
In Ops.factor(pr.lm, test$Health) : ‘-’ not meaningful for factors
C'est pourquoi j'ai pensé qu'il fallait changer le type de ma variable.
Cordialement,
Partager