intellivision_clustering
Descriptor | Size | Method | calinski_harabasz_score | davies_bouldin_score | cluster interpretation |
---|---|---|---|---|---|
osnet | 200 | MiniBatchKMeans | 23471 | 2.7 | by color |
osnet | 200 | DBSCAN euclidean | 45 | 2.9 | no |
osnet | 200 | DBSCAN cosine | 20 | 9.1 | no |
osnet | 200 | AgglomerativeClustering | 2042 | 2.9 | no |
efficient net | 200 | MiniBatchKMeans | 111654 | 1.8 | no |
efficient net | 200 | DBSCAN euclidean | 588 | 3.5 | no |
efficient net | 200 | DBSCAN cosine | 376 | 3.1 | no |
vdc_color | 128 | MiniBatchKMeans | 111654 | 1.82 | by color |
vdc_color | 128 | GaussianMixture | 26791 | 1.7 | by color |
vdc_type | 200 | MiniBatchKMeans | 119597 | 1.6 | by type |
vdc_type | 512 | MiniBatchKMeans | 69297 | 1.8 | by type |
Предобработка дескрипторов
Перед обучением алгоритмов кластеризации в исходных дескрипторах сначала уменьшалась размерность (PCA) до 200 признаков, если изначальная размерность дескриптора была больше.
Кластеризация по цвету
osnet и vdc_color дескрипторы, как оказалось, имеют похожую семантику: при кластеризации методом MiniBatchKMeans кластеры обоих дескрипторов оказались разделены по цвету. Но в отличие от vdc_color, кластеризация построенная на osnet лучше справлялась с большим количеством кластеров. В то время как при увеличении n_clusters для vdc_color дескрипторов, в результирующих кластерах начинали появляться дублирующиеся цвета.
Но при n_clusters = 4
кластеры оказались довольно четкими:
- белые
- черные
- холодные цвета
- теплые цвета
MiniBatchKMeans и GaussianMixture дали похожие результаты на дескрипторах vdc_color
Кластеризация по типу vdc_type (512)
Визуальное исследование кластеров показывает высокую релевантность данных. Интерпретация кластеров:
- седаны класса d (околопремиумные)большие.
- хороший кластер с паркетником или авто, похожей конфигурации.(не более 3% ошибок)
- похоже на минивены, крупные паркетники, грузовички.( на вскидку 75-80%)
- очень сильная выборка седанов с ( хорошая выборка близка к 95%)
- очень сильная выборка паркетников с ( хорошая выборка близка к 95%)
- хорошая выборка грузовичков 2 тонны(не меньше 90%)
- полуседаны-полу хетчбеки класса в-с
- близкопремиумный класс седанов с люками и пр. дорогими штуками
- светлые минивены и грузовички и автобусы!!!( качественнный кластер к 90%)
- похоже на светлые хетчбеки класса в и с
В экспериемнте с размерностью 200 этих же дескрипторов разбиение на кластеры происходит аналогичным образом.
Неинтерпретируемая кластеризация
DBSCAN
Ну удалось подобрать такие параметры eps, min_samples чтобы кластеры были сбалансированы. И чтобы эти кластеры можно было интерпретировать. Исследовали как работу алгоритма с евклидовой метрикой так и с косинусным расстоянием.
Или мы не умеем его готовить(
efficient net
Кластеры, которые получили на дескрипторах efficient net всеми исследуемыми методами не удалось проинтерпретировать. Возможно, для этих дескрипторов нужен особый метод. Или эти дескрипторы обучены на слишком общем датасете и могут отличить машину от человека, но не могут отличать машину от машины.
Agglomerative Clusterting
Для запуска алоритма на полной части датасета не хватило оперативки (не влезло в 16GB). На десятой части датасета (40к векторов) не удалось получить интерпретируемую кластеризацию для векторов osnet.
Проблемы
- Для DBSCAN требуется много проца для евклидового расстояния
- Для agglomerative clustering нужно очень много оперативки
- Для большого количества фич в исходных данных тоже нужно очень много оперативки, поэтому во время преодобработки потребовалось понизить размерность.
Лучший алгоритм кластеризации MiniBatchKMeans на дескрипторах osnet
Кластер красных | Кластер белых |
---|---|
Кластер черных | Кластер разноцветных |
---|---|
Худший алгоритм DBSCAN и худшие дескрипторы efficient net
Качественно сложно различить эти два кластера
Нулевой (и единственный) кластер | Кластер выбросов |
---|---|