- Timestamp:
- Jan 12, 2010, 9:13:29 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
proiecte/Parallel-DT/R8/Src/discr.c
r84 r103 48 48 } 49 49 50 EvalDiscreteAtt_Discr(Att, Fp, Lp, Items, Freq_discr, ValFreq_discr, UnknownRate_discr )50 EvalDiscreteAtt_Discr(Att, Fp, Lp, Items, Freq_discr, ValFreq_discr, UnknownRate_discr, the_gain, the_info) 51 51 /* --------------- */ 52 Attribute Att;ItemNo Fp, Lp;ItemCount Items; ItemCount** Freq_discr; ItemCount* ValFreq_discr; float* UnknownRate_discr; { 52 Attribute Att;ItemNo Fp, Lp;ItemCount Items; ItemCount** Freq_discr; ItemCount* ValFreq_discr; float* UnknownRate_discr; 53 float* the_gain; float* the_info;{ 53 54 ItemCount KnownItems; 54 55 float DiscrKnownBaseInfo_Discr(), ComputeGain_Discr(), TotalInfo(); … … 64 65 printf("\tAtt %s: no known values\n", AttName[Att]); 65 66 66 Gain[Att]= -Epsilon;67 Info[Att]= 0.0;67 *the_gain = -Epsilon; 68 *the_info = 0.0; 68 69 return; 69 70 } 70 71 71 Gain[Att]= ComputeGain_Discr(DiscrKnownBaseInfo_Discr(KnownItems, MaxAttVal[Att], Freq_discr),72 *the_gain = ComputeGain_Discr(DiscrKnownBaseInfo_Discr(KnownItems, MaxAttVal[Att], Freq_discr), 72 73 UnknownRate_discr[Att], MaxAttVal[Att], KnownItems, Freq_discr, ValFreq_discr); 73 Info[Att]= TotalInfo(ValFreq_discr, 0, MaxAttVal[Att]) / Items;74 *the_info = TotalInfo(ValFreq_discr, 0, MaxAttVal[Att]) / Items; 74 75 75 76 Verbosity(2) { … … 77 78 Verbosity(3) 78 79 PrintDistribution_Discr(Att, MaxAttVal[Att], true, Freq_discr); 79 printf("\tinf %.3f, gain %.3f\n", Info[Att], Gain[Att]);80 printf("\tinf %.3f, gain %.3f\n", *the_info, *the_gain); 80 81 } 81 82 … … 102 103 with each possible value for the given attribute */ 103 104 104 #pragma omp parallel for private(p, Case)105 105 ForEach(p, Fp, Lp) { 106 106 Case = Item[p]; 107 #pragma omp critical108 107 Freq[DVal(Case,Att)][Class(Case)] += Weight[p]; 109 108 } … … 112 111 given attribute */ 113 112 114 #pragma omp parallel for private(v)115 113 ForEach(v, 0, MaxAttVal[Att]) { 116 114 ForEach(c, 0, MaxClass) { … … 171 169 DiscrValue v; 172 170 173 //#pragma omp parallel for174 171 ForEach(c, 0, MaxClass) { 175 172 ClassCount = 0;
Note: See TracChangeset
for help on using the changeset viewer.