Weka (ikasketa automatikoa)

**Weka** (*Waikato Environment for Knowledge Analysis,* euskaraz *Ezagutzaren Analisirako Waikato Ingurunea*) ikasketa automatikoan eta datu-meatzaritzan erabiltzen den software-ingurune bat da. Waikato-ko unibertsitatean garatu zen, Java programazio-lengoaian inplementatuta dago eta GNU-GPL lizentziapean banatzen den software librea da.

## Historia 
* 1993. urtean, Zeelanda Berriko Waikatoko unibertsitateak Weka-ren lehen bertsioa garatzeari ekin zion (TCL/TK eta C programazio-lengoaiak erabiliz).
* 1997. urtean, kode guztia Java-ra itzultzea eta modelatze-algoritmoen inplementazioa gehitzea erabaki zen.
* 2005. urtean, Wekak SIGKDD (*Special Interest Group on Knowledge Discovery and Data Mining)* taldearen eskutik *"Data Mining and Knowledge Discovery Service Award*" (euskaraz "Datu Meatzaritza eta Ezagutzaren Aurkikuntza Zerbitzua" saria jaso zuen.
* 2006. urtean, Pentanho Corporation-ek lizentzia berezi bat eskuratu zuen Weka paketea *business intelligence* edo enpresa-adimenean erabiltzeko.

## Deskribapena 
Weka paketeak hainbat bistaratze-tresna eta algoritmo eskaintzen ditu datuen analisia egiteko eta sailkapen-eredu iragarleak sortzeko. Bere interfaze grafikoari esker paketearen funtzioak erabiltzea erraza gertatzen da.

Wekaren hasierako bertsioa TCL/TK programazio-lengoaian garatua izan zen eta beste programazio-lengoaia batzuetan inplementatutako algoritmoen ereduak sortzeko diseinatua izan zen. Gainera, ikasketa-automatikoko esperimentuetan datuen aurreprozesaketa egin ahal izateko C programazio-lengoaian inplementatutako hainbat zerbitzu ere gehitu zitzaizkion. Hasierako bertsio hura nekazaritza-arloko datuak aztertzeko helburuarekin sortu zen. Gaur egungo bertsioa ordea, Weka 3, Java programazio-lengoaian oinarrituta dago. Haren garapena 1997. urtean hasi zen eta aplikazio-eremu ugaritan erabiltzen da, batez ere irakaskuntzan eta ikerkuntzan.

### Weka-ren ezaugarriak 
Weka-ren ezaugarri nagusiak honakoak dira:

* GNU lizentzia publiko orokorraren bidez babestua dagoenez, software librea da.
* Oso eramangarria da, Java-n inplementatuta dagoenez plataformarekiko independentea delako.
* Datuen aurreprozesaketa egiteko eta ikasketa automatikorako eredu eta teknika sorta zabala eskaintzen du.
* Erabilerraza da, duen interfaze grafikoari esker.

Wekaren bidez datu-meatzaritzan estandarrak diren ataza asko ebatzi daitezke: datuen aurreprozesamendua, multzokatzea (ingelesezko clustering), sailkapen-problemak, erregresioa, bistaratzea eta aldagaien aukeraketa, besteak beste. Wekarekin esperimentuak egiteko garaian, datuak fitxategi lauetan gordeta daudela suposatzen da. Datu-baseetan gordetako datuak SQL bidezko kontsultekin atzitzea ere posiblea da, paketeak duen JDBC (*Java Database Connectivity*) konexioari esker, eta aukera ematen du kontsultak bueltatutako datuak prozesatzeko. Datu-base erlazionalen gainean datu-meatzaritza egitea ez da posiblea, baina datu-base erlazionalak taula bakarreko datu-base bihurtzeko aplikazioak badira, eta horiekin Wekak egin dezake lan.

"Package manager" delako kudeatzaileak, Waikato Unibertsitateko garatzaileen taldetik kanpoko beste garatzaileei aukera ematen die beraien software garapenak eskuragarri egiteko erabiltzaileen komunitateari. Garapen horiek "pakete" moduan eskaintzen dira, eta bakoitza bere aldetik karga "package manager"-etik. Aukera horrek WEKA-k eskainitako algoritmo eta baliabide sorta zabaltzen ditu.

## Erabiltzailearen interfaze grafikoa 
thumb|2007. urtera arte Wekaren interfazearen argazkia
Weka exekutatzean, interfazea aukeratzeko lehioa zabaltzen da (*Weka GUI Chooser*). Lau interfaze desberdin erabil daitezke: *Simple CLI*, *Explorer*, *Experimenter* eta *Knowledge Flow.*

### Simple CLI 
**Simple CLI** *(Simple Command-Line Interface)* interfazea kontsola bat da. Komando-linea moduko interfaze sinple honen bidez Weka-ren tresna guztiak erabil daitezke.

### Explorer 
**Explorer** (euskaraz, *esploratzaile*) interfazeak hainbat panel ditu:

* *Preproccess* panelak datuak inportatzeko hainbat aukera ematen ditu: datu-base batetik, CSV fitxategi batetik, etab. Datu horiek aurreprozesatzeko iragazketa-algoritmo desberdinak eskaintzen dira. Algoritmo horiek datuak eraldatzeko erabil daitezke (zenbakizko datuak datu-diskretu bihurtzeko, adibidez). Gainera, aldez aurretik finkatutako hainbat irizpideetan oinarrituz, datuen multzotik hainbat erregistro (datu) eta atributu (aldagai-iragarle) ezabatzeko ere erabil daitezke.
* *Classify* panelak sailkapen-algoritmoak erabiltzeko eta erregresio-analisia egiteko aukera ematen du. Gainera, erabilitako sailkapen-algoritmoaren ebaluazioa egin daiteke, asmatze-tasak kalkulatuz, ROC-kurbak eginez, etab. Posiblea denean, eredua bera bistaratzeko tresnak ere eskaintzen ditu, hala nola, sailkatze-zuhaitza.
* *Associate* panelaren bidez, datuen atributuen artean aurkitu diren erlazio garrantzitsuenak identifika daitezke.
* *Cluster* panelaren bidez *Clustering* edo multzokatze-teknikak erabil daitezke, adibidez K-means algoritmoa.
* *Selected attributes* panelak datu-multzo batean iragarpenerako egokien diren atributu edo aldagai-iragarleak identifikatzeko algoritmoak eskaintzen ditu.
* *Visualize* panelean sakabanatutako puntuen matrize bat erakusten da. Bertan puntu bakoitza aukera daiteke, hura handituz modu zehatzagoan aztertzeko.

### Experimenter 
**Experimenter** (euskaraz, *esperimentatzaile*) interfazearen bidez, hainbat datu-multzoren gainean Wekaren algoritmo iragarleak exekutatu eta lortutako emaitzen konparaketa sistematikoa egin daiteke.

### Knowledge Flow 
**Knowledge Flow** (euskaraz, *ezagutzaren fluxu*) interfazeak funtsean *Explorer* interfazearen funtzio berberak eskaintzen ditu. Gainera,ikasketa inkrementala egiteko aukera ere eskaini dezake.

## Erlazionatutako Aplikazioak 
* KNIME, datu-meatzaritzarako plataforma bat da, Java programazio-lengoaian inplementatuta dagoena.
* Neural Designer, analisi iragarlea egiteko tresna bat da, ikaskuntza sakonean oinarrituta dagoena.
* RapidMiner, datu-meatzaritzarako ingurune bat da, Java programazio-lengoaian inplementatuta dagoena eta Wekarekin elkarreragiten duena.

## Erreferentziak 
## Ikus, gainera 
* Datu Meatzaritza
* Ikasketa automatikoa
* R programazio-lengoaia
* Multzokatzea (clustering)
* Erabakitze-zuhaitzak
* Algoritmo Genetikoak
* Sailkatzaile Bayestarrak
* Neurona-sare artifizialak

## Kanpo estekak 
* UEUeka. 2013an UEUn emandako Weka ikastaroan erabilitako gardenkiak.
* Weka, ikasketa automatikorako tresna: datuetatik erabakietara ikastaroa 2013an UEUn emanda.
* Weka 3: Data Mining Software in Java
* An Introduction to Data Mining. Saed Sayad.
* Mining: Practical Machine Learning Tools and Techniques liburua. 3rd. edition. Ian H. itten, Eibe Frank, Mark A. Hall. Morgan Kaufmann Publishers. ISBN: 978-0-12-374856-0