Changeset 85
- Timestamp:
- Jan 9, 2010, 6:45:35 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
proiecte/Parallel-DT/R8/Src/info.c
r69 r85 49 49 ResetFreq(MaxVal, Freq, ValFreq) 50 50 /* --------- */ 51 DiscrValue MaxVal; ItemCount** Freq; ItemCount* ValFreq; {51 DiscrValue MaxVal; ItemCount** Freq; ItemCount* ValFreq; { 52 52 DiscrValue v; 53 53 ClassNo c; … … 59 59 } 60 60 ValFreq[v] = 0; 61 } 62 } 63 64 void 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; 61 74 } 62 75 } … … 122 135 } 123 136 124 float ComputeGain_Discr(BaseInfo, UnknFrac, MaxVal, TotalItems, Freq , ValFreq)125 /* -----------*/126 float BaseInfo, UnknFrac;DiscrValue MaxVal;ItemCount TotalItems; ItemCount** Freq ; ItemCount* ValFreq;{137 float 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;{ 127 140 DiscrValue v; 128 141 float ThisInfo = 0.0, ThisGain, TotalInfo(); … … 137 150 138 151 ForEach(v, 1, MaxVal) { 139 if (ValFreq [v] >= MINOBJS)152 if (ValFreq_discr[v] >= MINOBJS) 140 153 ReasonableSubsets++; 141 154 } … … 147 160 148 161 ForEach(v, 1, MaxVal) { 149 ThisInfo += TotalInfo(Freq [v], 0, MaxClass);162 ThisInfo += TotalInfo(Freq_discr[v], 0, MaxClass); 150 163 } 151 164 … … 157 170 printf( 158 171 "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); 160 173 161 174 return ThisGain; … … 170 183 float TotalInfo(V, MinVal, MaxVal) 171 184 /* --------- */ 172 ItemCount V[];DiscrValue MinVal, MaxVal; {185 ItemCount* V;DiscrValue MinVal, MaxVal; { 173 186 DiscrValue v; 174 187 float Sum = 0.0; … … 184 197 return TotalItems * Log(TotalItems) - Sum; 185 198 } 199 186 200 187 201 /*************************************************************************/ … … 221 235 } 222 236 223 PrintDistribution_Discr(Att, MaxVal, ShowNames, Freq )237 PrintDistribution_Discr(Att, MaxVal, ShowNames, Freq_discr) 224 238 /* ----------------- */ 225 Attribute Att;DiscrValue MaxVal;Boolean ShowNames; ItemCount** Freq ;{239 Attribute Att;DiscrValue MaxVal;Boolean ShowNames; ItemCount** Freq_discr;{ 226 240 DiscrValue v; 227 241 ClassNo c; … … 244 258 245 259 ForEach(c, 0, MaxClass) { 246 printf(" %6.1f", Freq [v][c]);260 printf(" %6.1f", Freq_discr[v][c]); 247 261 } 248 262
Note: See TracChangeset
for help on using the changeset viewer.