Homework78 : FFT

Now you build a learner. An FFT tree which, as you recall contains nodes tiwh two kids:

The core algorithm is very simple:

Here's what I get whet I take auto and run it through dom and then `fft. The numbers at the end of each line is the mean value of the depedent value in each cut. Note that the best cut we see gets us to examples with an average dom score of 74.

if      origin  is  3   ==> 74
else    %cylinders  is  4   ==> 70
else    %cylinders  is  5   ==> 65
else    %cylinders  is  6   ==> 39

Here's another run using the same data but this time I discretize the numerics using unsuper. Now we get much better ressults (note our best gets us to 92). So the lesson here is that median cuts (done above) can be much worse that unsupervised discretized cuts (done below).

if      horsepower  is  ..65    ==> 92
else    horsepower  is  66..69  ==> 86
else    displacement    is  97.5..101   ==> 82
else    displacement    is  85..91  ==> 79

What to hand in

The usual drill. A new sub-directory. Python source coe. and Example out .txt file.

Task7: FFT, part1 (due this week).

In task1, do not worry about unsupervised descritization or building the tree. That is next week.

Using the code at fft, generate the cuts and sort them by their mean goal score. Print out what you would use for the first cut of the first part of the FFT tree.

Don't worry if you do not exactly my best cuts. Near enough will do.

Task8: FFT, part2 (due this week).

Add in unsupervised descritization. And build the FFT trees recursively (where at each level, find the new best cuts).