# Random Fuzzy Granular Decision Tree

Authors: Wei Li; Xiaoyu Ma; Yumin Chen; Bin Dai; Runjing Chen; Chao Tang; Youmeng Luo; Kaiqiang Zhang
Journal: Mathematical Problems in Engineering
 (2021)

---

## Abstract

In this study, the classification problem is solved from the view of granular computing. That is, the classification problem is equivalently transformed into the fuzzy granular space to solve. Most classification algorithms are only adopted to handle numerical data; random fuzzy granular decision tree (RFGDT) can handle not only numerical data but also nonnumerical data like information granules. Measures can be taken in four ways as follows. First, an adaptive global random clustering (AGRC) algorithm is proposed, which can adaptively find the optimal cluster centers and maximize the ratio of interclass standard deviation to intraclass standard deviation, and avoid falling into local optimal solution; second, on the basis of AGRC, a parallel model is designed for fuzzy granulation of data to construct granular space, which can greatly enhance the efficiency compared with serial granulation of data; third, in the fuzzy granular space, we design RFGDT to classify the fuzzy granules, which can select important features as tree nodes based on information gain ratio and avoid the problem of overfitting based on the pruning algorithm proposed. Finally, we employ the dataset from UC Irvine Machine Learning Repository for verification. Theory and experimental results prove that RFGDT has high efficiency and accuracy and is robust in solving classification problems.


---

## Body

## 1. Introduction

The classification problem is a necessary research topic in data mining fields. Among classification approaches, the decision tree is very effective. It has the advantages of high classification accuracy, few parameters, and strong interpretability. Decision trees have been widely adopted in business, medical care, etc., and have achieved remarkable results. Data generated in daily life is increasing rapidly, which brings opportunities and challenges for decision trees to solve large-scale data classification problems. Decision tree is an inductive learning algorithm on the basis of examples. With the in-depth research on decision tree algorithms and the diversified needs in practical applications, a variety of learning algorithms or models for constructing decision trees have been proposed.


### 1.1. Information Entropy Decision Tree

Quinlan proposed the ID3 decision tree algorithm. This algorithm employs information gain in information theory as an evaluation of feature quality in the process of splitting tree nodes, and the feature with the largest information gain and the corresponding split point will be used for the construction of the node [1]. The ID3 algorithm is a clear and quick method, but it also has some obvious shortcomings. First of all, in the scope of processing datasets, it is not suitable for datasets containing continuous features; secondly, it tends to choose conditional features with more values as the optimal splitting features. In the same year, Schlimer and Fisher et al. proposed the ID4 decision tree method, which constructs decision trees in an incremental manner [2]. Two years later, ID5 algorithm was presented by Utgof et al., which allows the structure of the existing decision tree to be modified by adding new training instances without the need for retraining [3]. In addition, Xiaohu Liu and his colleagues also discussed the decision tree construction by considering both the information gain brought about by the conditional feature of the current node and the information gain of the conditional feature of the next node when selecting the split feature [4]. Aiming at the shortcomings of ID3 decision trees in selecting features, Xizhao Wang et al. selected appropriate decision tree branches for merging during the construction of decision trees. This algorithm can increase the comprehensibility, improve the generality, and reduce the complexity [5]. The C4.5 decision tree improved performance compared with ID3 algorithm, proposed by Quinlan et al. in 1993 [6]. To solve the bias problem of information gain when selecting split features, this method employs the information gain rate as a metric for choosing split features. Also, the C4.5 algorithm also has the advantage of processing continuous features, discrete features, and incomplete datasets, which has stronger applicability than the ID3 algorithm. When constructing the C4.5 decision tree, the pruning operation is adopted, which can enhance the efficiency of the decision tree, reduce the scale of the decision tree, and effectively avoid the problem of overfitting. Domingos and his colleagues presented a very fast decision tree for data flow, which is called VFDT [7]. The algorithm shortens the training time of the decision tree by using sampling technology. Hulten designed CVFDT algorithm, which extended VFDT and required users to give parameters in advance [8]. Recently, some researchers have also proposed many other decision tree algorithms based on information entropy [9–16].


### 1.2. Gini Coefficient Decision Tree

In 1984, Breiman and his colleagues designed the CART algorithm, which adopts Gini coefficient as a metric for feature splitting, and chooses the conditional feature with the smallest Gini coefficient as the splitting feature of the tree node to generate a decision tree [17]. When generating a decision tree, if the purity of the spanning tree node is greater than or equal to the threshold assigned in advance, the tree node is stopped from dividing and then the main label of the instance data covered by the node is used as the label of the leaf node label. Meanwhile, the approach adopts resampling to analyze the accuracy of the constructed decision tree and perform pruning operations, and the decision tree with high accuracy and the smallest size is selected as the final decision tree. Here, the pruning method adopts the minimum cost complexity method, MCCP, which can solve the problem of overfitting, reduce the size, and improve interpretability. CART also has its own shortcomings. Due to the limitation of computer memory, this method cannot effectively process large-scale datasets. Aiming at the shortcomings of the CART algorithm in computer memory, in 1996 Mehta et al. proposed an SLIQ decision tree [18]. When building the decision tree, instances are presorted, and then the breadth-first method is used to choose the optimal split feature. The SLIQ algorithm has the advantages of fast calculation speed and ability to process larger datasets. When the data exceed the memory capacity, this method employs feature lists, classification lists, and class histograms to get the solution. However, when the amount of data is large to a certain extent, the algorithm still faces the problem of insufficient memory [19]. In 1998, Rastogi et al. presented a public decision tree algorithm [20]. The algorithm integrates the tree construction process with the tree adjustment process. By calculating the cost function value of the tree node, it is judged whether the node needs to be pruned or expanded. If it is not expanded, the node is marked as a leaf node. The combination of the establishment process and the adjustment process greatly increases the training efficiency of the public decision tree. The Rain Forest is a framework of the decision tree proposed by Gehrke and his colleagues in 2000 [21]. The research aim of the algorithm was to enhance scalability of decision tree and reduce the consumption of computer memory resources as much as possible.


### 1.3. Rough Set Decision Tree

Incorporating the rough set theory into the decision tree can make the decision tree have the ability to handle uncertain, incomplete, and inconsistent data. When using rough set to generate a decision tree, the main research focus is how to use rough set theory to choose node splitting features. Miao and his colleagues designed a rough set based on multivariate decision tree algorithm. The method first selects the conditional features in the kernel to construct a multivariate test, and then generates a new feature to split the node [22]. The advantage of this algorithm is that the training efficiency is relatively high, but because there are too many variables in the nodes of the decision tree, the interpretability of the decision tree is difficult. Wang et al. designed a fuzzy decision tree on the basis of rough set, which uses fuzzy integration to keep the results consistent [23]. In 2011, Zhai and his colleagues adopted the fuzzy rough set to generate a decision tree and presented a new selection criterion for fuzzy condition features [24]. Wei et al. constructed a decision tree according to a variable precision rough set, which allows small error in the classification process and improves the generalization ability of the decision tree [25]. Jiang and his colleagues designed an incremental decision tree learning method via rough set, and used this method to discuss the problem of network intrusion detection [26]. In 2012, Hu and others proposed a monotonous ordered mutual information decision tree. This decision tree employs the dominant rough set theory to establish a new metric to measure feature quality to construct tree nodes. This decision tree can be resistant to noise, handle monotonous classification problems, and has good effects on general classification problems [27]. On the basis of the algorithm, Qian and his colleagues designed a fusion monotonic decision tree. The algorithm uses feature selection technology to generate multiple data feature distributions to construct multiple decision trees, and employs these decision trees to make comprehensive decisions [28]. Pei and his colleagues designed a monotonously constrained multivariate decision tree. The algorithm first uses the ordered mutual information splitting criterion to generate different data subsets, and then optimizes these subdata to build a decision tree [29].


### 1.4. Parallel Decision Tree

Nonparallel or serial decision trees have received extensive and in-depth research and development, and a lot of decision tree models and algorithms have been proposed, but due to the recursive characteristics of decision trees and computing platforms, relatively speaking, the research of decision trees parallelization is not very extensive. The following is a brief review and summary of the current research status of parallel decision trees. The research on parallel decision tree started with SPRINT proposed by Shafer et al. in 1996 [30]. The algorithm tries to avoid the problem of insufficient memory by improving data structure during the growth of decision tree, but during calculation of the tree splitting node, the algorithm requires a broadcast from the entire instance to the entire instance. Kufrin et al. discussed the parallelization of decision trees and introduced a parallelization framework in 1997 [31]. One year later, Joshi and his team proposed a parallel form of decision tree similar to SPRIENT. It is different from the traditional depth-first construction method of decision tree. The algorithm adopts a breadth-first form of decision tree growth within a parallel framework. This method can avoid possible load imbalance problem [32]. Srivastava and his team presented two parallel decision tree models on the basis of the synchronous construction approach and the asynchronous construction method, but both of these models have large communication overhead and load imbalance problems [33]. Shent et al. gave a parallel decision tree that divides the input instance into four subsets to build a decision tree, and applied the generated parallel decision tree to the user authentication problem [34]. With the in-depth research on parallel decision trees and the emergence of MapReduce distributed computing frameworks, Panda et al. designed a parallel decision tree in 2009, which relies on multiple distributed computing frameworks [35]. Walkowiak and his colleagues focused on the parallelization of decision trees, and proposed an optimization model for network computing for the distributed implementation of decision trees [36]. In 2012, Yin et al. adopted the scalable regression tree algorithm to give a parallel implementation of the Planet algorithm under the MapReduce framework [37]. In response to the problem of overlearning or overfitting, Wang Ran et al. proposed an extreme learning machine decision tree on the basis of a parallel computing framework, but the disadvantage of this algorithm is that it can only handle numerical datasets and cannot handle mixed dataset [38]. The parallel C4.5 decision tree proposed in [39] considers the problem of overfitting and mixed data types. Aiming at the ordered mutual information decision tree that is widely used in monotonic classification problems, Mu and his colleagues presented a fast version and gave its parallel implementation [40]. There are other parallel decision tree approaches proposed like distributed fuzzy decision tree [41], parallel Pearson correlation coefficient decision tree [42], etc. In addition to the above research, Li and other researchers proposed some classification and alignment algorithms [43–49] from the perspective of granular computing, which have good performance.


## 1.1. Information Entropy Decision Tree

Quinlan proposed the ID3 decision tree algorithm. This algorithm employs information gain in information theory as an evaluation of feature quality in the process of splitting tree nodes, and the feature with the largest information gain and the corresponding split point will be used for the construction of the node [1]. The ID3 algorithm is a clear and quick method, but it also has some obvious shortcomings. First of all, in the scope of processing datasets, it is not suitable for datasets containing continuous features; secondly, it tends to choose conditional features with more values as the optimal splitting features. In the same year, Schlimer and Fisher et al. proposed the ID4 decision tree method, which constructs decision trees in an incremental manner [2]. Two years later, ID5 algorithm was presented by Utgof et al., which allows the structure of the existing decision tree to be modified by adding new training instances without the need for retraining [3]. In addition, Xiaohu Liu and his colleagues also discussed the decision tree construction by considering both the information gain brought about by the conditional feature of the current node and the information gain of the conditional feature of the next node when selecting the split feature [4]. Aiming at the shortcomings of ID3 decision trees in selecting features, Xizhao Wang et al. selected appropriate decision tree branches for merging during the construction of decision trees. This algorithm can increase the comprehensibility, improve the generality, and reduce the complexity [5]. The C4.5 decision tree improved performance compared with ID3 algorithm, proposed by Quinlan et al. in 1993 [6]. To solve the bias problem of information gain when selecting split features, this method employs the information gain rate as a metric for choosing split features. Also, the C4.5 algorithm also has the advantage of processing continuous features, discrete features, and incomplete datasets, which has stronger applicability than the ID3 algorithm. When constructing the C4.5 decision tree, the pruning operation is adopted, which can enhance the efficiency of the decision tree, reduce the scale of the decision tree, and effectively avoid the problem of overfitting. Domingos and his colleagues presented a very fast decision tree for data flow, which is called VFDT [7]. The algorithm shortens the training time of the decision tree by using sampling technology. Hulten designed CVFDT algorithm, which extended VFDT and required users to give parameters in advance [8]. Recently, some researchers have also proposed many other decision tree algorithms based on information entropy [9–16].


## 1.2. Gini Coefficient Decision Tree

