## 4 Design
### Attributes Reduction Based on Correlation Classification  
To further reduce attributes, in this section, a reduction method based on correlation classification is proposed. The basic idea is that two correlative features have a similar impact on the prediction results because they have similar distributions or trends. Therefore, if the correlation between them can be determined, only one attribute in a correlative attribute set needs to be selected, and a new set of attributes can be combined that would represent all attributes. The method is divided into three steps: (1) First, to mine the correlation between attributes, [PERSON]'s correlation coefficient [20] and [PERSON]'s correlation coefficient [25] are considered. These are classic statistical methods to evaluate the correlation between vectors and are widely employed in disk failure tasks for feature selection. However, in previous works, they were only used to determine the correlation for one attribute with the final target. In this work, the correlation of every two attributes is considered. The values range from \(-1\) to \(1\), if the value is positive, then, the two attributes are positively correlated, otherwise, they are negatively correlated, and when the absolute value is higher, the correlation is closer. Figure 4 shows an example of the correlation of five attributes. Table 1 shows the ID and the corresponding attribute names of these five attributes, where ID is the identifier number of each SMART attribute. They are labeled as \(S192\), \(S193\), \(S240\), \(S241\), and \(S242\) in Figure 4. In this paper, Pearson correlation coefficient is used by default, because based on the Pearson correlation coefficient, we could obtain the best prediction results, as described in Section 5. (2) Second, based on correlation values, attributes can be classified into several groups, if the absolute correlation value between two attributes is higher than a threshold \(T_{c}\), then the two attributes are grouped together. In this work, \(T_{c}\) was set to 0.6, because 0.6 is a general boundary value between moderate and good correlation [26]. It should be noticed that the correlation of every two attributes in a group should exceed \(T_{c}\). Thus, in the example above, the attributes may be classified into three groups: \(\{S192\), \(S240\), \(S242\}\), \(\{S193\}\), and \(\{S241\}\). (3) Finally, an attribute from each group would be selected for model construction. For simplicity, we choose the one which best correlates with the final target. In the example above, finally, three attributes would be selected. The pseudo-code of the two-layer classification-based feature selection method is shown in Algorithm 1, where \(Data\) is the original data with \(n\) attributes, \(X\) is the samples that are the results after data processing, \(Y\) is the labels for healthy and failure samples, \(T_{i}\) is the importance threshold for feature filtering and set as 0.01 by default, and \(T_{c}\) is the correlation threshold to classify attributes for further feature reduction, which it is set as 0.6 by default. ```
1:\(Data=<A_{1},A_{2},...,A_{n}>,X,Y,T_{i},T_{c}\). 2:A set of selected attributes \(R\). 3:(Layer One)
4:Let \(R_{1}\) be a null array;
5:Input \(X\) and \(Y\) to get the list of important values of attributes \(Im\) based on classification trees;
6:for\(i=1\to n\)do
7:if\(Im_{i}\geq T_{i}\)then
8: Add \(i\)th attribute to array \(R_{1}\);
9:endif
10:endfor
11:return Attributes after filtering \(R_{1}\).