| Input: instance set , regression value set , the number of fuzzy granular regression tree |
| Output: boosted fuzzy granular regression trees |
| (1) | Get a fuzzy granular vector rule base by parallel fuzzy granulation of the dataset (see Algorithm 2, Algorithm 4, and Algorithm 5.) |
| (2) | Create tasks, namely, |
| (3) | Execute the following operations for each independent task (): |
| MapFunction(key, value), where key = offset of instance and indicates that fuzzy granular vectors are randomly |
| //selected from . |
| //Randomly select attributes from the attribute set (constitutes attribute subset , that is, ) |
| //Form a fuzzy granular rule set , build a fuzzy granular regression tree , and get its RMSE |
| , where . |
| (4) | FOR to instances-total-number |
| (5) | SubsetID = i mod J |
| (6) | context.write(SubsetID, FuzzyGranularVector) |
| (7) | END FOR |
| END MapFunction |
| (8) | ReduceFunction(key, value)//Here, key = SubsetID, value = FuzzyGranualrVector |
| (9) | Job.addCache(FuzzyGranularVector[SubsetID]) |
| (10) | = train(SubsetID, FuzzyGranularVector)//(See Step 6–Step 9 of Algorithm 2.) |
| (11) | context.write(1,()) |
| END ReduceFunction |
| (12) | //Calculate BFGRT composed of the linear combination of fuzzy granular regression trees. |
| Where . |