In 1984, Breiman and his colleagues designed the CART algorithm, which adopts Gini coefficient as a metric for feature splitting, and chooses the conditional feature with the smallest Gini coefficient as the splitting feature of the tree node to generate a decision tree [17]. When generating a decision tree, if the purity of the spanning tree node is greater than or equal to the threshold assigned in advance, the tree node is stopped from dividing and then the main label of the instance data covered by the node is used as the label of the leaf node label. Meanwhile, the approach adopts resampling to analyze the accuracy of the constructed decision tree and perform pruning operations, and the decision tree with high accuracy and the smallest size is selected as the final decision tree. Here, the pruning method adopts the minimum cost complexity method, MCCP, which can solve the problem of overfitting, reduce the size, and improve interpretability. CART also has its own shortcomings. Due to the limitation of computer memory, this method cannot effectively process large-scale datasets. Aiming at the shortcomings of the CART algorithm in computer memory, in 1996 Mehta et al. proposed an SLIQ decision tree [18]. When building the decision tree, instances are presorted, and then the breadth-first method is used to choose the optimal split feature. The SLIQ algorithm has the advantages of fast calculation speed and ability to process larger datasets. When the data exceed the memory capacity, this method employs feature lists, classification lists, and class histograms to get the solution. However, when the amount of data is large to a certain extent, the algorithm still faces the problem of insufficient memory [19]. In 1998, Rastogi et al. presented a public decision tree algorithm [20]. The algorithm integrates the tree construction process with the tree adjustment process. By calculating the cost function value of the tree node, it is judged whether the node needs to be pruned or expanded. If it is not expanded, the node is marked as a leaf node. The combination of the establishment process and the adjustment process greatly increases the training efficiency of the public decision tree. The Rain Forest is a framework of the decision tree proposed by Gehrke and his colleagues in 2000 [21]. The research aim of the algorithm was to enhance scalability of decision tree and reduce the consumption of computer memory resources as much as possible.


## 1.3. Rough Set Decision Tree

Incorporating the rough set theory into the decision tree can make the decision tree have the ability to handle uncertain, incomplete, and inconsistent data. When using rough set to generate a decision tree, the main research focus is how to use rough set theory to choose node splitting features. Miao and his colleagues designed a rough set based on multivariate decision tree algorithm. The method first selects the conditional features in the kernel to construct a multivariate test, and then generates a new feature to split the node [22]. The advantage of this algorithm is that the training efficiency is relatively high, but because there are too many variables in the nodes of the decision tree, the interpretability of the decision tree is difficult. Wang et al. designed a fuzzy decision tree on the basis of rough set, which uses fuzzy integration to keep the results consistent [23]. In 2011, Zhai and his colleagues adopted the fuzzy rough set to generate a decision tree and presented a new selection criterion for fuzzy condition features [24]. Wei et al. constructed a decision tree according to a variable precision rough set, which allows small error in the classification process and improves the generalization ability of the decision tree [25]. Jiang and his colleagues designed an incremental decision tree learning method via rough set, and used this method to discuss the problem of network intrusion detection [26]. In 2012, Hu and others proposed a monotonous ordered mutual information decision tree. This decision tree employs the dominant rough set theory to establish a new metric to measure feature quality to construct tree nodes. This decision tree can be resistant to noise, handle monotonous classification problems, and has good effects on general classification problems [27]. On the basis of the algorithm, Qian and his colleagues designed a fusion monotonic decision tree. The algorithm uses feature selection technology to generate multiple data feature distributions to construct multiple decision trees, and employs these decision trees to make comprehensive decisions [28]. Pei and his colleagues designed a monotonously constrained multivariate decision tree. The algorithm first uses the ordered mutual information splitting criterion to generate different data subsets, and then optimizes these subdata to build a decision tree [29].


## 1.4. Parallel Decision Tree

Nonparallel or serial decision trees have received extensive and in-depth research and development, and a lot of decision tree models and algorithms have been proposed, but due to the recursive characteristics of decision trees and computing platforms, relatively speaking, the research of decision trees parallelization is not very extensive. The following is a brief review and summary of the current research status of parallel decision trees. The research on parallel decision tree started with SPRINT proposed by Shafer et al. in 1996 [30]. The algorithm tries to avoid the problem of insufficient memory by improving data structure during the growth of decision tree, but during calculation of the tree splitting node, the algorithm requires a broadcast from the entire instance to the entire instance. Kufrin et al. discussed the parallelization of decision trees and introduced a parallelization framework in 1997 [31]. One year later, Joshi and his team proposed a parallel form of decision tree similar to SPRIENT. It is different from the traditional depth-first construction method of decision tree. The algorithm adopts a breadth-first form of decision tree growth within a parallel framework. This method can avoid possible load imbalance problem [32]. Srivastava and his team presented two parallel decision tree models on the basis of the synchronous construction approach and the asynchronous construction method, but both of these models have large communication overhead and load imbalance problems [33]. Shent et al. gave a parallel decision tree that divides the input instance into four subsets to build a decision tree, and applied the generated parallel decision tree to the user authentication problem [34]. With the in-depth research on parallel decision trees and the emergence of MapReduce distributed computing frameworks, Panda et al. designed a parallel decision tree in 2009, which relies on multiple distributed computing frameworks [35]. Walkowiak and his colleagues focused on the parallelization of decision trees, and proposed an optimization model for network computing for the distributed implementation of decision trees [36]. In 2012, Yin et al. adopted the scalable regression tree algorithm to give a parallel implementation of the Planet algorithm under the MapReduce framework [37]. In response to the problem of overlearning or overfitting, Wang Ran et al. proposed an extreme learning machine decision tree on the basis of a parallel computing framework, but the disadvantage of this algorithm is that it can only handle numerical datasets and cannot handle mixed dataset [38]. The parallel C4.5 decision tree proposed in [39] considers the problem of overfitting and mixed data types. Aiming at the ordered mutual information decision tree that is widely used in monotonic classification problems, Mu and his colleagues presented a fast version and gave its parallel implementation [40]. There are other parallel decision tree approaches proposed like distributed fuzzy decision tree [41], parallel Pearson correlation coefficient decision tree [42], etc. In addition to the above research, Li and other researchers proposed some classification and alignment algorithms [43–49] from the perspective of granular computing, which have good performance.


## 2. Contributions

In this study, a decision tree is constructed in granular space to solve the classification problem. The main contributions are as follows:(i)
We propose AGRC that can adaptively give the optimal cluster centers, which is a global optimization method and can avoid falling into local optimization solution.(ii)
We design the parallel granulation method based on the above clustering algorithm, which solves the problem of high complexity of traditional serial granulation and enhances the granulation efficiency.(iii)
In granular space, we define fuzzy granules and related operators and select features based on the information gain ratio to construct a fuzzy granular decision tree for classification. To avoid overlearning, we also design the corresponding pruning algorithm. The method presented can solve binary classification or multiclassification problem and give feature importance according to the order of the tree node generated.


## 3. The Problem

LetS=X,R,Y,f,V be a classification system. The goal is to design a classification algorithm. During the process, parameters can be obtained by statistic instances. Then, the label of instance can be predicted by the model. The symbols mentioned above can be explained in detail as follows. X=x1,x2,…,xn is an instance set. R=r1,r2,…,rm represents a feature set. V=∪r∈RVr,Vr denotes the value region of feature r. h:X×R⟶V expresses an information function that allocates a value for each feature, that is, ∀r∈R,x∈X,hx,r∈Vr. Y=y1,y2,…,yl indicates a label set, where yj is a label w.r.t. instance xi.


## 4. The Algorithm Description

To obtain the solution of classification problem described in Section3, the model can be presented as follows. First of all, to enhance the efficiency as much as possible, we need to cluster the data. During the process, an adaptive clustering algorithm is designed, which can obtain the quantity of cluster and the cluster centers automatically. Second, on the basis of the quantity of center and the cluster centers, a parallel granulation is executed by calculating the distance between instances and cluster centers and dividing instances set into instances subsets. Third, the problem of instance classification can be converted into the problem of granule classification in granular space. Fuzzy granules, related operators, and cost function are defined in granular space. Splitting nodes can be found by solving cost function to build a fuzzy granular decision tree. Fourth, the pruning algorithm w.r.t. RFGDT is designed. Finally, the label of test instance can be predicted by RFGDT. The overview is described in Figure 1.Figure 1
Overview of RFGDT.


### 4.1. Theory of AGRC

K-means algorithm is an unsupervised classification approach. The cluster centers and their numbers need to be specified in advance. The results obtained rely on the above cluster center. If the initial cluster center is not well selected, it will fall into a local optimal solution. An Adaptive Global Random Clustering algorithm is proposed, which adaptively selects cluster centers and their numbers, and the initial selection of cluster centers is random, which is a global optimization approach. The thought is as follows. We know that if the between-cluster variance α is large and the intracluster variance θk is small, then the performance is great. Hence, α2/∑k=1Kθk2 can be used as an evaluation indicator, where α represents standard deviation of intercluster and θk denotes standard deviation of k−th inner-cluster. The goal is to increase the ratio α2/∑k=1Kθk2 continuously until the maximum iteration is achieved. In each iteration, we have a set of new cluster centers and these parameters, including the quantity of cluster centers, cluster centers and evaluation values, are combined into an evaluation set. When the process is over, we can get cluster centers that are corresponding to the largest evaluation value in the evaluation set, which are the optimal parameters. Here, in each iteration, we select an instance as the next cluster center with a certain probability, until the quantity of cluster centers meets the preset in this iteration. The process is described as follows:Step I: remove instances of missing feature values.Step II: normalize feature values of instances into0,1.Step III: assign maximum iterationsMax, evaluation set E=ϕ (composed of standard deviation of intercluster, standard deviation of inner-cluster, and evaluation value), and iteration t=1.Step IV: assign current cluster center setCt=ϕ and the quantity of current cluster center k=0 and generate a random number n within 1,N as the quantity of cluster center.Step V: randomly select one instancexi as a cluster center and set k=k+1, ck=xi, Ct=Ct∪ckStep VI: calculate the shortest distance between the remaining instances and all cluster centers(1)Dxj=mindistxj,c1,…,distxj,ck,and the probability of an instance being selected as the next cluster center is(2)pxj=Dxj2∑i=1nDxi2.Step VII: ifxj is selected as cluster center, we set k=k+1, ck=xj, Ct=Ct∪ck.Step VIII: ifk<n, go to Step V; otherwise, go to Step IX.Step IX: calculate the standard deviation of intercluster and the standard deviation of inner-cluster and update the evaluation set, that is,(3)E=E∪αt,θ1,…,θk.Step X: update iterationt←t+1.Step XI: ifMax<t, go to Step XII; or else, go to Step IV.Step XII: in evaluation setE, the cluster center set with the largest ratio of the intercluster standard deviation to the sum of inner-cluster standard deviation,(4)C∗=c1,c2,…,cC∗=argmax1≤t≤Maxαt∑j=1Ctθj,and the quantity of cluster center corresponding to it,K=C∗ (here, · expresses the quantity of elements of the set), is the optimal solution.Step XIII: end.The principle of Adaptive Global Random Clustering is given. On the basis of the principle, the algorithm is as shown in Algorithm1.Algorithm 1: Adaptive global random clustering.
Input: instance setX, maximum iterations MaxOutput: optimal cluster center setC∗ and its number K(1)
Remove instances of missing feature values.(2)
Normalize feature values of instances into0,1.(3)
E=ϕ\\Initialize evaluation set.(4)
t=1\\Set current iteration.(5)
Whilet≤Max(6)
C=ϕ\\ Let the current cluster center be an empty set.(7)
n=Select Cluster Number1,N\\ Randomly generate the quantity of cluster center in 1,N(8)
k=1\\ Initialize the quantity of cluster center.(9)
ck=Random Select InstanceX,1\\ Randomly select an instance as a cluster center in the dataset.(10)
C=C∪ck(11)
Whilek<n(12)
∀j∈X,Dxj=mindistxj,c1,…,distxj,ck(13)
pxj=Dxj2/∑i=1nDxj2. \\\\Calculate the probability selected of xj as the next cluster center.(14)
p = GenProbability (); \\Randomly generate a probability.(15)
Ifpxj>p then ck=xj;C=C∪xj;k=k+1(16)
End while\\k<n(17)
E=E∪αt,θ1,…,θk\\ The standard deviation of intercluster and one of inner-cluster are calculated and stored and updated in the evaluation set.(18)
t=t+1.\\ Update current iterations.(19)
End while\\t<Max(20)
C∗=c1,c2,…,cC∗=argmax1≤t≤Maxαt/∑j=1Ctθj\\ In the evaluation set E, choose the cluster center set with the largest ratio.(21)
C∗=c1,c2,…,cC∗, K=C∗ (here, · represents the quantity of elements of the set).\\ Return optimal parameters.


### 4.2. From Data to Fuzzy Granules

