Log of /trunk/tmva/src/PDEFoamDecisionTreeDensity.cxx
Parent Directory
Revision
37683 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Dec 22 09:03:52 2010 UTC (4 years, 1 month ago) by
avoigt
Original Path:
branches/dev/tmva/src/PDEFoamDecisionTreeDensity.cxx
File length: 7078 byte(s)
Copied from:
branches/dev/tmvaValidation/PDEFoam3/src/PDEFoamDecisionTreeDensity.cxx revision 37682
Diff to
previous 37678
Merge complete branch dev/tmvaValidation/PDEFoam3 into dev/tmva
Release notes:
==============
New PDEFoam structure:
----------------------
The different PDEFoam variants are now subclasses of the class
TMVA::PDEFoam. These variants are:
- PDEFoamEvent (stores the number of events)
- PDEFoamDiscriminant (stores the discriminant)
- PDEFoamTarget (stores a single target)
- PDEFoamMultiTarget (variation of PDEFoamEvent)
- PDEFoamDecisionTree (decision tree-like cell splitting)
Per default PDEFoam stores in the cells the number of events (event
weights) and therefore acts as an event density estimator. However,
the above listed derived classes override this behaviour to implement
certain PDEFoam variations.
The different PDEFoam's density estimators are now derived classes of
the abstract interface class TMVA::PDEFoamDensityBase. These density
estimators are:
- PDEFoamEventDensity (estimates the event density)
- PDEFoamDiscriminantDensity (estimates the discriminant density)
- PDEFoamTargetDensity (estimates the target density)
- PDEFoamDecisionTreeDensity (estimates decision tree separation type)
The various PDEFoam kernels are now separate from the PDEFoam class.
The abstract kernel interface is provided by the class
TMVA::PDEFoamKernelBase. The concrete classes PDEFoamKernelTrivial,
PDEFoamKernelLinN and PDEFoamKernelGauss implement specific kernel
estimators.
Extended PDEFoam functionality:
-------------------------------
* Multiclass classification via training of one discriminator foam
for each variable.
* The cell tree can now be plotted from the macro test/PlotFoams.C
This makes it easyer to compare the PDEFoam structure to a
decision tree etc.
* Variable importance ranking by counting the number of cuts made in
the diverse dimensions. The variable, for which the most cuts
were done is ranked highest.
Fixed bugs:
-----------
* The size of the sampling box in each dimension was 2*VolFrac times
the foam size in this dimension. This was contrast to the
intention and the documentation in the UserGuide. This is now
corrected: The size of the sampling box in each dimension is now
VolFrac times the foam size in this dimension. This implies that
the VolFrac default value must be changed from 0.0333 to 0.0666 to
lead the same results.
Revision
37630 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Dec 17 14:13:26 2010 UTC (4 years, 1 month ago) by
avoigt
Original Path:
branches/dev/tmvaValidation/PDEFoam3/src/PDEFoamDecisionTreeDensity.cxx
File length: 7084 byte(s)
Diff to
previous 37629
Apply ROOT coding conventions to all new PDEFoam classes via astyle.
(The old PDEFoam classes are untouched in order to avoid problems when
merging this branch into dev/tmva later.)
The used astyle options are:
--style=k/r
--indent=spaces=3 # three spaces per indentation level
--convert-tabs # convert tabs into spaces
--indent-switches # case block is indented wrt switch
--indent-namespaces
--indent-preprocessor # indent pp statements ending on '\'
--max-instatement-indent=60 # if indentation of continuing line is <60, indent
--min-conditional-indent=0 # no extra indent for continued conditions
--pad-oper # space around operands
--pad-header # add a space around () after if, while,...
--unpad-paren # and remove all unwanted padding around parentheses
--suffix=none # no backups - we have subversion
--recursive # so you can do astyle "core/*.cxx" "core/*.h"
Revision
37349 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Dec 6 19:07:30 2010 UTC (4 years, 1 month ago) by
avoigt
Original Path:
branches/dev/tmvaValidation/PDEFoam3/src/PDEFoamDTDensity.cxx
File length: 7774 byte(s)
Diff to
previous 37320
Remove dependence of PDEFoamDensity of PDEFoam.
Now PDEFoamDensity has cleaner interface: It takes only the
range-searching volume box size as an argument. The special user
parameters fVolFrac and fDim were removed, because they can be
translated into the range-searching volume box. The return value of
Density() is now exactly the event density (number of events / box
volume) and no longer scaled by the foam volume.
The meaning of VolFrac was slightliy changed: The size of the
range-searching box is now equal to the inverse Volfrac (before it was
2^dim * Volfrac).
It was checked that the old ROC values can be reproduced (but with the
double Volfrac).
Revision
36992 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Added
Fri Nov 26 21:34:59 2010 UTC (4 years, 1 month ago) by
avoigt
Original Path:
branches/dev/tmvaValidation/PDEFoam2/src/PDEFoamDTDensity.cxx
File length: 7350 byte(s)
First step in making PDEFoam more flexible:
* Define abstract class PDEFoamDensity, which defines an interface for
the various density estimator functions. The classes
PDEFoam*Density are concrete derived classes, which implement the
concrete density to estimate: event density, target density,
discriminant density, decision tree density
* The decision tree like pdefoam is now a derived class of PDEFoam and
simply overrides Explore()
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
enter a numeric revision.