You are on page 1of 6

DATA MINING

Mohamed Diouane
Introduction:

Le Data Mining est en fait un terme gnrique englobant toute une famille d'outils
facilitant l'exploration et l'analyse des donnes contenues au sein d'une base de
donnes. Les techniques mises en action lors de l'utilisation de cet instrument
d'analyse et de prospection sont particulirement efficaces pour extraire des
informations significatives depuis de grandes quantits de donnes.

En peu de mots, l'outil de prospection Data Mining est mme de trouver des
structures originales et des corrlations informelles entre les donnes.
Il permet de mieux comprendre les liens entre des phnomnes en apparence
distincts et d'anticiper des tendances encore peu discernables.

Ce TP a pour but de mettre en place des programmes pour crer des modles
dcisionnels en Data Mining qui permet de classifier un nuage de donnes de 2
dimensions.

1
Gnration des donnes :

Gnrer un nuage de donnes autour de 2,2 et -2,-2 :

x0=0.5*randn(2,100)+[2;2]*ones(1,100);
x1=0.5*randn(2,100)+[-2;-2]*ones(1,100);
plot(x0(1,:),x0(2,:),'ro');
hold on;
plot(x1(1,:),x1(2,:),'b+');
hold on;

Gnration dun nuage de donnes 2D

La sparation des groupes dobservations de chaque classe, donc lobtention de frontires de


dcision, tait obtenue suivant des approches probabilistes. Ces approches ncessitaient la
dtermination de paramtres lis la distribution des observations ; cela sous-entendait de faire des
hypothses sur les lois rgissant la rpartition des observations de lchantillon. Nous avons mis en
vidence certains problmes lis ces approches, qui suggrent lutilisation dautres mthodes pour
effectuer la classification, sans faire dhypothses sur la distribution. Ainsi, cette deuxime section
aborde le problme de classification sous un angle diffrent, les mthodes tudies construisent des
fonctions de discrimination, afin de sparer les observations de classes diffrentes. Ces mthodes,
nommes approches discriminantes ou directes, vont permettre comme leurs homologues
(approches gnratives ou indirectes) dobtenir des rgles de dcision permettant de classer de
nouvelles observations.

2
Problme deux classes :

La sparation des classes peut seffectuer en dterminant une fonction sparant les observations de
chaque classe. Considrons lexemple donn la figure au-dessous, o deux classes C1 et C2 sont
reprsentes et caractrises par deux variables x1 et x2. On peut remarquer quune droite suffit
les sparer. Dans ce cas bidimensionnel, la droite dquation y(x) = w1x1 +w2x2 +w0, admettant
comme paramtres wj (j = 0, 1, 2) spare effectivement les deux classes. Ainsi, daprs la figure,
toute forme x dans lespace des variables appartenant la classe C1 doit conduire une valeur
positive de y(x) et ngative pour la classe C2.

Illustration dune sparation linaire en deux classes dun ensemble de donnes.

3
Implmentation sur Matlab :

%%-------------------------- Etape 1 --------------------------%%


sigma1=[1.8 0;0 1.5];
sigma2=[1.4 0;0 1.3];
P1=sigma1*randn(2,100)+[2;2]*ones(1,100);
P2=sigma2*randn(2,100)+[-2;-2]*ones(1,100);
P=[P1 P2];
ind=randperm(200);
P=P(:,ind);
T1=ones(1,100);
T2=zeros(1,100);
T=[T1 T2];
T=T(ind);
plotpv(P,T==1);
%%-------------------------- Etape 2 --------------------------%%
f1=zeros(size(P));
f2=zeros(size(P));

for i=1:length(P)
x=P(:,i);
t=T(i);
f1=exp(-1/2*(x-mean(P1')')'*inv(sigma1)*(x-mean(P1')'));
f2=exp(-1/2*(x-mean(P2')')'*inv(sigma2)*(x-mean(P2')'));
if f1>=f2
s=1;
else
s=0;
end
if s~=t
er(i)=0;
else
er(i)=1;
end
end
nb=0;
for i=1:length(er)
if er(i)==0
nb=nb+1;
end
end
%--------------erreur est donc-------------
ErreurD=(nb/200);
Reussite =(1 - ErreurD);
pErreur=ErreurD*100
pReussite=Reussite*100
%--------------Seprateur---------------------
net = newp(P,T,'hardlim','learnp');
figure
plotpv(P,T);
plotpc(net.IW{1},net.b{1});
net.adaptParam.passes = 3;
net = adapt(net,P,T);
plotpc(net.IW{1},net.b{1});

4
5