Now, we introduce how to implement parallel fuzzy granulation of data via cluster centers. We can adopt AGRC to get the cluster center setC=c1,c2,…,ck. Let instance set be X and feature set be R. If ∀xi∈X,cj∈C, and r∈R, the similarity between cj and x w.r.t. r is(5)dxi,cj,r=1−hxi,r−hcj,r,where 0≤hxi,r≤1, 0≤hcj,r≤1, and dxi,cj,r represents the similarity between xi and cj on r (0≤dxi,cj,r≤1). A fuzzy granule generated by xi can be written as(6)qxi,r=dxi,c1,rc1+dxi,c2,rc2+⋯+dxi,ck,rck.For simplicity, it can also be written as(7)qxi,r=∑j=1kdxi,cj,rcj.Here “−” represents separator and “+” denotes the union of elements. In other words, qxi,r is the similarity between xi and cluster centers. The cardinal number of fuzzy granule qxi,r is obtained by equation:(8)qxi,r=∑j=1kdxi,cj,r.Now we give operators of fuzzy granules. For∀x,z∈X, the operators between fuzzy granules generated by z and x can be written as follows:(9)qx,r∨qz,r=∑j=1ka+b−ab−min1−λ,a,b/maxλ,1−a,1−bcj,(10)qx,r∧qz,r=∑j=1kab/maxλ,a,bcj,(11)qx,r−qz,r=∑j=1ka−bcj,(12)qx,r⊕qz,r=qx,r∨qz,r−qx,r∧qz,r.Herea=dx,cj,r, b=dz,cj,r, and λ is a parameter (0≤λ≤1). For ∀U⊆R, U=r1,r2,…,rU,andU≤R, the fuzzy granular array generated by x on U can be written as follows:(13)Qx,U=Qx,r1r1+Qx,r2r2+⋯+Qx,rUrU=∑i=1Uqx,riri.The symbol “+” denotes union and the symbol “–” represents separator. The cardinal number of the fuzzy granular array can be written as(14)Qx,U=∑i=1Uqx,ri.Now, we have the operators between fuzzy granular arrays. LetQx,U and Qz,U be the fuzzy granular arrays generated by the instance x and z on feature subset U, respectively. The operators can be written as follows:(15)Qx,U∨Qz,U=∑i=1Uqx,ri∨qz,riri,(16)Qx,U∧Qz,U=∑i=1Uqx,ri∧qz,riri,(17)Qx,U−Qz,U=∑i=1Uqx,ri−qz,riri,(18)Qx,U⊕Qz,U=∑i=1Uqx,ri⊕qz,riri.The difference between two fuzzy granular vectors can be written as follows:(19)dQx,U,Qz,U=1U∗C∑r∈UQx,r⊕Qz,rQx,r∨Qz,r.From information granulation, we can see that fuzzy granules and fuzzy granular arrays are generated by their operators. The fuzzy granules consist of the space called fuzzy granular space.Theorem 1.
For∀xi,xj∈X, ∀U⊆R, ∀r∈U, the similarity of fuzzy granules satisfies the following equation:(20)0≤dQxi,U,Qxj,U≤1.Proof 1. According to equation (7), we have qxi,r=∑t=1kdxi,ct,r/ct and qxj,r=∑t=1kdxj,ct,r/ct. According to equation (5), we have ∀x∈X,0≤dx,ct,r≤1. As a sequence, 0≤dxi,ct,r≤1 and 0≤dxj,ct,r≤1 are established. Due to qxi,r=∑ct∈Cdxi,ct,r and qxj,r=∑ct∈Cdxj,ct,r, we can have 0≤qxi,r≤C and 0≤qxj,r≤C. Equations (13) and (14) show Qxi,U=∑t=1Uqxi,rt/rt and Qxj,U=∑t=1Uqxj,rt. Therefore, 0≤Qxi,U≤U∗C and 0≤Qxj,U≤U∗C are both established. From qxi,r⊕qxj,r=qxi,r∨qxj,r−qxi,r∧qxj,r, we can get 0≤∑r∈Uqxi,r⊕qxj,r/qx,r∨qz,r≤U∗C. Divide both sides of the inequality by U∗C and 0≤1/U∗C∑r∈Uqxi,r⊕qxj,r/qxi,r∨qxj,r≤1 can be obtained. That is the inequality 0≤dQxi,U,Qxj,U≤1 is established.Theorem 2.
For∀x∈X, feature subset Z and U satisfy U⊆Z⊆R. Let Qx,Z and Qx,U be fuzzy granular arrays on feature set U and Z. Inequality Qx,U≤Qx,U is established.Proof 2.
According to equation (13), if ∀ri∈U, then Qx,U=∑i=1Uqx,ri/ri. Due to U⊆Z and ri∈Z, Qx,Z=∑i=1Zqx,ri/ri is established. Because of U⊆Z⊆R, for r∈U, we have r∈Z and U≤Z. That is, if qx,r∈Qx,U, then qx,r∈Qx,Z. In sum, inequality Qx,U≤Qx,Z is also established.
Below we give an example to explain the granulation process and measurement.Example 1.
As shown in Table1, let X=x1,x2,x3,x4, R=r1,r2,r3, and Y=+1,−1 be instance set, feature set, and label set, respectively. C=c1,c2 represents the cluster center set and parameter is λ=0.5. The fuzzy granulation is as follows.
We take instancex1 as an example. The similarities between x and c1, c2, and c3 on feature r1, r2, and r3 are dx1,c1,r1=1−0.3−0.15=0.85, dx1,c2,r1=1−0.3−0.35=0.95, dx1,c1,r2=1−0.1−0.25=0.85, dx1,c2,r2=1−0.1−0.45=0.65, dx1,c1,r3=1−0.1−0.15=0.95, and dx1,c2,r3=1−0.1−0.65=0.65, respectively. According to equation (7), fuzzy granules generated by x1 on feature r1, r2, and r3 areqx1,r1=0.85/c1+0.95/c2,qx1,r2=0.85/c1+0.65/c2,andqx1,r3=0.95/c1+0.65/c2, respectively.
In the same way, fuzzy granules generated byx2 on feature set R are qx2,r1=0.95/c1+0.85/c2, qx2,r2=0.95/c1+0.75/c2, and qx2,r3=0.95/c1+0.45/c2 respectively.
According toqx1,r1∨qx2,r1=∑j=1ka+b−ab−min1−λ,a,b/maxλ,1−a,1−b/cj, (here, when j=1, a=dx1,c1,r1,b=dx2,c1,r1,λ=0.5; when j=2, a=dx1,c2,r1,b=dx2,c2,r1,λ=0.5), we have(21)qx1,r1∨qx2,r1=∑j=1ka+b−ab−min1−λ,a,b/maxλ,1−a,1−bcj=0.85+0.95−0.85∗0.95−min1−0.5,0.85,0.95/max0.5,1−0.85,1−0.95c1+0.95+0.85−0.95∗0.85−min1−0.5,0.95,0.85/max0.5,1−0.95,1−0.85c2=0.985c1+0.985c2,qx1,r1∧qx2,r1=∑j=1kab/maxλ,a,bcj=0.85∗0.95/max0.5,0.85,0.95c1+0.95∗0.85/max0.5,0.95,0.85c2=0.85c1+0.85c2,qx1,r1⊕qx2,r1=qx1,r1∨qx2,r1−qx1,r1∧qx2,r1=0.985−0.85c1+0.985−0.85c2=0.135c1+0.135c2,qx1,r1⊕qx2,r1=qx1,r1∧qx2,r1−qx1,r1∨qx2,r1=0.985−0.85c1+0.985−0.85c2=0.27.
Similarly, we also obtain(22)qx1,r2⊕qx2,r2=0.135c1+0.175c2=0.31,qx1,r3⊕qx2,r3=0.95c1+0.405c2=1.355.
Hence, the distance between instancex1 and x2 on feature set R with λ=0.5 is(23)dQx1,R,Qx2,R=1R∗C∑r∈Rqx1,r⊕qx2,rqx1,r∨qx2,r=0.27+0.31+1.3553∗2=0.3225.Table 1
Fuzzy granulation and measurement of similarity.
XCRYλr1r2r3yλx10.30.10.1+10.5x20.20.20.1+10.5x30.40.50.1–10.5x40.10.20.7–10.5c10.150.250.15——c20.350.450.65——


### 4.3. Random Fuzzy Granular Decision Tree

RFGDT can embody structure and express the course of classifying instances on the basis of features. It includes a series of if-then rules, or it can also be regarded as a conditional probability distribution calculated in fuzzy granular space and label space. The strength is that this algorithm is readable and its efficiency is high. When learning, we employ the training data to generate a RFGDT on the basis of minimizing cost function. When predicting, test data are classified via the model. There are three steps in learning of RFGDT, namely, selecting feature, constructing tree, and pruning tree.RFGDT is to describe the feature structure for classifying fuzzy granules in the fuzzy granular space, which can be composed of directed edges and nodes. A feature can be expressed by an internal node, and a label can be denoted by a leaf node.During the classified process, the model starts from the root node, tests a certain fuzzy granule of instance, and assigns the fuzzy granule to its child nodes according to the result. Meanwhile, the value of a feature corresponds to each subnode. In this way, fuzzy granules are tested and allocated recursively until they reach the leaf node. Finally, fuzzy granules are allocated to the label of the leaf node.Now, the definition of the fuzzy granular rule set is written as follows.Definition 1.
Suppose thatS=X,R,C,Y be a decision system, where X=x1,x2,…,xn is an instance set, R=r1,r2,…,rm is a feature set, Y=y1,y2,…,yl is a label set, and C=c1,c2,…,cK is a cluster center set. For ∀x∈X, a fuzzy granular array Qx,R can be generated by instance x. Then, fuzzy granular space can be generated by Qx,R, that is,(24)H=W∧Qx,R∨G, where W, G∈ℝK×m are fuzzy granular array coefficients.
Suppose that∀x∈X, y∈Y, a rule ruleRx=QR,x,y can be made up of fuzzy granular array and label. Thus, a rule set RULER=ruleRx|∀x∈X can be constructed.


#### 4.3.1. IF-Then Rule

RFGDT can also be regarded as a set of if-then rules. A RFGDT can be converted into an if-then rule set like this: A rule is constructed for every path from root node to leaf node; the features of the internal nodes with regard to conditions of the rule, and the label of leaf node, correspond to the conclusion of rule. The path of RFGDT (corresponding to if-then rule set) has a key character: mutually exclusive and complete. This means that every fuzzy granular array is covered by a unique path or rule. The so-called coverage here means that the features of the fuzzy granular array are consistent with the features on the path.


#### 4.3.2. Learning

The learning of RFGDT is to generalize a series of classification rules from training data. There may be more than one RFGDT (i.e., a RFGDT that can correctly classify the training data) that is not inconsistent with the training data. Our purpose is to find a RFGDT that has little contradiction with training data and has strong generalization ability. In other words, RFGDT learning is to estimate conditional probability on training data. Infinite conditional probability models exist by fuzzy granular space division. The conditional probability model chosen can not only have a great fitting to training data but also have a perfect prediction on test data. RFGDT learning uses a cost function to express the aim. As mentioned below, the cost function of RFGDT learning is usually a regularized maximum likelihood function, and its strategy is to minimize the cost function.The algorithm of RFGDT learning is to recursively select the optimal feature and segment the training data on the basis of the feature, in order that each subdataset can get the best classified results. This process corresponds to the division of fuzzy granular space and the form of RFGDTs. At the beginning, the root node is constructed and all fuzzy granular arrays are placed at the root node. The algorithm chooses an optimal feature, and divides the training data into several subsets on the basis of this feature, in order that each subset has the best classification under the current conditions. If these subsets have been correctly classified, then the algorithm constructs leaf nodes and divides these subsets into the corresponding leaf nodes; if there are still subsets that cannot be correctly classified, then the algorithm selects new optimal features for these subsets, continues to segment them, constructs corresponding nodes, and proceeds recursively until all training data subsets are basically classified correctly or there is no suitable feature. Finally, each subset is divided into leaf nodes, i.e., there are clear categories. This generates a RFGDT.The RFGDT produced may have better classification ability for training data but may have worse classification ability for test data, that is, overfitting may occur. We need to prune the tree from bottom to top to let the tree be simpler in order that it can enhance its generalization ability. Specifically, it is to remove the leaf nodes that are too subdivided, make them fall back to the parent node, or even an ancestor node, and then modify the parent node or an ancestor node to a new leaf node.If the quantity of features is large, the features can also be chosen at the beginning of the RFGDT learning, leaving only features that have sufficient classification ability for training data. We can draw a conclusion that the learning algorithm includes feature selection, RFGDT construction, and RFGDT pruning. Since RFGDT denotes conditional probability distribution, RFGDTs of different depths correspond to probability models of different complexity. The generation of RFGDT corresponds to local selection of the model, and the pruning of RFGDT is related to global selection of the model. The generation of the RFGDT only considers the local optimum, while the pruning of the RFGDT considers the global optimum.


#### 4.3.3. Feature Selection and Cost Function Construction

