|
Software engineering data has a large amount of data, mostly for discrete attributes and characteristics, in order to software engineering, data mining and consider the efficiency of the implementation must be fast, efficient method. Cluster analysis is an important part of the data mining, has made considerable development in the field of research in recent years. Cluster analysis of software engineering data, which is an important aspect of data mining applications. A variety of clustering algorithms, the characteristics of software engineering data, how to choose an appropriate clustering algorithm is worth exploring. K-means algorithm clustering speed, but the algorithm, such as the number of clusters is difficult to determine in advance of dirty data sensitive defects such as clustering ineffective; the DBSCAN algorithm clustering effect of dirty data is not sensitive clustering time grows exponentially, not suitable for the processing of large databases. CURD clustering algorithm has a fast, efficient, but not directly to the data with discrete attribute clustering. CURD algorithm to improve clustering has discrete attribute data, and applied to the source code mining. By comparison with the K-means algorithm DBSCAN clustering results proved that the improved algorithm is very suitable for the processing of large databases, not only the clustering effect, but high efficiency. The main contents are as follows: (1) by improving the CURD algorithm proposed NCURD (Nominal-CURD) algorithm. NCURD algorithm will be introduced to the technology of the K-mode algorithm in the processing data with the discrete attribute CURD algorithm, thereby having discrete attribute data mining. The experiments show that the algorithm overcome poor clustering results of K-means algorithm and the DBSCAN clustering time into exponential growth defects in the source code mining, has good clustering effect. At the same time, also has similar to K-means linear time complexity, very suitable for the processing of large databases. (2) as a tool to the Eclipse platform, using the JAVA programming language achieve NCURD clustering algorithm, and open source data mining software WEKA source code for the test object, the first elements of the source code to extract, respectively, to obtain the class, method, class members were stored in the database; then, K-means, DBSCAN algorithm NCURD its clustering analysis; clustering results of the last three algorithms. Experimental results prove CURD algorithm improved data mining software engineering with discrete attributes, not only has good clustering effect, but also has a very high efficiency in the implementation.
|