English Français

Documentation / Manuel utilisateur en Python : PDF version

III.7. The Vectorial Quantification method

III.7. The Vectorial Quantification method

This method is called when instead of having a list of input parameters (in terms of stochastic distribution) that one would like to transform into a design-of-experiments, the user has a dataset, made out of a very large number of points. In this case, it is possible, using the TNeuralGas class, to create sub-sample of points that would be representative of the complete provided-set, based on a NeuralGas algorithm. This might be useful in order to test the output of long and complicated codes or computations without leaving aside a possible area of the input parameter values.
Figure III.16 shows the effect of the reduction of the sample in the simple case of a two-dimensional plane, when considering the "geyser.dat" file and its sub-sample of 50 points.

Figure III.16.  Example of a dataset reduction (the geyser one) using the NeuralGas algorithm, to go from 272 points (left) to 50 one (right)

Example of a dataset reduction (the geyser one) using the NeuralGas algorithm, to go from 272 points (left) to 50 one (right)


Here is an example of how to use the neuralgas algorithm to reduce a database.

c = ROOT.TCanvas("Can", "Can", 10, 32, 1300, 600) 1
c.Divide(2, 1)

tdsGeyser = DataServer.TDataServer("tdsgeyser", "Neural Gas for Geyser")
tdsGeyser.fileDataRead("geyser.dat")

tvq = Sampler.TNeuralGas(tdsGeyser, "", 50) 2
tvq.setDrawProgressBar(False) 
tdsng = tvq.getSubSample("loop=20") 3

c.cd(1)
tdsGeyser.draw("x2:x1")
ROOT.gPad.GetPrimitive("__tdshisto__0").SetTitle("Geyser, 272 points") 4

c.cd(2)
tdsng.draw("x2:x1")
ROOT.gPad.GetPrimitive("__tdshisto__0").SetTitle("VQ, 50 points")

Construction of the plot

1

Creation of TCanvas subdivided into two pieces to compare results.

2

Construction of the neuralgas object from the provided database

3

Get the sub-sample as a new dataserver, after looping 20 the algorithm

4

Access the latest histogram drawn on current pad, to change its title

/language/en