Selecting important features can enhance the efficiency of RFGDT learning. If the result of using a feature for classification is not very different from the result of random classification, the feature is said to have no classification ability. Empirically, throwing away such features has little effect on the accuracy. Here, we redefine the information gain ratio and use this criterion as the cost function of constructing a RFGDT. First, the empirical entropy of the datasetX is defined by(25)Eℚ=−∑i=1lℚiℚlog2ℚiℚ,where ℚ denotes the set composed of fuzzy granular arrays, ℚ expresses the quantity of elements of the set, ℚi is the subset composed of fuzzy granular arrays of which classification is yi, and ℚi is the quantity of elements of the set. Stipulate 0log20=0. It can be seen from the definition that entropy only depends on the distribution of Q and has nothing to do with the value of Q. The greater the entropy is, the greater the uncertainty of the random variable is. 0≤Eℚ≤log2l can be verified from the definition.The empirical conditional entropy of featurer on the fuzzy granular array set ℚ is(26)Eℚ|r=∑j=1tℚjℚEℚj=−∑j=1tℚjℚ∑i=1lℚjiℚilog2ℚjiℚi,where ℚj is the subset composed of fuzzy granular arrays taking the value rj on the feature r, ℚj is the quantity of elements of the subset ℚj, ℚji is the subset composed of fuzzy granular arrays that takes the value rj on feature r and the label yi, and ℚji is the quantity of elements of the subset ℚji.The information gain is calculated as follows:(27)δℚ,r=Eℚ−Eℚ|r.We can now write the ratioδ^ℚ,r of information gain as(28)δ^ℚ,r=δℚ,rErℚ.Here,Erℚ=−∑j=1tℚj/ℚlog2ℚj/ℚ (t denotes the quantity of taking the value on feature r).


#### 4.3.4. RFGDT Generation

We adopt the information gain ratio criterion to select features and recursively build a RFGDT. The specific method is as follows.Information gain ratio for each feature of each subdataset is calculated in the Map stage. Then, in the Reduce stage, the information gain ratios on the corresponding features of each subdataset are summed. The feature with the largest sum of information gain ratio can be chosen as the feature of the node, and the child node is constructed from the different feature values. We call the above approach recursively on the child nodes to build a RFGDT until the information gain ratios of all features are very small or there are no features to choose from. The algorithm is as follows:Step I:ℚ is randomly divided into s subfuzzy granular array sets ℚj,j=1,2,…,s.Step II: in the Map phase, the Map function uses each feature as the key and the information gain ratio as the value, namely,key,value=r,δ^ℚj,r.Step III: in the Reduce phase, Hadoop distributed system first aggregates the output results of all Map functions according to the key, and then uses these aggregated intermediate results as the input to the Reduce phase. The intermediate results after aggregation are as follows:(29)key,value=rk,Listδ^ℚj,r,k=1,2,…,s.Step IV: if all fuzzy granular arrays inℚ belong to the same class yi, the algorithm sets T as a single-node tree, adopts yi as the label of the node, and returns T.Step V: ifR=ϕ, set T as a single-node tree, use the label yi with the largest number of fuzzy granular arrays in ℚ as the class of the node, and return T.Step VI: or else, calculate the sum of the information gain ratio of each feature inR to ℚ according to equation (28), and select the feature r∗ with the largest sum of information gain ratio as the split feature, which can be written as(30)r∗=argmax1≤j≤m∑k=1sδ^ℚk,rj.Step VII: if the information gain ratio ofr∗ is less than the threshold ϵ, set T as a single-node tree, and use the class yi with the largest number of fuzzy granular arrays in ℚ as the label of the node, and return T.Step VIII: if not, for each possible valuevj of r∗, according to r=fj, divide ℚ into a number of nonempty subsets ℚi, the label with the largest number of fuzzy granular arrays in ℚi is used as a mark, and the subnodes are constructed. The tree T is formed by the nodes and their subnodes, and return T.Step IX: for the nodei, use ℚi as training set and R−r as feature set, recursively call Step I to Step VIII, get subtree Ti, and return Ti.The algorithm is described as in Algorithm2.Algorithm 2: Construct RFGDT.
Input: instance setX and threshold εOutput: rootT of fuzzy granular decision tree(1)
Normalize instances into0,1.(2)
Calculate cluster center setC∗=c1,c2,…,ck (see Algorithm 1).(3)
X1∪X2∪…∪Xp=Xand ∀Xs,Xt∈X,Xs∩Xt=ϕ//Parallel distributed fuzzy granulation.(4)
∀Xt⊂X//This is parallel process. Here, take Xt as example.Fori=1 to Xt∃xi∈XtForj=1 to M∃r∈R, instance x is fuzzy granulated as qxi,r=∑j=1kdxi,cj,r/cjend forBuild a fuzzy granular arrayQx,R=∑j=1Rqx,rj/rj;Get label ofxi, yxi;A rule can be built.rRxi=Qxi,R,yxi;End for(5)
ℚ is randomly divided into s sub fuzzy granular array sets ℚj,j=1,2,…,s.(6)
Map stage. In the Map function, each featurer is used as the key of the Map function, and the information gain ratio is used as the value of the Map function, namely, key,value=r,δ^ℚj,r(7)
IF for∀Qi∈ℚ, its classification is yi, then set T as a single-node tree, take yi as the label of the node, and return T.(8)
Reduce stage. Between the Map phase and the Reduce phase, the Hadoop distributed system first aggregates the output results of all Map functions according to the key.Then, these aggregated intermediate results are used as the input of the Reduce stage, and the intermediate results after aggregation are as follows.key,value=rk,Listδ^ℚj,r,k=1,2,…,s(9)
IfR=ϕ, set T as a single-node tree, and use the label yi with the largest number of fuzzy granular arrays in ℚ as the label of the node, and return T.Or else,∀r∈R, calculate the information gain ratio of r to ℚj, namely δ^ℚj,r=δℚj,r/Erℚj, select the feature with the largest sum of information gain ratio δ^ℚj,r=δℚj,r/Erℚj.(10)
If the information gain ofr satisfies δ^ℚ,r<ε, then T is set as a single-node tree, and the label yi with the largest number of fuzzy granular arrays in ℚ is used as the class of the node, and T is returned;Or else, for each possible valuevj of r, according to r=fj, divide ℚ into subsets of nonempty, ℚi, take the label with the largest number of fuzzy granular arrays in ℚi as a mark, construct subnodes, and form tree T based on the nodes and their subnodes, and return T.(11)
For the nodei, use ℚi as the training set and R−r as the feature set, recursively call 5 to 10, and get the subtree Ti, and return Ti.


#### 4.3.5. Pruning

The algorithm recursively generates RFGDT until it cannot do further. The tree generated in this way is often very accurate for the classification of training data, but the classification of test data is not so accurate, i.e., overfitting occurs. The main reason is that too much consideration is given to how to improve the correct classification of training data, thereby building an overly complex tree. The solution to this problem is to reduce tree complexity and simplify the constructed tree. The process of simplifying the constructed tree is called pruning. Specifically, pruning cuts some subtrees or leaf nodes from the constructed tree, and uses its root node or parent node as new leaf nodes, thereby simplifying the classification tree. The pruning of RFGDT can be achieved by minimizing the overall cost function of the tree.Suppose that the quantity of leaf nodes of the treeT is T, t is the tree T leaf node, the leaf node has Nt fuzzy granular arrays, where there are Ntk fuzzy granular arrays in label yk (k=1,2,…,l). EtT is the empirical entropy on the leaf node t, α is the parameter (α≥0), then the cost function of RFGDT learning can be written as(31)CαT=∑t=1TNtEtT+αT,where EtT=−∑kNtk/Ntlog2Ntk/Nt. We have(32)CαT=CT+αT.In equation (31), CT denotes the prediction error of the algorithm on training data, i.e., the fit degree between the algorithm and the training data, T expresses model complexity, and parameter α≥0 controls the impact between them. The larger α chooses a simpler model (tree), and the smaller one chooses a more complex model. α=0 means that only the fit between the model and the training data is considered, and the complexity of the model is not considered. Pruning is to select the algorithm with the smallest cost function when α is determined, i.e., the subtree with the smallest cost function. If α is determined, the larger the subtree is, the better the fit is to training data, but the higher the complexity is; on the contrary, the smaller the subtree, the lower the model complexity, but it often does not fit well to the training data. The cost function just shows the balance between the two. RFGDT generation only considers the better fit of the training data by increasing the information gain. The RFGDT pruning also considers the reduction of model complexity by optimizing the cost function. The RFGDT generation is a local learning model, and the RFGDT pruning is a global learning model. The following is a RFGDT pruning algorithm.Step I: empirical entropy of each node is calculated.Step II: recursively retract upward from the leaf nodes of the tree. Suppose that the whole tree before and after a group of leaf nodes retract to its parent node isTb and Ta, and the corresponding cost function values are CαTb and CαTa, respectively. If(33)CαTa≤CαTb,then pruning, that is, the parent node becomes a new leaf node.Step III: go to Step II, until it cannot continue, and get the subtree with the smallest cost functionTα.The algorithm is shown as in Algorithm3.Algorithm 3: Pruning of RFGDT.
Input: fuzzy granular decision treeT and parameter αOutput: pruned subtreeTα(1)
Calculate the empirical entropy of each nodeEtT=−∑kNtk/NtlogNtk/Nt(2)
Recursively retract upward from the leaf nodes of the tree.Suppose that the whole tree before and after a group of leaf nodes retract to its parent node isTb and Ta, and the corresponding cost function values are CαTb and CαTa.(3)
IfCαTa≤CαTb, pruning is executed, that is, to change the parent node into a new leaf node.(4)
Return to Step 2 until it cannot continue, and get the subtree with the smallest cost functionTα


#### 4.3.6. Label Prediction

After the RFGDT is constructed, given a test instance, first we transform it into fuzzy granular array and then use the RFGDT decision tree trained to predict. The method is described further in Algorithm4.Algorithm 4: RFGDT prediction.
Input: test instancex, root node of RFGDT, and cluster center set C.Output: labelyx of instance x(1)
Obtain fuzzy clustering granular vectorQx,R.(2)
Judge the path from the root node to the leaf node according to the feature value, and get the label according to the leaf node.


## 4.1. Theory of AGRC

K-means algorithm is an unsupervised classification approach. The cluster centers and their numbers need to be specified in advance. The results obtained rely on the above cluster center. If the initial cluster center is not well selected, it will fall into a local optimal solution. An Adaptive Global Random Clustering algorithm is proposed, which adaptively selects cluster centers and their numbers, and the initial selection of cluster centers is random, which is a global optimization approach. The thought is as follows. We know that if the between-cluster variance α is large and the intracluster variance θk is small, then the performance is great. Hence, α2/∑k=1Kθk2 can be used as an evaluation indicator, where α represents standard deviation of intercluster and θk denotes standard deviation of k−th inner-cluster. The goal is to increase the ratio α2/∑k=1Kθk2 continuously until the maximum iteration is achieved. In each iteration, we have a set of new cluster centers and these parameters, including the quantity of cluster centers, cluster centers and evaluation values, are combined into an evaluation set. When the process is over, we can get cluster centers that are corresponding to the largest evaluation value in the evaluation set, which are the optimal parameters. Here, in each iteration, we select an instance as the next cluster center with a certain probability, until the quantity of cluster centers meets the preset in this iteration. The process is described as follows:Step I: remove instances of missing feature values.Step II: normalize feature values of instances into0,1.Step III: assign maximum iterationsMax, evaluation set E=ϕ (composed of standard deviation of intercluster, standard deviation of inner-cluster, and evaluation value), and iteration t=1.Step IV: assign current cluster center setCt=ϕ and the quantity of current cluster center k=0 and generate a random number n within 1,N as the quantity of cluster center.Step V: randomly select one instancexi as a cluster center and set k=k+1, ck=xi, Ct=Ct∪ckStep VI: calculate the shortest distance between the remaining instances and all cluster centers(1)Dxj=mindistxj,c1,…,distxj,ck,and the probability of an instance being selected as the next cluster center is(2)pxj=Dxj2∑i=1nDxi2.Step VII: ifxj is selected as cluster center, we set k=k+1, ck=xj, Ct=Ct∪ck.Step VIII: ifk<n, go to Step V; otherwise, go to Step IX.Step IX: calculate the standard deviation of intercluster and the standard deviation of inner-cluster and update the evaluation set, that is,(3)E=E∪αt,θ1,…,θk.Step X: update iterationt←t+1.Step XI: ifMax<t, go to Step XII; or else, go to Step IV.Step XII: in evaluation setE, the cluster center set with the largest ratio of the intercluster standard deviation to the sum of inner-cluster standard deviation,(4)C∗=c1,c2,…,cC∗=argmax1≤t≤Maxαt∑j=1Ctθj,and the quantity of cluster center corresponding to it,K=C∗ (here, · expresses the quantity of elements of the set), is the optimal solution.Step XIII: end.The principle of Adaptive Global Random Clustering is given. On the basis of the principle, the algorithm is as shown in Algorithm1.Algorithm 1: Adaptive global random clustering.
Input: instance setX, maximum iterations MaxOutput: optimal cluster center setC∗ and its number K(1)
Remove instances of missing feature values.(2)
Normalize feature values of instances into0,1.(3)
E=ϕ\\Initialize evaluation set.(4)
t=1\\Set current iteration.(5)
Whilet≤Max(6)
C=ϕ\\ Let the current cluster center be an empty set.(7)
n=Select Cluster Number1,N\\ Randomly generate the quantity of cluster center in 1,N(8)
k=1\\ Initialize the quantity of cluster center.(9)
ck=Random Select InstanceX,1\\ Randomly select an instance as a cluster center in the dataset.(10)
C=C∪ck(11)
Whilek<n(12)
∀j∈X,Dxj=mindistxj,c1,…,distxj,ck(13)
pxj=Dxj2/∑i=1nDxj2. \\\\Calculate the probability selected of xj as the next cluster center.(14)
p = GenProbability (); \\Randomly generate a probability.(15)
Ifpxj>p then ck=xj;C=C∪xj;k=k+1(16)
End while\\k<n(17)
E=E∪αt,θ1,…,θk\\ The standard deviation of intercluster and one of inner-cluster are calculated and stored and updated in the evaluation set.(18)
t=t+1.\\ Update current iterations.(19)
End while\\t<Max(20)
C∗=c1,c2,…,cC∗=argmax1≤t≤Maxαt/∑j=1Ctθj\\ In the evaluation set E, choose the cluster center set with the largest ratio.(21)
C∗=c1,c2,…,cC∗, K=C∗ (here, · represents the quantity of elements of the set).\\ Return optimal parameters.


