# An FCM-GABPN Ensemble Approach for Material Feeding Prediction of Printed Circuit Board Template
## 4 Experimental Results and Discussions  
The proposed FCM-GABPN was implemented by Python 3.6. The number of clusters was set to three while conducting FCM for the purpose of reducing the number of training, testing, and model maintenance in the workshop, but also to achieve good enough prediction accuracy based on some initial test. The hyper-parameter \(m\) that controls how fuzzy the cluster was commonly set to 2 [31], and it was adopted here. The maximum number of iterations of FCM was set to 800. If FCM cluster samples fall into the category with the highest membership value, the templates will be cluster into C1, C2, and C3, with 20,773, 1354, and 7030 samples, respectively. The membership value giving the membership degree of each sample (samples were clustered into C1, C2, and C3 here for visualization) being in the three categories is illustrated in Figure 3. The membership degree of each sample will be taken as part of the input of the aggregator BPN to perform nonlinear aggregation, as shown in Figure 1.  
The mean values of input attributes in the three categories are given in Figure 4. The mean values of _Reqq_, _Reqp_, and _Reqa_ are comparatively different in the three categories; and they are the main attributes to distinguish and identify samples within each category, which is consistent with practice in which the workshop also regards order scale (_Reqa_, _Reqp_, and _Reqa_) as important variables to classify orders. Meanwhile, the mean values of _Mwil_, _Mlsil_, and _Mwol_ in C2 is lower than the corresponding values in C1 and C3, but the \(Ln\) is higher, which indicates that, the higher \(Ln\) is, the denser the lines that coincide with the actual situation are. The membership threshold \(\mu_{L}\) should be specified for adopting samples in network learning. The numbers of samples within the three categories with different \(\mu_{L}\) are given in Table 2. The 0.4 was selected as the threshold to generate training and testing samples, not only to make sure there were enough training and testing samples for each category, but also in case a template was clustered into multiple categories with different membership degrees. Then 2/3 and 1/3 of mutually exclusive samples were randomly selected as training and testing data for each category at each run. The unclassified  
Figure 4: Comparison of mean value of attributes in each category. Figure 3: The membership value of each sample. Figure 5: Importance scores of attributes. Each GABPN model was trained by the training samples and the selected attributes given in Table 4. All samples belonging to a category compete in the same way in training the GABPN geared to the category. Prediction models of GABPN were trained and tested for each category separately, while the aggregator BPN was trained with all the training samples and tested by all the testing samples. The GA parameters of population size, crossover probability, mutational probability, and the number of iterations of the three GABPNs were set to 100, 0.8, 0.05, and 100, according to some initial test. The convergences of GA for the initial parameter optimization of the three BPNs are illustrated in Figure 6. On the basis of the optimized parameters, the three BPNs were trained in parallel, and the output of the three prediction models was set into the aggregator BPN, with the membership degree of each sample obtained by FCM given in Figure 3. The predicted feeding panel of each sample can be determined according to the transformation described in Section 3.4, based on the reversely normalized output of the aggregator BPN.