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 :
Quelqu'un peut-il m'aider svp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 iris.diana<-diana(scale(iris[,1:4])) table(classe,iris$Species)
###
Voici le code pour Iris, mais je ne sais pas comment faire pour les autres bases :
Maintenant je veux changer la base iris par ces 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
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")
Partager