## 4.2. From Data to Fuzzy Granules

Now, we introduce how to implement parallel fuzzy granulation of data via cluster centers. We can adopt AGRC to get the cluster center setC=c1,c2,…,ck. Let instance set be X and feature set be R. If ∀xi∈X,cj∈C, and r∈R, the similarity between cj and x w.r.t. r is(5)dxi,cj,r=1−hxi,r−hcj,r,where 0≤hxi,r≤1, 0≤hcj,r≤1, and dxi,cj,r represents the similarity between xi and cj on r (0≤dxi,cj,r≤1). A fuzzy granule generated by xi can be written as(6)qxi,r=dxi,c1,rc1+dxi,c2,rc2+⋯+dxi,ck,rck.For simplicity, it can also be written as(7)qxi,r=∑j=1kdxi,cj,rcj.Here “−” represents separator and “+” denotes the union of elements. In other words, qxi,r is the similarity between xi and cluster centers. The cardinal number of fuzzy granule qxi,r is obtained by equation:(8)qxi,r=∑j=1kdxi,cj,r.Now we give operators of fuzzy granules. For∀x,z∈X, the operators between fuzzy granules generated by z and x can be written as follows:(9)qx,r∨qz,r=∑j=1ka+b−ab−min1−λ,a,b/maxλ,1−a,1−bcj,(10)qx,r∧qz,r=∑j=1kab/maxλ,a,bcj,(11)qx,r−qz,r=∑j=1ka−bcj,(12)qx,r⊕qz,r=qx,r∨qz,r−qx,r∧qz,r.Herea=dx,cj,r, b=dz,cj,r, and λ is a parameter (0≤λ≤1). For ∀U⊆R, U=r1,r2,…,rU,andU≤R, the fuzzy granular array generated by x on U can be written as follows:(13)Qx,U=Qx,r1r1+Qx,r2r2+⋯+Qx,rUrU=∑i=1Uqx,riri.The symbol “+” denotes union and the symbol “–” represents separator. The cardinal number of the fuzzy granular array can be written as(14)Qx,U=∑i=1Uqx,ri.Now, we have the operators between fuzzy granular arrays. LetQx,U and Qz,U be the fuzzy granular arrays generated by the instance x and z on feature subset U, respectively. The operators can be written as follows:(15)Qx,U∨Qz,U=∑i=1Uqx,ri∨qz,riri,(16)Qx,U∧Qz,U=∑i=1Uqx,ri∧qz,riri,(17)Qx,U−Qz,U=∑i=1Uqx,ri−qz,riri,(18)Qx,U⊕Qz,U=∑i=1Uqx,ri⊕qz,riri.The difference between two fuzzy granular vectors can be written as follows:(19)dQx,U,Qz,U=1U∗C∑r∈UQx,r⊕Qz,rQx,r∨Qz,r.From information granulation, we can see that fuzzy granules and fuzzy granular arrays are generated by their operators. The fuzzy granules consist of the space called fuzzy granular space.Theorem 1.
For∀xi,xj∈X, ∀U⊆R, ∀r∈U, the similarity of fuzzy granules satisfies the following equation:(20)0≤dQxi,U,Qxj,U≤1.Proof 1. According to equation (7), we have qxi,r=∑t=1kdxi,ct,r/ct and qxj,r=∑t=1kdxj,ct,r/ct. According to equation (5), we have ∀x∈X,0≤dx,ct,r≤1. As a sequence, 0≤dxi,ct,r≤1 and 0≤dxj,ct,r≤1 are established. Due to qxi,r=∑ct∈Cdxi,ct,r and qxj,r=∑ct∈Cdxj,ct,r, we can have 0≤qxi,r≤C and 0≤qxj,r≤C. Equations (13) and (14) show Qxi,U=∑t=1Uqxi,rt/rt and Qxj,U=∑t=1Uqxj,rt. Therefore, 0≤Qxi,U≤U∗C and 0≤Qxj,U≤U∗C are both established. From qxi,r⊕qxj,r=qxi,r∨qxj,r−qxi,r∧qxj,r, we can get 0≤∑r∈Uqxi,r⊕qxj,r/qx,r∨qz,r≤U∗C. Divide both sides of the inequality by U∗C and 0≤1/U∗C∑r∈Uqxi,r⊕qxj,r/qxi,r∨qxj,r≤1 can be obtained. That is the inequality 0≤dQxi,U,Qxj,U≤1 is established.Theorem 2.
For∀x∈X, feature subset Z and U satisfy U⊆Z⊆R. Let Qx,Z and Qx,U be fuzzy granular arrays on feature set U and Z. Inequality Qx,U≤Qx,U is established.Proof 2.
According to equation (13), if ∀ri∈U, then Qx,U=∑i=1Uqx,ri/ri. Due to U⊆Z and ri∈Z, Qx,Z=∑i=1Zqx,ri/ri is established. Because of U⊆Z⊆R, for r∈U, we have r∈Z and U≤Z. That is, if qx,r∈Qx,U, then qx,r∈Qx,Z. In sum, inequality Qx,U≤Qx,Z is also established.
Below we give an example to explain the granulation process and measurement.Example 1.
As shown in Table1, let X=x1,x2,x3,x4, R=r1,r2,r3, and Y=+1,−1 be instance set, feature set, and label set, respectively. C=c1,c2 represents the cluster center set and parameter is λ=0.5. The fuzzy granulation is as follows.
We take instancex1 as an example. The similarities between x and c1, c2, and c3 on feature r1, r2, and r3 are dx1,c1,r1=1−0.3−0.15=0.85, dx1,c2,r1=1−0.3−0.35=0.95, dx1,c1,r2=1−0.1−0.25=0.85, dx1,c2,r2=1−0.1−0.45=0.65, dx1,c1,r3=1−0.1−0.15=0.95, and dx1,c2,r3=1−0.1−0.65=0.65, respectively. According to equation (7), fuzzy granules generated by x1 on feature r1, r2, and r3 areqx1,r1=0.85/c1+0.95/c2,qx1,r2=0.85/c1+0.65/c2,andqx1,r3=0.95/c1+0.65/c2, respectively.
In the same way, fuzzy granules generated byx2 on feature set R are qx2,r1=0.95/c1+0.85/c2, qx2,r2=0.95/c1+0.75/c2, and qx2,r3=0.95/c1+0.45/c2 respectively.
According toqx1,r1∨qx2,r1=∑j=1ka+b−ab−min1−λ,a,b/maxλ,1−a,1−b/cj, (here, when j=1, a=dx1,c1,r1,b=dx2,c1,r1,λ=0.5; when j=2, a=dx1,c2,r1,b=dx2,c2,r1,λ=0.5), we have(21)qx1,r1∨qx2,r1=∑j=1ka+b−ab−min1−λ,a,b/maxλ,1−a,1−bcj=0.85+0.95−0.85∗0.95−min1−0.5,0.85,0.95/max0.5,1−0.85,1−0.95c1+0.95+0.85−0.95∗0.85−min1−0.5,0.95,0.85/max0.5,1−0.95,1−0.85c2=0.985c1+0.985c2,qx1,r1∧qx2,r1=∑j=1kab/maxλ,a,bcj=0.85∗0.95/max0.5,0.85,0.95c1+0.95∗0.85/max0.5,0.95,0.85c2=0.85c1+0.85c2,qx1,r1⊕qx2,r1=qx1,r1∨qx2,r1−qx1,r1∧qx2,r1=0.985−0.85c1+0.985−0.85c2=0.135c1+0.135c2,qx1,r1⊕qx2,r1=qx1,r1∧qx2,r1−qx1,r1∨qx2,r1=0.985−0.85c1+0.985−0.85c2=0.27.
Similarly, we also obtain(22)qx1,r2⊕qx2,r2=0.135c1+0.175c2=0.31,qx1,r3⊕qx2,r3=0.95c1+0.405c2=1.355.
Hence, the distance between instancex1 and x2 on feature set R with λ=0.5 is(23)dQx1,R,Qx2,R=1R∗C∑r∈Rqx1,r⊕qx2,rqx1,r∨qx2,r=0.27+0.31+1.3553∗2=0.3225.Table 1
Fuzzy granulation and measurement of similarity.
XCRYλr1r2r3yλx10.30.10.1+10.5x20.20.20.1+10.5x30.40.50.1–10.5x40.10.20.7–10.5c10.150.250.15——c20.350.450.65——


## 4.3. Random Fuzzy Granular Decision Tree

RFGDT can embody structure and express the course of classifying instances on the basis of features. It includes a series of if-then rules, or it can also be regarded as a conditional probability distribution calculated in fuzzy granular space and label space. The strength is that this algorithm is readable and its efficiency is high. When learning, we employ the training data to generate a RFGDT on the basis of minimizing cost function. When predicting, test data are classified via the model. There are three steps in learning of RFGDT, namely, selecting feature, constructing tree, and pruning tree.RFGDT is to describe the feature structure for classifying fuzzy granules in the fuzzy granular space, which can be composed of directed edges and nodes. A feature can be expressed by an internal node, and a label can be denoted by a leaf node.During the classified process, the model starts from the root node, tests a certain fuzzy granule of instance, and assigns the fuzzy granule to its child nodes according to the result. Meanwhile, the value of a feature corresponds to each subnode. In this way, fuzzy granules are tested and allocated recursively until they reach the leaf node. Finally, fuzzy granules are allocated to the label of the leaf node.Now, the definition of the fuzzy granular rule set is written as follows.Definition 1.
Suppose thatS=X,R,C,Y be a decision system, where X=x1,x2,…,xn is an instance set, R=r1,r2,…,rm is a feature set, Y=y1,y2,…,yl is a label set, and C=c1,c2,…,cK is a cluster center set. For ∀x∈X, a fuzzy granular array Qx,R can be generated by instance x. Then, fuzzy granular space can be generated by Qx,R, that is,(24)H=W∧Qx,R∨G, where W, G∈ℝK×m are fuzzy granular array coefficients.
Suppose that∀x∈X, y∈Y, a rule ruleRx=QR,x,y can be made up of fuzzy granular array and label. Thus, a rule set RULER=ruleRx|∀x∈X can be constructed.


### 4.3.1. IF-Then Rule

RFGDT can also be regarded as a set of if-then rules. A RFGDT can be converted into an if-then rule set like this: A rule is constructed for every path from root node to leaf node; the features of the internal nodes with regard to conditions of the rule, and the label of leaf node, correspond to the conclusion of rule. The path of RFGDT (corresponding to if-then rule set) has a key character: mutually exclusive and complete. This means that every fuzzy granular array is covered by a unique path or rule. The so-called coverage here means that the features of the fuzzy granular array are consistent with the features on the path.


### 4.3.2. Learning

The learning of RFGDT is to generalize a series of classification rules from training data. There may be more than one RFGDT (i.e., a RFGDT that can correctly classify the training data) that is not inconsistent with the training data. Our purpose is to find a RFGDT that has little contradiction with training data and has strong generalization ability. In other words, RFGDT learning is to estimate conditional probability on training data. Infinite conditional probability models exist by fuzzy granular space division. The conditional probability model chosen can not only have a great fitting to training data but also have a perfect prediction on test data. RFGDT learning uses a cost function to express the aim. As mentioned below, the cost function of RFGDT learning is usually a regularized maximum likelihood function, and its strategy is to minimize the cost function.The algorithm of RFGDT learning is to recursively select the optimal feature and segment the training data on the basis of the feature, in order that each subdataset can get the best classified results. This process corresponds to the division of fuzzy granular space and the form of RFGDTs. At the beginning, the root node is constructed and all fuzzy granular arrays are placed at the root node. The algorithm chooses an optimal feature, and divides the training data into several subsets on the basis of this feature, in order that each subset has the best classification under the current conditions. If these subsets have been correctly classified, then the algorithm constructs leaf nodes and divides these subsets into the corresponding leaf nodes; if there are still subsets that cannot be correctly classified, then the algorithm selects new optimal features for these subsets, continues to segment them, constructs corresponding nodes, and proceeds recursively until all training data subsets are basically classified correctly or there is no suitable feature. Finally, each subset is divided into leaf nodes, i.e., there are clear categories. This generates a RFGDT.The RFGDT produced may have better classification ability for training data but may have worse classification ability for test data, that is, overfitting may occur. We need to prune the tree from bottom to top to let the tree be simpler in order that it can enhance its generalization ability. Specifically, it is to remove the leaf nodes that are too subdivided, make them fall back to the parent node, or even an ancestor node, and then modify the parent node or an ancestor node to a new leaf node.If the quantity of features is large, the features can also be chosen at the beginning of the RFGDT learning, leaving only features that have sufficient classification ability for training data. We can draw a conclusion that the learning algorithm includes feature selection, RFGDT construction, and RFGDT pruning. Since RFGDT denotes conditional probability distribution, RFGDTs of different depths correspond to probability models of different complexity. The generation of RFGDT corresponds to local selection of the model, and the pruning of RFGDT is related to global selection of the model. The generation of the RFGDT only considers the local optimum, while the pruning of the RFGDT considers the global optimum.


