4. Analyse des données

Algorithme neuronal avec le package neuralnet

Lors d’une réunion du SGT3, l’algorithme neuronal a été présenté pour la tarification santé. Pour voir comment le réseau de neurones fonctionne, voici un exemple pratique avec le package neuralnet de R, sur la base de données iris.

Préparation des données

data=iris
data$class=data$Species

data$setosa <- c(data$Species == "setosa")
data$versicolor <- c(data$Species == "versicolor")
data$virginica <- c(data$Species == "virginica")

formula=as.formula("setosa + versicolor + virginica ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width")

Création de bases d’apprentissage et de test


library(caret)
ind=createDataPartition(data$class, times = 1,p = 0.3,list=FALSE)
a=data[ind,]
t=data[-ind,]
dim(a);dim(t)

Construction de l’algorithme d’apprentissage

library(neuralnet)
a$class=NULL
dim(a)
inet <- neuralnet(formula, a, hidden=3, lifesign="full")
plot(inet, rep="best")

On peut voir l’illustration du réseau de neurones.

neuralnet_iris

Matrice de confusion

predict <- compute(inet, t[1:4])
plot(predict$net.result)
dim(t)
n=nrow(t)
for (i in 1:n) { result[i] <- which.max(predict$net.result[i,]) }
for (i in 1:n) { if (result[i]==1) {result[i] = "setosa"} }
for (i in 1:n) { if (result[i]==2) {result[i] = "versicolor"} }
for (i in 1:n) { if (result[i]==3) {result[i] = "virginica"} }
table(result,t[,5])

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s