聚类的特征准备

时间:2019-01-09 15:59:47

标签: python scikit-learn object-detection feature-selection hierarchical-clustering

我想在数据上应用诸如kMeans之类的聚类算法或分层聚类,如下所示:

sample1: [(0.9; 1),(0.9; 1),(0.9; 3)]
sample2: [(0.9; 2)]
sample3: [(0.9; 1),(0.9; 6),(0.8; 9)]

这些数字是物体检测器的预测。元素数表示number_of_detections。元组代表(score; class_id)

因此,每张图像的检测次数会有所不同,并且可能会有与样本1中相同的重复值。

我找不到适合的特征准备方法,因为sklearn需要[n_samples,n_features]作为输入。

我尝试了sklearn的FeatureHasher和DictVectorized,但是它们没有像我具有高维数组的原始数据那样起作用。这是我收到的错误:

TypeError: only size-1 arrays can be converted to Python scalars

什么是一组好的功能?我怎么能代表它呢?

原始输出:

[{'detection_scores': array([0.99999404, 0.9999926 ], dtype=float32), 'image_id': '003126', 'detection_classes': array([1, 1], dtype=uint8)}, 
{'detection_scores': array([0.9997228], dtype=float32), 'image_id': '006716', 'detection_classes': array([7], dtype=uint8)}, 
{'detection_scores': array([0.999998  , 0.99998057, 0.999936  , 0.99987483, 0.9997434 , 0.9994124 , 0.9992119 , 0.99829096, 0.99525344, 0.9896298 ], dtype=float32), 'image_id': '002389', 'detection_classes': array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1], dtype=uint8)}, 
{'detection_scores': array([0.99999535], dtype=float32), 'image_id': '000580', 'detection_classes': array([1], dtype=uint8)}, 
{'detection_scores': array([0.9999645 , 0.99868864, 0.99829394, 0.9968401 , 0.992488 , 0.9895281 , 0.8299444 ], dtype=float32), 'image_id': '005467', 'detection_classes': array([1, 2, 2, 2, 2, 1, 4], dtype=uint8)}]

0 个答案:

没有答案