### 4.3.3. Feature Selection and Cost Function Construction

Selecting important features can enhance the efficiency of RFGDT learning. If the result of using a feature for classification is not very different from the result of random classification, the feature is said to have no classification ability. Empirically, throwing away such features has little effect on the accuracy. Here, we redefine the information gain ratio and use this criterion as the cost function of constructing a RFGDT. First, the empirical entropy of the datasetX is defined by(25)Eℚ=−∑i=1lℚiℚlog2ℚiℚ,where ℚ denotes the set composed of fuzzy granular arrays, ℚ expresses the quantity of elements of the set, ℚi is the subset composed of fuzzy granular arrays of which classification is yi, and ℚi is the quantity of elements of the set. Stipulate 0log20=0. It can be seen from the definition that entropy only depends on the distribution of Q and has nothing to do with the value of Q. The greater the entropy is, the greater the uncertainty of the random variable is. 0≤Eℚ≤log2l can be verified from the definition.The empirical conditional entropy of featurer on the fuzzy granular array set ℚ is(26)Eℚ|r=∑j=1tℚjℚEℚj=−∑j=1tℚjℚ∑i=1lℚjiℚilog2ℚjiℚi,where ℚj is the subset composed of fuzzy granular arrays taking the value rj on the feature r, ℚj is the quantity of elements of the subset ℚj, ℚji is the subset composed of fuzzy granular arrays that takes the value rj on feature r and the label yi, and ℚji is the quantity of elements of the subset ℚji.The information gain is calculated as follows:(27)δℚ,r=Eℚ−Eℚ|r.We can now write the ratioδ^ℚ,r of information gain as(28)δ^ℚ,r=δℚ,rErℚ.Here,Erℚ=−∑j=1tℚj/ℚlog2ℚj/ℚ (t denotes the quantity of taking the value on feature r).


### 4.3.4. RFGDT Generation

We adopt the information gain ratio criterion to select features and recursively build a RFGDT. The specific method is as follows.Information gain ratio for each feature of each subdataset is calculated in the Map stage. Then, in the Reduce stage, the information gain ratios on the corresponding features of each subdataset are summed. The feature with the largest sum of information gain ratio can be chosen as the feature of the node, and the child node is constructed from the different feature values. We call the above approach recursively on the child nodes to build a RFGDT until the information gain ratios of all features are very small or there are no features to choose from. The algorithm is as follows:Step I:ℚ is randomly divided into s subfuzzy granular array sets ℚj,j=1,2,…,s.Step II: in the Map phase, the Map function uses each feature as the key and the information gain ratio as the value, namely,key,value=r,δ^ℚj,r.Step III: in the Reduce phase, Hadoop distributed system first aggregates the output results of all Map functions according to the key, and then uses these aggregated intermediate results as the input to the Reduce phase. The intermediate results after aggregation are as follows:(29)key,value=rk,Listδ^ℚj,r,k=1,2,…,s.Step IV: if all fuzzy granular arrays inℚ belong to the same class yi, the algorithm sets T as a single-node tree, adopts yi as the label of the node, and returns T.Step V: ifR=ϕ, set T as a single-node tree, use the label yi with the largest number of fuzzy granular arrays in ℚ as the class of the node, and return T.Step VI: or else, calculate the sum of the information gain ratio of each feature inR to ℚ according to equation (28), and select the feature r∗ with the largest sum of information gain ratio as the split feature, which can be written as(30)r∗=argmax1≤j≤m∑k=1sδ^ℚk,rj.Step VII: if the information gain ratio ofr∗ is less than the threshold ϵ, set T as a single-node tree, and use the class yi with the largest number of fuzzy granular arrays in ℚ as the label of the node, and return T.Step VIII: if not, for each possible valuevj of r∗, according to r=fj, divide ℚ into a number of nonempty subsets ℚi, the label with the largest number of fuzzy granular arrays in ℚi is used as a mark, and the subnodes are constructed. The tree T is formed by the nodes and their subnodes, and return T.Step IX: for the nodei, use ℚi as training set and R−r as feature set, recursively call Step I to Step VIII, get subtree Ti, and return Ti.The algorithm is described as in Algorithm2.Algorithm 2: Construct RFGDT.
Input: instance setX and threshold εOutput: rootT of fuzzy granular decision tree(1)
Normalize instances into0,1.(2)
Calculate cluster center setC∗=c1,c2,…,ck (see Algorithm 1).(3)
X1∪X2∪…∪Xp=Xand ∀Xs,Xt∈X,Xs∩Xt=ϕ//Parallel distributed fuzzy granulation.(4)
∀Xt⊂X//This is parallel process. Here, take Xt as example.Fori=1 to Xt∃xi∈XtForj=1 to M∃r∈R, instance x is fuzzy granulated as qxi,r=∑j=1kdxi,cj,r/cjend forBuild a fuzzy granular arrayQx,R=∑j=1Rqx,rj/rj;Get label ofxi, yxi;A rule can be built.rRxi=Qxi,R,yxi;End for(5)
ℚ is randomly divided into s sub fuzzy granular array sets ℚj,j=1,2,…,s.(6)
Map stage. In the Map function, each featurer is used as the key of the Map function, and the information gain ratio is used as the value of the Map function, namely, key,value=r,δ^ℚj,r(7)
IF for∀Qi∈ℚ, its classification is yi, then set T as a single-node tree, take yi as the label of the node, and return T.(8)
Reduce stage. Between the Map phase and the Reduce phase, the Hadoop distributed system first aggregates the output results of all Map functions according to the key.Then, these aggregated intermediate results are used as the input of the Reduce stage, and the intermediate results after aggregation are as follows.key,value=rk,Listδ^ℚj,r,k=1,2,…,s(9)
IfR=ϕ, set T as a single-node tree, and use the label yi with the largest number of fuzzy granular arrays in ℚ as the label of the node, and return T.Or else,∀r∈R, calculate the information gain ratio of r to ℚj, namely δ^ℚj,r=δℚj,r/Erℚj, select the feature with the largest sum of information gain ratio δ^ℚj,r=δℚj,r/Erℚj.(10)
If the information gain ofr satisfies δ^ℚ,r<ε, then T is set as a single-node tree, and the label yi with the largest number of fuzzy granular arrays in ℚ is used as the class of the node, and T is returned;Or else, for each possible valuevj of r, according to r=fj, divide ℚ into subsets of nonempty, ℚi, take the label with the largest number of fuzzy granular arrays in ℚi as a mark, construct subnodes, and form tree T based on the nodes and their subnodes, and return T.(11)
For the nodei, use ℚi as the training set and R−r as the feature set, recursively call 5 to 10, and get the subtree Ti, and return Ti.


### 4.3.5. Pruning

The algorithm recursively generates RFGDT until it cannot do further. The tree generated in this way is often very accurate for the classification of training data, but the classification of test data is not so accurate, i.e., overfitting occurs. The main reason is that too much consideration is given to how to improve the correct classification of training data, thereby building an overly complex tree. The solution to this problem is to reduce tree complexity and simplify the constructed tree. The process of simplifying the constructed tree is called pruning. Specifically, pruning cuts some subtrees or leaf nodes from the constructed tree, and uses its root node or parent node as new leaf nodes, thereby simplifying the classification tree. The pruning of RFGDT can be achieved by minimizing the overall cost function of the tree.Suppose that the quantity of leaf nodes of the treeT is T, t is the tree T leaf node, the leaf node has Nt fuzzy granular arrays, where there are Ntk fuzzy granular arrays in label yk (k=1,2,…,l). EtT is the empirical entropy on the leaf node t, α is the parameter (α≥0), then the cost function of RFGDT learning can be written as(31)CαT=∑t=1TNtEtT+αT,where EtT=−∑kNtk/Ntlog2Ntk/Nt. We have(32)CαT=CT+αT.In equation (31), CT denotes the prediction error of the algorithm on training data, i.e., the fit degree between the algorithm and the training data, T expresses model complexity, and parameter α≥0 controls the impact between them. The larger α chooses a simpler model (tree), and the smaller one chooses a more complex model. α=0 means that only the fit between the model and the training data is considered, and the complexity of the model is not considered. Pruning is to select the algorithm with the smallest cost function when α is determined, i.e., the subtree with the smallest cost function. If α is determined, the larger the subtree is, the better the fit is to training data, but the higher the complexity is; on the contrary, the smaller the subtree, the lower the model complexity, but it often does not fit well to the training data. The cost function just shows the balance between the two. RFGDT generation only considers the better fit of the training data by increasing the information gain. The RFGDT pruning also considers the reduction of model complexity by optimizing the cost function. The RFGDT generation is a local learning model, and the RFGDT pruning is a global learning model. The following is a RFGDT pruning algorithm.Step I: empirical entropy of each node is calculated.Step II: recursively retract upward from the leaf nodes of the tree. Suppose that the whole tree before and after a group of leaf nodes retract to its parent node isTb and Ta, and the corresponding cost function values are CαTb and CαTa, respectively. If(33)CαTa≤CαTb,then pruning, that is, the parent node becomes a new leaf node.Step III: go to Step II, until it cannot continue, and get the subtree with the smallest cost functionTα.The algorithm is shown as in Algorithm3.Algorithm 3: Pruning of RFGDT.
Input: fuzzy granular decision treeT and parameter αOutput: pruned subtreeTα(1)
Calculate the empirical entropy of each nodeEtT=−∑kNtk/NtlogNtk/Nt(2)
Recursively retract upward from the leaf nodes of the tree.Suppose that the whole tree before and after a group of leaf nodes retract to its parent node isTb and Ta, and the corresponding cost function values are CαTb and CαTa.(3)
IfCαTa≤CαTb, pruning is executed, that is, to change the parent node into a new leaf node.(4)
Return to Step 2 until it cannot continue, and get the subtree with the smallest cost functionTα


### 4.3.6. Label Prediction

After the RFGDT is constructed, given a test instance, first we transform it into fuzzy granular array and then use the RFGDT decision tree trained to predict. The method is described further in Algorithm4.Algorithm 4: RFGDT prediction.
Input: test instancex, root node of RFGDT, and cluster center set C.Output: labelyx of instance x(1)
Obtain fuzzy clustering granular vectorQx,R.(2)
Judge the path from the root node to the leaf node according to the feature value, and get the label according to the leaf node.


## 4.3.1. IF-Then Rule

RFGDT can also be regarded as a set of if-then rules. A RFGDT can be converted into an if-then rule set like this: A rule is constructed for every path from root node to leaf node; the features of the internal nodes with regard to conditions of the rule, and the label of leaf node, correspond to the conclusion of rule. The path of RFGDT (corresponding to if-then rule set) has a key character: mutually exclusive and complete. This means that every fuzzy granular array is covered by a unique path or rule. The so-called coverage here means that the features of the fuzzy granular array are consistent with the features on the path.


## 4.3.2. Learning

