# A One-Phase Tree-Structure Method to Mine High Temporal Fuzzy Utility Itemsets
## 4 The Proposed Algorithm
### The Tree-Constructing Algorithm  
The details of the tree-construction method are given below. The proposed Algorithm 1:  
```
INPUT: \begin{tabular}{} \end{tabular} 
```  
by the _total_mftu_ field in the node can be found easily directly from the tree. If the _tfur_ values of the candidate fuzzy _k_-itemsets are larger than or equal to the threshold by using the array-list data in the node, the _k_-itemsets are _HTFUIs_. Below is the mining algorithm. The mining Algorithm 2: mining HTFUIs from the tree. ```
INPUT: \(r\), the constructed tree; \(\lambda\), minimum temporal fuzzy utility threshold. OUTPUT: All HTFUI itemsets. For each linguistic term \(x\) bottom-up in the Header_Table, conduct the following steps: Step 1: From the constructed tree, form a conditional pattern tree of the node \(x\) by the link of \(x\) in the Header_Table. Step 2: Check each prefix node in the conditional pattern tree from the node \(x\) for whether the prefix node and \(x\) are originated from the same item. If yes, remove the prefix node. Step 3: Check the _total_mftu_ value for each prefix node in the conditional pattern tree from \(x\) for whether the value is not less than \(\Sigma_{y<t\times n}t/{\textit{f}u_{y}}^{*}\lambda\). If no, remove the prefix node. Step 4: Find candidate _HTFUIs_ from the remaining conditional pattern tree from \(x\). Step 5: Calculate the _furz_ value from the node of each candidate \(z\) with the array-list structure using the intersection operation as the fuzzy operator. If _furz_ is not less than \(\lambda\), \(z\) is a _HTFUI_. ```  
**Algorithm 2** mining HTFUIs from the tree. For example, take the linguistic term (_d.M_) in the Header_Table in Figure 4 as an example. Its conditional pattern tree is shown in Figure 5a. There are two branches derived from the linguistic term (_d.M_), as shown in Figure 5b. Along with building the conditional pattern tree for the linguistic term (_d.M_), the combinations of the possible fuzzy candidate itemsets with (_d.M_) are then derived using the mining algorithm recursively. All the possible fuzzy itemsets are processed for checking whether the _mftu_ values of the candidates are not less than the threshold in the temporal fuzzy utility mining. The linguistic terms (_d.L_) and (_d.M_) are originated from the same item \(d\), so the linguistic terms (_d.L_) in two branches of the conditional pattern tree are removed in Figure 5b. All the linguistic terms in Figure 5b are then processed for checking whether their _mftu_ values meet the threshold value. The total _mftu_ value of each fuzzy itemset, including (_d.M_), is then counted from individual branches. In this case, the fuzzy itemset (_e.L_, _d.M_) exist in two branches of Figure 5b. Thus, their _mftu_ value is 68.78 (=45.42 + 23.36). It is larger than the threshold value (=(1.98 + 53.34 + 47.36 + 26) \(\times\) 40% = 51.472). As another example, the _mftu_ values of the linguistic terms (_c.L_) and (_b.L_), which are both 45.42 in the left branch, are less than the threshold value, so they are omitted in the two branches. The final result for the conditional pattern tree with the linguistic term (_d.M_) is shown in Figure 5c. Figure 5: The conditional pattern tree for the linguistic term (_d.M_). (**a**) The whole frequent pattern tree; (**b**) The two branches for (_d.M_); (**c**) The final conditional pattern tree for (_d.M_). All the fuzzy itemsets derived from the conditional pattern tree can be obtained without rescanning the database. In this example, all the possible itemsets with \(d.M\) are [\((d.M,e.L)\): 68.78], [\((d.M,a.L)\): 68.78] and [\((d.M,e.L,a.L)\): 68.78] derived from Figure 5c. Next, all the fuzzy itemsets are processed to check whether their _ftur_ values satisfy the threshold. If yes, they are _HTFUIs_. Take [\((d.M,e.L)\)] as an example. According to definition 12, the _ftur_ value of the fuzzy itemsets [\((d.M,e.L)\)] needs to be calculated. It can be known that the \(LTP_{[(d.M,e.L)]}\) range is from \(P_{2}\) to \(P_{4}\).