In this section we present the extensible Suite for Dimensionality Reduction experimentation (xSDR). We commence by outlining its software architecture followed by various implementation details. Furthermore we analyze its key aspects and highlight its novel features. Finally we provide through screenshots a small experimentation scenario that highlights the merits of xSDR.
X-SDR is structured in four layers. The first comprises the data input layer that enables interaction with various data sources ranging from simple text files to database management systems (i.e. MySQL, MS SQL Server). Its main purpose is to transform the underlying data into n-dimensional vectors. These vectors are provided as input to the DR layer which incorporates a large number of DR techniques as well as the whole MTDR suite. Additionally, it supports experimentation with distributed DR algorithms, a feature that to the best of our knowledge uniquely characterizes our framework. In order to simulate the decentralization procedure, a network profile, in the form of an adjacency matrix, should also be provided. The latter is used for the definition of a star overlay network where the central node undertakes all tasks that need to be computed centrally.
The DR layer provides two outputs. The first is a set of metrics related to the electiveness and efficiency of the evaluated algorithm while the second is the low dimensional embedding of the initial dataset in vector format. Each algorithm is evaluated by its time requirements and the stress value it exhibits on the particular dataset.
The third and final layer of xSDR is the assessment layer. Assessment is accomplished either through visualization or further experimentation. Towards this end we have accommodated into xSDR the Weka environment. Consequently the results of each DR algorithm are evaluated with respect to the performance of prominent clustering and classification approaches. More over the combination of a large number of DR methods with data mining tools promotes it as an ideal candidate for teaching as well as research activities. The internal architecture of X-SDR is depicted in the figure below.

The
key feature of
xSDR is its extensibility. Extensibility is achieved by
a simple interface that enables any researcher to design his own
algorithm and experiment through
xSDR. All required parameters are
defined in XML format
and
incorporated as comments in the header of each MATLAB source file. Each
input parameter is identified by the triplet name,
type, value,
afterwards the header of the file is parsed and the input form is
dynamically created. During execution, the overarching application
formulates the required calls to the MATLAB server which in turn
executes the identified algorithm.
xSDR is implemented in C#
while all algorithms are implemented in MATLAB. The
interfacing of these technologies is accomplished via the COM Automation
Server. xSDR's deployment requires MATLAB and .NET framework (version
3.5 SP1) together with Microsoft Chart Controls library.