Bonjour,
Je voudrais effectuer une classification à partir d'une matrice ou chaque variable a un certain poids, existe-t-il un moyen de mettre la matrice de poids en paramètre?
Merci beaucoup.
Version imprimable
Bonjour,
Je voudrais effectuer une classification à partir d'une matrice ou chaque variable a un certain poids, existe-t-il un moyen de mettre la matrice de poids en paramètre?
Merci beaucoup.
Si je crois la Doc de ma version (7.0) , tu ne peux pas injecter d'information sur le poids :( .
Sinon, voici le code d'un K-mean cluster basique que j'avais fait. Tu peux pi etre l'adapter à ton cas:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 function [ clusterimage ] = kmean_cluster_seg(image, k) % K-mean cluster % % Init colors = 255*rand(k,1); clusterimage = zeros(size(image)); image = cast(image, 'double'); % Errors = inf; % (1%) allow while (Errors > 0.01*size(image,1)*size(image,2)) kSize = zeros(k,1); kSum = zeros(k,1); Errors = 0; % Set Colors for i=1:size(image,1) % Init for j=1:size(image,2) % Min MatDiff = abs(colors-image(i,j)); [colorDiff colorMin] = min(MatDiff); % Diff with Older if colorMin ~= clusterimage(i,j) Errors = Errors +1; end % Set Map clusterimage(i,j) = colorMin; % Add Result kSize(colorMin) = kSize(colorMin) + 1; kSum(colorMin) = kSum(colorMin) + image(i,j); end end % Compute colors Means colors = kSum./kSize; end clusterimage = cast(round(clusterimage*255/k),'uint8');
Avant d'utiliser la fonction kmean de matlab, il est nécéssaire de normaliser tes données. Il suffit ensuite de pondérer la variable de ton choix.