The learning of RFGDT is to generalize a series of classification rules from training data. There may be more than one RFGDT (i.e., a RFGDT that can correctly classify the training data) that is not inconsistent with the training data. Our purpose is to find a RFGDT that has little contradiction with training data and has strong generalization ability. In other words, RFGDT learning is to estimate conditional probability on training data. Infinite conditional probability models exist by fuzzy granular space division. The conditional probability model chosen can not only have a great fitting to training data but also have a perfect prediction on test data. RFGDT learning uses a cost function to express the aim. As mentioned below, the cost function of RFGDT learning is usually a regularized maximum likelihood function, and its strategy is to minimize the cost function.The algorithm of RFGDT learning is to recursively select the optimal feature and segment the training data on the basis of the feature, in order that each subdataset can get the best classified results. This process corresponds to the division of fuzzy granular space and the form of RFGDTs. At the beginning, the root node is constructed and all fuzzy granular arrays are placed at the root node. The algorithm chooses an optimal feature, and divides the training data into several subsets on the basis of this feature, in order that each subset has the best classification under the current conditions. If these subsets have been correctly classified, then the algorithm constructs leaf nodes and divides these subsets into the corresponding leaf nodes; if there are still subsets that cannot be correctly classified, then the algorithm selects new optimal features for these subsets, continues to segment them, constructs corresponding nodes, and proceeds recursively until all training data subsets are basically classified correctly or there is no suitable feature. Finally, each subset is divided into leaf nodes, i.e., there are clear categories. This generates a RFGDT.The RFGDT produced may have better classification ability for training data but may have worse classification ability for test data, that is, overfitting may occur. We need to prune the tree from bottom to top to let the tree be simpler in order that it can enhance its generalization ability. Specifically, it is to remove the leaf nodes that are too subdivided, make them fall back to the parent node, or even an ancestor node, and then modify the parent node or an ancestor node to a new leaf node.If the quantity of features is large, the features can also be chosen at the beginning of the RFGDT learning, leaving only features that have sufficient classification ability for training data. We can draw a conclusion that the learning algorithm includes feature selection, RFGDT construction, and RFGDT pruning. Since RFGDT denotes conditional probability distribution, RFGDTs of different depths correspond to probability models of different complexity. The generation of RFGDT corresponds to local selection of the model, and the pruning of RFGDT is related to global selection of the model. The generation of the RFGDT only considers the local optimum, while the pruning of the RFGDT considers the global optimum.


## 4.3.3. Feature Selection and Cost Function Construction

Selecting important features can enhance the efficiency of RFGDT learning. If the result of using a feature for classification is not very different from the result of random classification, the feature is said to have no classification ability. Empirically, throwing away such features has little effect on the accuracy. Here, we redefine the information gain ratio and use this criterion as the cost function of constructing a RFGDT. First, the empirical entropy of the datasetX is defined by(25)Eℚ=−∑i=1lℚiℚlog2ℚiℚ,where ℚ denotes the set composed of fuzzy granular arrays, ℚ expresses the quantity of elements of the set, ℚi is the subset composed of fuzzy granular arrays of which classification is yi, and ℚi is the quantity of elements of the set. Stipulate 0log20=0. It can be seen from the definition that entropy only depends on the distribution of Q and has nothing to do with the value of Q. The greater the entropy is, the greater the uncertainty of the random variable is. 0≤Eℚ≤log2l can be verified from the definition.The empirical conditional entropy of featurer on the fuzzy granular array set ℚ is(26)Eℚ|r=∑j=1tℚjℚEℚj=−∑j=1tℚjℚ∑i=1lℚjiℚilog2ℚjiℚi,where ℚj is the subset composed of fuzzy granular arrays taking the value rj on the feature r, ℚj is the quantity of elements of the subset ℚj, ℚji is the subset composed of fuzzy granular arrays that takes the value rj on feature r and the label yi, and ℚji is the quantity of elements of the subset ℚji.The information gain is calculated as follows:(27)δℚ,r=Eℚ−Eℚ|r.We can now write the ratioδ^ℚ,r of information gain as(28)δ^ℚ,r=δℚ,rErℚ.Here,Erℚ=−∑j=1tℚj/ℚlog2ℚj/ℚ (t denotes the quantity of taking the value on feature r).


## 4.3.4. RFGDT Generation

We adopt the information gain ratio criterion to select features and recursively build a RFGDT. The specific method is as follows.Information gain ratio for each feature of each subdataset is calculated in the Map stage. Then, in the Reduce stage, the information gain ratios on the corresponding features of each subdataset are summed. The feature with the largest sum of information gain ratio can be chosen as the feature of the node, and the child node is constructed from the different feature values. We call the above approach recursively on the child nodes to build a RFGDT until the information gain ratios of all features are very small or there are no features to choose from. The algorithm is as follows:Step I:ℚ is randomly divided into s subfuzzy granular array sets ℚj,j=1,2,…,s.Step II: in the Map phase, the Map function uses each feature as the key and the information gain ratio as the value, namely,key,value=r,δ^ℚj,r.Step III: in the Reduce phase, Hadoop distributed system first aggregates the output results of all Map functions according to the key, and then uses these aggregated intermediate results as the input to the Reduce phase. The intermediate results after aggregation are as follows:(29)key,value=rk,Listδ^ℚj,r,k=1,2,…,s.Step IV: if all fuzzy granular arrays inℚ belong to the same class yi, the algorithm sets T as a single-node tree, adopts yi as the label of the node, and returns T.Step V: ifR=ϕ, set T as a single-node tree, use the label yi with the largest number of fuzzy granular arrays in ℚ as the class of the node, and return T.Step VI: or else, calculate the sum of the information gain ratio of each feature inR to ℚ according to equation (28), and select the feature r∗ with the largest sum of information gain ratio as the split feature, which can be written as(30)r∗=argmax1≤j≤m∑k=1sδ^ℚk,rj.Step VII: if the information gain ratio ofr∗ is less than the threshold ϵ, set T as a single-node tree, and use the class yi with the largest number of fuzzy granular arrays in ℚ as the label of the node, and return T.Step VIII: if not, for each possible valuevj of r∗, according to r=fj, divide ℚ into a number of nonempty subsets ℚi, the label with the largest number of fuzzy granular arrays in ℚi is used as a mark, and the subnodes are constructed. The tree T is formed by the nodes and their subnodes, and return T.Step IX: for the nodei, use ℚi as training set and R−r as feature set, recursively call Step I to Step VIII, get subtree Ti, and return Ti.The algorithm is described as in Algorithm2.Algorithm 2: Construct RFGDT.
Input: instance setX and threshold εOutput: rootT of fuzzy granular decision tree(1)
Normalize instances into0,1.(2)
Calculate cluster center setC∗=c1,c2,…,ck (see Algorithm 1).(3)
X1∪X2∪…∪Xp=Xand ∀Xs,Xt∈X,Xs∩Xt=ϕ//Parallel distributed fuzzy granulation.(4)
∀Xt⊂X//This is parallel process. Here, take Xt as example.Fori=1 to Xt∃xi∈XtForj=1 to M∃r∈R, instance x is fuzzy granulated as qxi,r=∑j=1kdxi,cj,r/cjend forBuild a fuzzy granular arrayQx,R=∑j=1Rqx,rj/rj;Get label ofxi, yxi;A rule can be built.rRxi=Qxi,R,yxi;End for(5)
ℚ is randomly divided into s sub fuzzy granular array sets ℚj,j=1,2,…,s.(6)
Map stage. In the Map function, each featurer is used as the key of the Map function, and the information gain ratio is used as the value of the Map function, namely, key,value=r,δ^ℚj,r(7)
IF for∀Qi∈ℚ, its classification is yi, then set T as a single-node tree, take yi as the label of the node, and return T.(8)
Reduce stage. Between the Map phase and the Reduce phase, the Hadoop distributed system first aggregates the output results of all Map functions according to the key.Then, these aggregated intermediate results are used as the input of the Reduce stage, and the intermediate results after aggregation are as follows.key,value=rk,Listδ^ℚj,r,k=1,2,…,s(9)
IfR=ϕ, set T as a single-node tree, and use the label yi with the largest number of fuzzy granular arrays in ℚ as the label of the node, and return T.Or else,∀r∈R, calculate the information gain ratio of r to ℚj, namely δ^ℚj,r=δℚj,r/Erℚj, select the feature with the largest sum of information gain ratio δ^ℚj,r=δℚj,r/Erℚj.(10)
If the information gain ofr satisfies δ^ℚ,r<ε, then T is set as a single-node tree, and the label yi with the largest number of fuzzy granular arrays in ℚ is used as the class of the node, and T is returned;Or else, for each possible valuevj of r, according to r=fj, divide ℚ into subsets of nonempty, ℚi, take the label with the largest number of fuzzy granular arrays in ℚi as a mark, construct subnodes, and form tree T based on the nodes and their subnodes, and return T.(11)
For the nodei, use ℚi as the training set and R−r as the feature set, recursively call 5 to 10, and get the subtree Ti, and return Ti.


## 4.3.5. Pruning

The algorithm recursively generates RFGDT until it cannot do further. The tree generated in this way is often very accurate for the classification of training data, but the classification of test data is not so accurate, i.e., overfitting occurs. The main reason is that too much consideration is given to how to improve the correct classification of training data, thereby building an overly complex tree. The solution to this problem is to reduce tree complexity and simplify the constructed tree. The process of simplifying the constructed tree is called pruning. Specifically, pruning cuts some subtrees or leaf nodes from the constructed tree, and uses its root node or parent node as new leaf nodes, thereby simplifying the classification tree. The pruning of RFGDT can be achieved by minimizing the overall cost function of the tree.Suppose that the quantity of leaf nodes of the treeT is T, t is the tree T leaf node, the leaf node has Nt fuzzy granular arrays, where there are Ntk fuzzy granular arrays in label yk (k=1,2,…,l). EtT is the empirical entropy on the leaf node t, α is the parameter (α≥0), then the cost function of RFGDT learning can be written as(31)CαT=∑t=1TNtEtT+αT,where EtT=−∑kNtk/Ntlog2Ntk/Nt. We have(32)CαT=CT+αT.In equation (31), CT denotes the prediction error of the algorithm on training data, i.e., the fit degree between the algorithm and the training data, T expresses model complexity, and parameter α≥0 controls the impact between them. The larger α chooses a simpler model (tree), and the smaller one chooses a more complex model. α=0 means that only the fit between the model and the training data is considered, and the complexity of the model is not considered. Pruning is to select the algorithm with the smallest cost function when α is determined, i.e., the subtree with the smallest cost function. If α is determined, the larger the subtree is, the better the fit is to training data, but the higher the complexity is; on the contrary, the smaller the subtree, the lower the model complexity, but it often does not fit well to the training data. The cost function just shows the balance between the two. RFGDT generation only considers the better fit of the training data by increasing the information gain. The RFGDT pruning also considers the reduction of model complexity by optimizing the cost function. The RFGDT generation is a local learning model, and the RFGDT pruning is a global learning model. The following is a RFGDT pruning algorithm.Step I: empirical entropy of each node is calculated.Step II: recursively retract upward from the leaf nodes of the tree. Suppose that the whole tree before and after a group of leaf nodes retract to its parent node isTb and Ta, and the corresponding cost function values are CαTb and CαTa, respectively. If(33)CαTa≤CαTb,then pruning, that is, the parent node becomes a new leaf node.Step III: go to Step II, until it cannot continue, and get the subtree with the smallest cost functionTα.The algorithm is shown as in Algorithm3.Algorithm 3: Pruning of RFGDT.
Input: fuzzy granular decision treeT and parameter αOutput: pruned subtreeTα(1)
Calculate the empirical entropy of each nodeEtT=−∑kNtk/NtlogNtk/Nt(2)
Recursively retract upward from the leaf nodes of the tree.Suppose that the whole tree before and after a group of leaf nodes retract to its parent node isTb and Ta, and the corresponding cost function values are CαTb and CαTa.(3)
IfCαTa≤CαTb, pruning is executed, that is, to change the parent node into a new leaf node.(4)
Return to Step 2 until it cannot continue, and get the subtree with the smallest cost functionTα


## 4.3.6. Label Prediction

After the RFGDT is constructed, given a test instance, first we transform it into fuzzy granular array and then use the RFGDT decision tree trained to predict. The method is described further in Algorithm4.Algorithm 4: RFGDT prediction.
Input: test instancex, root node of RFGDT, and cluster center set C.Output: labelyx of instance x(1)
Obtain fuzzy clustering granular vectorQx,R.(2)
Judge the path from the root node to the leaf node according to the feature value, and get the label according to the leaf node.


## 5. Experimental Analysis

