Bonjour,
Je veux implémenter l'algorithme de diana (méthode descendante hiérarchique) sur les bases de données suivantes : iris, breast cancer, ionosphere, breast cancer et sonar, et chercher la précision. J'essaye avec ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 iris.diana<-diana(scale(iris[,1:4]))
table(classe,iris$Species)
Quelqu'un peut-il m'aider svp

###

Voici le code pour Iris, mais je ne sais pas comment faire pour les autres bases :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
iris.diana<-diana(scale(iris[,1:4]))
iris.diana$dc # mesure la qualité de la partition
pltree(iris.diana,labels=FALSE,main="Dendrogram par la méthode de diana",xlab="")
classe=cutree(iris.diana,k=3) # on découpe en 3 classes
rect.hclust(iris.diana,k=3,border="red")
table(classe,iris$Species)
mat=table(c(classe[1:50],classe[101:150],classe[51:100]),iris$Species)
taux = sum(diag(mat))/sum(mat)
taux
Maintenant je veux changer la base iris par ces bases :

1)https://archive.ics.uci.edu/…/Connec...nch+%28Sonar,…
2)https://archive.ics.uci.edu/…/Breast...sconsin+%28Di…
3)https://archive.ics.uci.edu/ml/datasets/Ionosphere
4) http://archive.ics.uci.edu/…/b…/brea...wisconsin.data
cat breast-cancer-wisconsin.data

si il veut plait quelqu'un peut m'aider.

###

Où est le problème dans ce code-là :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
require(class) 
require(stats) 
library(RWeka) 
options(max.print=1000000) 
 
dat<-read.table("https://archive.ics.uci.edu/ml/machine-learning-databases/ionosphere/ionosphere.data",sep=",") 
dat 
names(dat) <- c('v1','v2','v3','v4','v5','v6','v7','v8','v9','v10','v11','v12','v13','v14','v15','v16','v17','v18','v19','v20','v21','v22','v23','v24','v25','v26','v27','v28','v29','v30','v31','v32','v33','v34','v35')
head(dat)
 
dat.diana<k-diana(scale(dat[,c(1:34)], 2))
dat.diana$dc # mesure la qualité de la partition
pltree(ionosphere.diana,labels=FALSE,main="Dendrogram par la méthode de diana",xlab="")
classe=cutree(dat.diana,k=2) # on découpe en 3 classes
rect.hclust(dat.diana,k=2,border="red")