# Dissimilarity Space Based Multi-Source Cross-Project Defect Prediction
## 4 Experiments
### Analysis of Results
#### 4.3.2 Experiments on Multi-Source Data Sets and Dissimilarity Space
\begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Target Set** & **TrdaBoost** & \begin{tabular}{c} **Multi-Source** \\ **TrdaBoost** \\ \end{tabular}  & \ \begin{tabular}{c} **DS-CPDP** \\ \end{tabular}  & \begin{tabular}{c} **DM-CPDP** \\ \end{tabular}  \\ \hline \multicolumn{5}{c}{NASA to NASA} \\ \hline CM1 & 0.419 & 0.525 & 0.564 & **0.594** \\ PC1 & 0.364 & 0.412 & 0.538 & **0.635** \\ PC2 & 0.259 & 0.160 & 0.295 & **0.368** \\ PC3 & 0.578 & 0.601 & 0.698 & **0.776** \\ PC4 & 0.239 & 0.237  
The reason why multi-source data is superior to single-source data is that multi-source method in CPDP can not only increase the useful information by providing sufficient data, but also effectively avoid the problem of negative transferring. Besides, in the process of modeling, we also filter the multi-source datasets and select the data highly correlated with the target set as the training set. So that the data distribution of the training set and the target set is as similar as possible. Thus, multi-source data can improve the predictive performance of classifiers. In order to verify that the construction of dissimilarity space can improve the performance of the classifier, these two sets of experiments are compared: TrAdaBoost and DS-CPDP, Multi-source TrAdaBoost and DM-CPDP. From the experimental results in Tables 7-9, the average value of F-measure on DS-CPDP is 13.2% and 11.4% respectively, which is higher than the TrAdaBoost algorithm. The average value on AUC is higher than the latter by 8.2%, 10.6%. The average value on cost-effectiveness is lower than the latter by 5.7%, 1.3%. By comparing DM-CPDP with Multi-source TrAdaBoost, we can find that the former is better than the latter in the average value of the two performance indicators. The average value of F-measure in the former is higher than that in the latter 17.5% and 5.7% respectively. In terms of AUC, the former is better than the latter 12.9% and 8.4% respectively. The average value on cost-effectiveness is lower than the latter by 3.3%, 0.9%. Therefore, it can be proved that the model established in the dissimilarity space is better than that built in the feature space. There are three reasons why constructing dissimilarity space can improve the performance of prediction models. Firstly, the classification algorithm essentially establishes the classifier by analyzing the intrinsic relationship between the feature attributes and the class labels in the datasets. If the feature attributes of samples have the weak discriminant ability to class labels, the performance of the prediction model will be affected, but building a dissimilarity space can solve this problem. When constructing the space, we use the dissimilarity between samples instead of the original feature attribute, so that the intrinsic structure information of the dataset can be obtained. Thus, the discriminant ability of sample attributes to class labels is enhanced. \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Target Set** & **TrAdaBoost** & \begin{tabular}{c} **Multi-Source** \\ **TrAdaBoost** \\ \end{tabular}  & **DS-CPDP** & **DM-CPDP** \\ \hline \multicolumn{5}{c}{NASA to NASA} \\ \hline CM1 & 0.071 & 0.057 & 0.054 & **0.039** \\ PC1 & 0.404 & 0.068 & 0.032 & **0.027** \\ PC2 & 0.002 & 0.001 & 0.001 & **0.001** \\ PC3 & 0.069 & 0.059  
Secondly, the DM-CPDP method uses the data from the target set as the prototype set when constructing the dissimilarity space. Therefore, when mapping the samples belonging to the source domain to the dissimilarity space, it essentially carries out comprehensive transferring learning. So, the training set with the same data distribution as the target set can be obtained, which better meets the requirements of the hypothesis of the same data distribution. Finally, when using the source domain and target domain data to construct dissimilarity space, each sample is represented as the dissimilarity between the sample and the prototype set. If the dissimilarity between the samples is small, a larger attribute value can be obtained.