This paper employs 4 datasets from the UC Irvine Machine Learning Repository as the data source for the experimental test and constructs 8 datasets with 1% noise and 3% noise, respectively, as demonstrated in Table2. The tenfold cross-validation method was adopted in the experiments. Data of 90% and 70% were chosen randomly as training sets, respectively, and the remaining data were taken as the test set to execute one verification. Then, we repeated the process ten times. The running time and average accuracy were used as measurements of performance. As illustrated in Figure 2, serial clustering fuzzy granulation, parallel clustering fuzzy granulation proposed, and serial granulation were compared on efficiency. C4.5, Support Vector Machines (SVMs), Convolutional Neural Networks (CNN), and RFGDT were compared for average accuracy (see Figures 3–5). In RFGDT classifier, the quantity of cluster centers is a key parameter that has an effect on performance of classification, such as accuracy. The relation between the quantity of cluster centers and the average accuracy was analyzed.Table 2
Datasets from the UC Irvine Machine Learning Repository.
No.DatasetsNumber of instancesNumber of featuresNumber of classifications1Wine Quality489812112Bank Marketing452111723Localization Data for Person Activity164860884IDA2016Challenge760001712Figure 2
Comparison of executing time.Figure 3
Comparison of dataset Wine Quality. (a) Data of 90% as the training set. (b) Data with noise of 1% and data of 90% as the training set. (c) Data with noise of 3% and data of 90% as the training set. (d) Data of 70% as the training set. (e) Data with noise of 1% and data of 70% as the training set. (f) Data with noise of 3% and data of 70% as the training set.
(a)(b)(c)(d)(e)(f)Figure 4
Comparison of dataset Bank Marketing. (a) Data of 90% as the training set. (b) Data with noise of 1% and data of 90% as the training set. (c) Data with noise of 3% and data of 90% as the training set. (d) Data of 70% as the training set. (e) Data with noise of 1% and data of 70% as the training set. (f) Data with noise of 3% and data of 70% as the training set.
(a)(b)(c)(d)(e)(f)Figure 5
Comparison of dataset Localization Data for Person Activity. (a) Data of 90% as the training set. (b) Data with noise of 1% and data of 90% as the training set. (c) Data with noise of 3% and data of 90% as the training set. (d) Data of 70% as the training set. (e) Data with noise of 1% and data of 70% as the training set. (f) Data with noise of 3% and data of 70% as the training set.
(a)(b)(c)(d)(e)(f)Fuzzy granulation in the case of serial computing tasks has lower efficiency, which cannot meet the needs. If computing task is parallelizable, serial computing task can be converted into parallel computing one. This paper adopted the approach of parallel granulation via clustering. We usually employ MapReduce to deal with parallel tasks of large-scale data. Fuzzy granulation of large-scale dataset can be divided into several subcomputing tasks and the subdatasets can be assigned to computing nodes via abstracting a hierarchical computing model. Due to its simple and easy-to-use programming interface, MapReduce has been widely used in parallel programming model and computing framework. The main thought is as follows. Job is divided into multiple independently runnable Map tasks; these Map tasks are distributed to several processors to execute; intermediate results are generated; the reduce operation tasks are combined to produce final output results. There are two parts in MapReduce calculation process, namely, Map and Reduce. The inputkey,value is received by Map (see Table 3), and then intermediate results (key,value) are output, where key=xi, value=hxi,r1,…,hxi,rm,C (see Table 4).Table 3
Map process input.
Task of mapKeyValueMap 1x1ha1,x1,…,ham,x1,Cx2ha1,x2,…,ham,x2,C……Map 2xiha1,xi,…,ham,xi,Cxi+1ha1,xi+1,…,ham,xi+1,C……Map………Map Bxjha1,xj,…,ham,xj,Cxj+1ha1,xj+1,…,ham,xj+1,C……Table 4
Map process output.
Task of mapKeyValueMap 1x1qx1,r1,r1x1qx1,r2,r2……x1qx1,rm,rmx2qx2,r1,r1x2qx2,r2,r2……x2qx2,rm,rm……Map 2xiqxi,r1,r1xiqxi,r2,r2……xiqxi,rm,rm……Map………Map Bxjqxj,r1,r1xjqxj,r2,r2……xjqxj,rm,rm……The output of Reduce is likekey=xi, value=qxi,r1,qxi,r2,…,qxi,rm (see Table 5). Without clustering, the complexity of granulation is On2∗m; With clustering, the complexity of granulation time can reach On∗k∗m (k<m); If fuzzy granulation is proceeded by the parallel method, the complexity can achieve On∗k∗m/B, where B denotes the quantity of subsets, k represents the quantity of cluster centers, n expresses the quantity of instances, m is the quantity of features, and each subset corresponds to a Map.Table 5
Reduce process output.
KeyValuex1qx1,r1,qx1,r2,…,qx1,rmx2qx2,r1,qx2,r2,…,qx2,rm……xnqxn,r1,qxn,r2,…,qxn,rmFigure2 compares the efficiency of traditional granulation, serial granulation with clustering, and the parallel granulation with clustering proposed, where the abscissa expresses the quantity of instances and the ordinate denotes the average time taken for granulation. Below n represents the quantity of instances and K is the quantity of cluster center. When n=5000 and K=3692, the serial granulation cost 50 mins, the running time of serial clustering granulation was 37 mins, and the running time of parallel clustering granulation was only 9 mins. The parallel clustering granulation reduced by 26.00% and 82.00%, respectively. When n=20,000 and K=11,524, the serial granulation took 800 mins, while the running time of the serial clustering granulation was 461 mins (i.e., 42.38% improvement). Parallel granulation with clustering executed only 115 mins and was enhanced by 85.63% and 75.05%, respectively. When n=30,000 and K=16,398, the running time of parallel granulation with clustering improved by 45.33% and 86.33%, respectively, compared with the other two methods. We can draw a conclusion that as the quantity of instances increases, serial clustering granulation and parallel clustering granulation methods increase the efficiency to a great extent.Taking 90% of the dataset Wine Quality as the training set, we can get the following results. As shown in Figure3(a), in the dataset Wine Quality, when the quantity of cluster centers was less than 3006, the average accuracy of RFGDT was lower than that of the other three methods. With the quantity of cluster centers rising, the average accuracy of RFGDT increases rapidly. Especially, when the quantity of cluster centers was 3006, it achieved a peak value of 0.969, while the average accuracies of SVMs, C4.5, and CNN were 0.961, 0.952, and 0.948 (i.e., 0.83%, 1.79%, and 2.22% improvement, respectively). When the quantity of cluster centers was greater than 3006, the average accuracy of RFGDT also decreased slightly, but it was still higher than the other three methods. After adding 1% noise in the data, as illustrated in Figure 3(b), when the quantity of cluster centers was 3006, the average accuracy of RFGDT reached a peak value of 0.964, while the average accuracies of SVMs, C4.5, and CNN, RFGDT were 0.923, 0.914, and 0.892, respectively. RFGDT improved by 4.44%, 5.47%, and 8.07% respectively. Comparing these two datasets, SVMs, C4.5, and CNN dropped by 3.95%, 3.99%, and 5.91% respectively, and RFGDT reduced by 0.52% at the peak value. It can be seen from statistical data that RFGDT is more robust and stable to noise. When we add 3% noise to the data, as exhibited in Figure 3(c), SVMs, C4.5, CNN, and RFGDT decreased by about 0.54%, 1.97%, 0.56%, and 0.42%, respectively, compared with noise data of 1%. After that, we took 70% of data as the training set to verify the performance. Overall, the average accuracies of these four methods were on the decline. From Figures 3(d)–3(f), RFGDT performs better than other three algorithms when the number of clustering is more than 2000.As illustrated in Figure4(a), dataset BankMarketing contained nearly 50,000 instances, which was 10 times the scale of dataset Wine Quality. The shape of the average accuracy curve of RFGDT was similar to Figure 3, and the overall shape was high in the middle and low on both sides. When the quantity of cluster centers was K=30100, the average accuracy of RFGDT reached the largest value of 0.963, while SVMs, C4.5, and CNN were 0.951, 0.947, and 0.955, respectively (i.e., 1.26%, 1.69%, and 0.84% improvement, respectively). In the Bank Marketing dataset with noise, as demonstrated in Figure 4(b), RFGDT reached a peak value of 0.956 at K=30100. Compared with SVMs, C4.5, and CNN, RFGDT increased by 3.13%, 4.82%, and 2.69%, respectively. RFGDT reduced by 0.73%, while SVMs, C4.5, and CNN reduced by 2.59%, 3.84%, and 2.69%, respectively. As can be seen, RFGDT is not sensitive to noise and C4.5 is more sensitive to noise. Figure 4(c) shows the four algorithms are all reduced when the percent of noise data was 3%. However, RFGDT performed better than SVMs, C4.5, and CNN by about 3.61%, 5.22%, and 2.16% regarding the average accuracy, respectively. When 70% of data were taken as the training set, the four algorithms were decreased compared with 90% of data being the training set. However, as shown in Figures 4(d)–4(f), RFGDT outperforms the other three algorithms under most parameters.The quantity of instances in dataset Localization Data for Person Activity was more than 160,000. As illustrated in Figure5(a), without noise, when K=85060, the average accuracy curve of RFGDT reached a peak value of 0.953, while SVMs was 0.932, C4.5 was 0.922, and CNN was 0.947 (2.25%, 3.36%, and 0.63% improvement, respectively). CNN performs better than SVMs, while SVMs is better than C4.5, and RFGDT is slightly better than CNN. In the dataset with noise, as demonstrated in Figure 5(b), compared with SVMs, C4.5, and CNN, the peak value of RFGDT increased by 4.30%, 4.86%, and 2.38%, respectively. Compared with SVMs, C4.5, RFGDT and CNN are less sensitive to noise. As shown in Figure 5(c), when noise occupied 3% of data, the four algorithms were all decreased. But RFGDT achieved 0.932 of average accuracy under K = 119,031, while SVMs, C4.5, and CNN just got 0.893, 0.887, and 0.912, respectively (i.e., 4.37%, 5.07%, and 2.19% improvement). Figures 5(d)–5(f) compare the performance with 70% of data being the training set and show that RFGDT performs better than SVMs, C4.5, and CNN under special parameters.The dimension in dataset IDA2016Challenge is much higher than the other three datasets. We took 90% and 70% of data to test as training sets, respectively. On the basis of this, we added 1% and 3% noise into the dataset, respectively. The detailed results are as follows. As shown in Figure6(a), when K=39800, RFGDT achieved a peak value of 0.956, while SVMs, C4.5, and CNN just got 0.932, 0.921, and 0.947, respectively (i.e., about 2.58%, 3.80%, and 0.95% improvement, respectively). After adding noise of 1%, as illustrated in Figure 6(b), the highest value of RFGDT was 0.947 and RFGDT increased by about 4.30%, 5.11%, and 2.38% compared with SVMs, C4.5, and CNN, respectively. After adding noise of 3%, as demonstrated in Figure 6(c), the four algorithms were all decreased, but RFGDT was better than the other three algorithms. When data of 70% is taken as training set, RFGDT still outperforms SVMs, C4.5, and CNN, as exhibited in Figures 6(d)–6(f).Besides the dataset mentioned above, we also applied the algorithm to predict Alzheimer’s disease by voice. This dataset was from the University of Pittsburgh and was stored in the form of speech and text from participants containing elderly controls, people with possible Alzheimer’s Disease, and people with other dementia diagnoses. The corpus included 1263 instances. Mel-frequency Cepstral Coefficients (MFCC) of corpus was extracted as features for prediction. We calculated the first 20 dimensions, their first-order difference, and their second-order difference, which were concatenated to get 57-dimensional features. The precision of RPFDT was a maximum of 0.932. We can predict Alzheimer’s disease by voice, which is a simple and low cost method compared with Magnetic Resonance Imaging. It is very meaningful and valuable for the diagnosis of Alzheimer’s disease.From the above analysis, we can see that the average accuracy of RFGDT is better than SVMs, C4.5, and CNN in the six datasets. In smaller datasets, CNN performs weaker than SVMs and C4.5. Especially, in datasets containing noise, the average accuracy of RFGDT is stable and less sensitive to noise. Judging from the curve shape of the average accuracy of RFGDT, it shows a form of high and low in the middle. When the value ofK is small, the performance of RFGDT is weaker than the other three algorithms. As the value of K increases, the performance of RFGDT is better than the other three algorithms. We use 10-fold cross-validation, and the test set and training set are obtained randomly. In other words, for each time, the algorithm is evaluated in different training set and test set; it has randomness, but the performance of the algorithm is just evaluated objectively. The imbalance of instances will also affect the performance of the algorithm. For noisy datasets, we also found that RFGDT is more robust. The main reason lies in the fuzzy granulation process. RFGDT embodies a global comparison thought, which can overcome the noise interference to some extent. This is also the advantage of the RPFDT. At the same time, we also found that the choice of the K value is also the key to classification. If the K value is too small, it will reduce the classification accuracy. Instead, if the K value is too large, it will increase noise and also reduce the classification effect. A reasonable value of K is also the key to the performance of the algorithm. Compared with classical methods, granulation process costs some time, but this process can be executed offline. Moreover, parallel granulation can improve the efficiency greatly. In the meantime, in the granular space, the accuracy of classification can be enhanced.Figure 6
Comparison of dataset IDA2016Challenge. (a) Data of 90% as the training set. (b) Data with noise of 1% and data of 90% as the training set. (c) Data with noise of 3% and data of 90% as the training set. (d) Data of 70% as the training set. (e) Data with noise of 1% and data of 70% as the training set. (f) Data with noise of 3% and data of 70% as the training set.
(a)(b)(c)(d)(e)(f)


## 6. Discussion

In this study, we propose a RFGDT that is suitable for dual-classification or multiclassification problems. In the algorithm, the idea of parallel distributed granulation is introduced, which improves the efficiency of data granulation. In the parallel granulation process, we design AGRC for granulation. We transform a classified problem of data into fuzzy granular space to find the solution. In the fuzzy granular space, we define fuzzy granules, fuzzy granular arrays on the basis of operators designed. The aim is to use the information gain rate to select feature as the split point to recursively construct the fuzzy granular decision tree. In order to avoid overfitting, we also design the pruning algorithm of RFGDT, which can improve the performance further. In the future, we will apply it to cloud computing and big data.



---

*Source: 5578682-2021-06-09.xml*