Bonjour,
Ce code me permet de créer une distribution de points : un cercle inclus dans un autre (ici pas vraiment un cercle mais une distribution sous forme d'un cercle).
"The inputs of the circle problem are uniformly distributed on the d-dimensional cube with corners {+/- 1}. This is a 2-class problem: The first class is a d-dimensional ball in the middle of the cube, the remainder forms the second class. The size of the ball is chosen such that both classes have equal prior probaility 0.5."
Je veux modifier cette fonction pour qu'elle me fournisse non seulement 2 classes mais a classes (a: paramètre à choisir), aussi à changer "equal prior probaility" de 0.5 à b (b: paramètre à choisir). Bien sûr garder le fait que les classes (distribution des points) fournies aient la structure d'une classe qui entoure les autres (n-1) classes .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function (n, d = 2) { x <- matrix(runif(n * d, -1, 1), ncol = d, nrow = n) if ((d != as.integer(d)) || (d < 2)) stop("d must be an integer >=2") z <- rep(1, length = n) r <- (2^(d - 1) * gamma(1 + d/2)/(pi^(d/2)))^(1/d) z[apply(x, 1, function(x) sum(x^2)) > r^2] <- 2 retval <- list(x = x, classes = factor(z)) class(retval) <- c("mlbench.circle", "mlbench") retval }
Merci de votre aide.
Cordialement B.H
Partager