@@ 33-45 (lines=13) @@ | ||
30 | from pyclustering.core.pyclustering_package import pyclustering_package, package_extractor, package_builder; |
|
31 | ||
32 | ||
33 | def xmeans(sample, centers, kmax, tolerance, criterion): |
|
34 | pointer_data = package_builder(sample, c_double).create(); |
|
35 | pointer_centers = package_builder(centers, c_double).create(); |
|
36 | ||
37 | ccore = ccore_library.get(); |
|
38 | ||
39 | ccore.xmeans_algorithm.restype = POINTER(pyclustering_package); |
|
40 | package = ccore.xmeans_algorithm(pointer_data, pointer_centers, c_size_t(kmax), c_double(tolerance), c_uint(criterion)); |
|
41 | ||
42 | result = package_extractor(package).extract(); |
|
43 | ccore.free_pyclustering_package(package); |
|
44 | ||
45 | return result[0], result[1]; |
@@ 32-46 (lines=15) @@ | ||
29 | from pyclustering.core.pyclustering_package import pyclustering_package, package_extractor, package_builder; |
|
30 | ||
31 | ||
32 | def dbscan(sample, eps, min_neighbors, data_type): |
|
33 | pointer_data = package_builder(sample, c_double).create(); |
|
34 | ||
35 | ccore = ccore_library.get(); |
|
36 | ||
37 | ccore.dbscan_algorithm.restype = POINTER(pyclustering_package); |
|
38 | package = ccore.dbscan_algorithm(pointer_data, c_double(eps), c_size_t(min_neighbors), c_size_t(data_type)); |
|
39 | ||
40 | list_of_clusters = package_extractor(package).extract(); |
|
41 | ccore.free_pyclustering_package(package); |
|
42 | ||
43 | noise = list_of_clusters[len(list_of_clusters) - 1]; |
|
44 | list_of_clusters.remove(noise); |
|
45 | ||
46 | return (list_of_clusters, noise); |
@@ 33-44 (lines=12) @@ | ||
30 | from pyclustering.core.pyclustering_package import pyclustering_package, package_extractor, package_builder; |
|
31 | ||
32 | ||
33 | def mbsas(sample, amount, threshold, metric_pointer): |
|
34 | pointer_data = package_builder(sample, c_double).create(); |
|
35 | ||
36 | ccore = ccore_library.get(); |
|
37 | ||
38 | ccore.mbsas_algorithm.restype = POINTER(pyclustering_package); |
|
39 | package = ccore.mbsas_algorithm(pointer_data, c_size_t(amount), c_double(threshold), metric_pointer); |
|
40 | ||
41 | result = package_extractor(package).extract(); |
|
42 | ccore.free_pyclustering_package(package); |
|
43 | ||
44 | return result[0], result[1]; |
@@ 33-44 (lines=12) @@ | ||
30 | from pyclustering.core.pyclustering_package import pyclustering_package, package_extractor, package_builder; |
|
31 | ||
32 | ||
33 | def bsas(sample, amount, threshold, metric_pointer): |
|
34 | pointer_data = package_builder(sample, c_double).create(); |
|
35 | ||
36 | ccore = ccore_library.get(); |
|
37 | ||
38 | ccore.bsas_algorithm.restype = POINTER(pyclustering_package); |
|
39 | package = ccore.bsas_algorithm(pointer_data, c_size_t(amount), c_double(threshold), metric_pointer); |
|
40 | ||
41 | result = package_extractor(package).extract(); |
|
42 | ccore.free_pyclustering_package(package); |
|
43 | ||
44 | return result[0], result[1]; |
@@ 33-44 (lines=12) @@ | ||
30 | from pyclustering.core.pyclustering_package import pyclustering_package, package_extractor, package_builder; |
|
31 | ||
32 | ||
33 | def ttsas(sample, threshold1, threshold2, metric_pointer): |
|
34 | pointer_data = package_builder(sample, c_double).create(); |
|
35 | ||
36 | ccore = ccore_library.get(); |
|
37 | ||
38 | ccore.ttsas_algorithm.restype = POINTER(pyclustering_package); |
|
39 | package = ccore.ttsas_algorithm(pointer_data, c_double(threshold1), c_double(threshold2), metric_pointer); |
|
40 | ||
41 | result = package_extractor(package).extract(); |
|
42 | ccore.free_pyclustering_package(package); |
|
43 | ||
44 | return result[0], result[1]; |