Information Technology Reference
In-Depth Information
setosa ; the second is Iris versicolor versus NOT Iris versicolor ; and the
last is Iris virginica versus NOT Iris virginica .
For all these sub-problems, F = {+, -, *, /} and the set of terminals in-
cludes obviously all the four attributes which were represented by d 0 - d 3 ,
corresponding, respectively, to sepal length, sepal width, petal length, and
petal width. The 0/1 rounding threshold was set to 0.5 and the fitness was
based on the number of hits and was evaluated by equation (3.8). Thus, for
this problem, f max = 150.
For all the sub-problems, I started with three-genic chromosomes with an
h = 8 and sub-ETs linked by addition. The first dataset ( Iris setosa versus
NOT Iris setosa ) was almost instantaneously classified without errors and I
soon found out that a very simple structure is required to classify correctly
this dataset. The model below perfectly classifies all the irises into Iris setosa
and NOT Iris setosa :
int apsModel(double d[])
{
const double ROUNDING_THRESHOLD = 0.5;
double dblTemp = 0;
dblTemp = (d[1]-d[2]);
return (dblTemp >= ROUNDING_THRESHOLD ? 1 : 0);
(4.11)
}
As you can see, only the difference between the sepal width and the petal
length is relevant to distinguish Iris setosa from Iris versicolor and Iris
virginica .
The classification of the remaining datasets was also extremely accurate,
but on both cases only 149 out of 150 samples were correctly classified. And
in both cases, the sub-models failed only to classify sample 84. The model
below distinguishes Iris versicolor from the other two irises:
int apsModel(double d[])
{
const double ROUNDING_THRESHOLD = 0.5;
double dblTemp = 0;
dblTemp = (d[3]*(((d[0]*d[3])-d[1])+((d[1]*d[2])-2])));
dblTemp += (((d[2]-(d[2]+d[2]))-(d[0]/d[0]))/d[3]);
dblTemp += (((d[0]-(d[2]*d[3]))*(d[2]-d[1]))*d[0]);
return (dblTemp >= ROUNDING_THRESHOLD ? 1 : 0);
} (4.12)
And the next model distinguishes Iris virginica from setosa and versicolor :
Search WWH ::




Custom Search