Changeset 85


Ignore:
Timestamp:
Jan 9, 2010, 6:45:35 PM (14 years ago)
Author:
(none)
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • proiecte/Parallel-DT/R8/Src/info.c

    r69 r85  
    4949ResetFreq(MaxVal, Freq, ValFreq)
    5050        /*  ---------  */
    51         DiscrValue MaxVal; ItemCount** Freq; ItemCount* ValFreq; {
     51        DiscrValue MaxVal; ItemCount** Freq; ItemCount* ValFreq;  {
    5252        DiscrValue v;
    5353        ClassNo c;
     
    5959                }
    6060                ValFreq[v] = 0;
     61        }
     62}
     63
     64void ResetFreq_discr(MaxVal, Freq_discr, ValFreq_discr)
     65        DiscrValue MaxVal; ItemCount** Freq_discr; ItemCount* ValFreq_discr;{
     66        DiscrValue v;
     67        ClassNo c;
     68
     69        ForEach(v, 0, MaxVal) {
     70                ForEach(c, 0, MaxClass) {
     71                        Freq_discr[v][c] = 0;
     72                }
     73                ValFreq_discr[v] = 0;
    6174        }
    6275}
     
    122135}
    123136
    124 float ComputeGain_Discr(BaseInfo, UnknFrac, MaxVal, TotalItems, Freq, ValFreq)
    125         /*    ----------- */
    126         float BaseInfo, UnknFrac;DiscrValue MaxVal;ItemCount TotalItems; ItemCount** Freq; ItemCount* ValFreq; {
     137float ComputeGain_Discr(BaseInfo, UnknFrac, MaxVal, TotalItems, Freq_discr,ValFreq_discr)
     138        /* --------- */
     139        float BaseInfo, UnknFrac;DiscrValue MaxVal;ItemCount TotalItems; ItemCount** Freq_discr; ItemCount* ValFreq_discr;{
    127140        DiscrValue v;
    128141        float ThisInfo = 0.0, ThisGain, TotalInfo();
     
    137150
    138151        ForEach(v, 1, MaxVal) {
    139                 if (ValFreq[v] >= MINOBJS)
     152                if (ValFreq_discr[v] >= MINOBJS)
    140153                        ReasonableSubsets++;
    141154        }
     
    147160
    148161        ForEach(v, 1, MaxVal) {
    149                 ThisInfo += TotalInfo(Freq[v], 0, MaxClass);
     162                ThisInfo += TotalInfo(Freq_discr[v], 0, MaxClass);
    150163        }
    151164
     
    157170                printf(
    158171                                "ComputeThisGain: items %.1f info %.3f base %.3f unkn %.3f result %.3f\n",
    159                                 TotalItems + ValFreq[0], ThisInfo, BaseInfo, UnknFrac, ThisGain);
     172                                TotalItems + ValFreq_discr[0], ThisInfo, BaseInfo, UnknFrac, ThisGain);
    160173
    161174        return ThisGain;
     
    170183float TotalInfo(V, MinVal, MaxVal)
    171184        /*    ---------  */
    172         ItemCount V[];DiscrValue MinVal, MaxVal; {
     185        ItemCount* V;DiscrValue MinVal, MaxVal; {
    173186        DiscrValue v;
    174187        float Sum = 0.0;
     
    184197        return TotalItems * Log(TotalItems) - Sum;
    185198}
     199
    186200
    187201/*************************************************************************/
     
    221235}
    222236
    223 PrintDistribution_Discr(Att, MaxVal, ShowNames, Freq)
     237PrintDistribution_Discr(Att, MaxVal, ShowNames, Freq_discr)
    224238        /*  -----------------  */
    225         Attribute Att;DiscrValue MaxVal;Boolean ShowNames; ItemCount** Freq;{
     239        Attribute Att;DiscrValue MaxVal;Boolean ShowNames; ItemCount** Freq_discr;{
    226240        DiscrValue v;
    227241        ClassNo c;
     
    244258
    245259                ForEach(c, 0, MaxClass) {
    246                         printf(" %6.1f", Freq[v][c]);
     260                        printf(" %6.1f", Freq_discr[v][c]);
    247261                }
    248262
Note: See TracChangeset for help on using the changeset viewer.