• No results found

Multi-Agent Based Clustering Demonstration

The proposed MADM framework introduced above was designed to act as a platform to support generic data mining. With reference to Figure 3.1, the desired data mining pro- cess commences with an end user instructing his/her User Agent to perform a specific data mining task. In the implementation of the MADM framework, this instruction was facilitated by a GUI included as part of the User Agent. The User Agent then spawns a specific Task Agent as directed by the end user’s instruction. The framework is facilitated with a number of kinds of generic Task Agent. The generated Task Agent then interacts with the house keeping agents to identify those agents that may best contribute to the resolution of the given data mining task. This generic process is illus- trated in Figure 3.1 where the directed arcs indicate communications between agents.

Table 3.1: The OntoDM.

\∗Top level utterances∗\

< U T T ERAN CE > ::= < DAT ABASE >< T ASKT Y P E >|< V ALIDAT ION >| |< DAT A REQ >|< DAT A >|< RESU LT S >|< ERROR >;

\∗Data Informative∗\

< DAT ABASE > ::= “Database” URL|“Database” URL< DAT A P ARAM S >; < DAT A P ARAM S > ::= “All”|< F ROM REC N O >< T O REC N O >|

< F ROM AT T N O >< T O AT T N O >| < F ROM REC N O >< T O REC N O >| < F ROM AT T N O >< T O AT T N O >;

\∗Data Mining Request∗\

< T ASKT Y P E > ::= < CLU ST ERIN G >|...; < CLU ST ERIN G > ::= < N AM E OF ALGO >|

< N AM E OF ALGO >< CLU ST ERIN G P ARAM >; < N AM E OF ALGO > ::= “K-means”|“K-NN”|“Divisive HC” ;

< CLU ST ERIN G P ARAM > ::= int|double|double int ;

\∗Validation Request∗\

< V ALIDAT ION > ::= < U N SU P ERV ISED V ALIDAT ION >|...; < U N SU P ERV ISED ::= < AP P ROACH N AM E >|

V ALIDAT ION > < AP P ROACH N AM E >< V ALIDAT ION P ARAM >;

< AP P ROACH N AM E > ::= “WGAD”|“BGAD”|“F-measure”|...; < V ALIDAT ION P ARAM > ::= < RESU LT S >|...;

\∗Data Request or Informative∗\

< DAT A REQ > ::= < DAT A P ARAM S >;

< DAT A > ::= array of data ;

\∗Results Informative∗\

< RESU LT S > ::= < CLU ST ER LIST OF LIST S >< ACCU RACY >|...; < CLU ST ER LIST OF LIST S > ::= “[”< CLU ST ERLIST >“]”|“[ ]” ;

< CLU ST ERLIST > ::= “[”< CLU ST ER >“]”|;

“[”< CLU ST ER >“]”< CLU ST ERLIST >; < CLU ST ER > ::= < RECN O >|< RECN O > < CLU ST ER >;

< RECN O > ::= int ;

\∗Error Informative∗\

< ERROR > ::= “null” ;

\∗Miscellaneous∗\

< F ROM REC N O > ::= int ;

< T O REC N O > ::= int ;

< F ROM AT T N O > ::= int ;

< T O AT T N O > ::= int ;

Note that in the chapter subsequent to this one various refinements to the framework, as described in this chapter, will be suggested specifically in the context of MABC.

With respect to MABC, once the Task Agent has identified appropriate clustering Data Mining Agents (there are a sequence ofN of these in Figure 3.1) the Task Agent requests the identified Clustering Agents to conduct the desired clustering with respect to the indicated data. Each Clustering Agent then communicates with the appropriate Data Agent (the Data Agent that has access to the indicated data source). As a consequence the Data Agent passes the data back to the Clustering Agent which then generates a set of clusters according to its specific clustering algorithm. The generated results are then passed to the Validating Agent, which determines the most appropriate set of clusters, according to some metrics (experiments using F-measure, WGAD and BGAD are reported in Section 3.3), and returns the “best” configuration to the Task Agent. The Task Agent then returns the result to the user, via the User Agent, after which the process is ended and the Task Agent ceases to exist (but the remaining agents persist).

This process is illustrated in Table 3.2, in terms of the agent communicative acts presented in Table 3.1 that are used at each stage. Note that the table does not include communication with the house keeping agents or communication from the User Agent to the Task Agent as neither is conducted using OntoDM. Communication with house keeping agents is as dictated by JADE. Communication from the User Agent to the Task Agent is integral to the Task Agent spawning process.

Table 3.2: Clustering Process in Terms of the Agent Communications using OntoDM. Step From Agent To Agent Message Content

1 Task Clustering “Database” URL “All” < N AM E OF ALGO >

Agent Agent < CLU ST ERIN G P ARAM >

2 Clustering Data “All” Agent Agent

3 Data Clustering array of data Agent Agent

4 Clustering Validation < AP P ROACH N AM E >

Agent Agent < CLU ST ER LIST OF LIST S >

5 Validation Task < CLU ST ER LIST OF LIST S >

Agent Agent < ACCU RACY >

6 Task User < CLU ST ER LIST OF LIST S >

Agent Agent < ACCU RACY >

The above scenario has been realised, and experimented with using a JADE imple- mentation of the proposed MADM framework. Three Clustering Agents were included, each with a distinct clustering algorithm: (i) K-means, (ii) K-NN and (iii) Divisive hierarchical clustering. Note that more clustering algorithms can be easily be added to the framework (provided they subscribe to OntoDM).