IIS_2023_1/malkova_anastasia_lab_4
2023-11-16 22:21:36 +04:00
..
constants.py lab4 ready 2023-11-16 22:21:04 +04:00
data.py lab4 ready 2023-11-16 22:21:04 +04:00
drawing.py lab4 ready 2023-11-16 22:21:04 +04:00
exp1_addi.png lab4 ready 2023-11-16 22:21:04 +04:00
exp1_small.png lab4 ready 2023-11-16 22:21:04 +04:00
exp1.png lab4 ready 2023-11-16 22:21:04 +04:00
exp2_addi.png lab4 ready 2023-11-16 22:21:04 +04:00
exp2_small.png lab4 ready 2023-11-16 22:21:04 +04:00
exp2.png lab4 ready 2023-11-16 22:21:04 +04:00
exp3_small.png lab4 ready 2023-11-16 22:21:04 +04:00
exp3.png lab4 ready 2023-11-16 22:21:04 +04:00
experimental_clustering.py lab4 ready 2023-11-16 22:21:04 +04:00
README.md lab4 ready 2023-11-16 22:21:04 +04:00
tnse.py lab4 ready 2023-11-16 22:21:04 +04:00
true_car_listings.csv lab4 ready 2023-11-16 22:21:04 +04:00

Лабораторная работа №4

Кластеризация

Как запустить лабораторную работу

  1. Установить python, numpy, sklearn, matplotlib, plotly
  2. Запустить команду python tnse.py в корне проекта

Использованные технологии

  • Язык программирования python
  • Библиотеки numpy, sklearn, matplotlib, plotly
  • Среда разработки PyCharm

Что делает программа?

Цель программы: кластеризовать ценовые диапазоны автомобилей на вторичном рынке. Используя метод кластеризации t-SNE, происходит обучение, оценка и вывод результатов кластеризации в виде графика.

Так как метод визуальный, то оценка будет проводится субъективно по критериям общего цвета и отдалённости кластеров друг от друга.

Эксперимент

Текущие параметры:

  • mileage
  • year
  • price
TSNE(learning_rate=100)

На размере данных в 1000 строк 1 эксперимент на небольшом кол-ве данных

На размере данных в 15000 строк 1 эксперимент на большом кол-ве данных

TSNE(learning_rate=200, perplexity=50, early_exaggeration=6)

early_exaggeration - определяет, насколько плотными будут естественные кластеры исходного пространстве во вложенном пространстве и сколько места будет между ними. (12 по умолчанию)

На размере данных в 1000 строк 2 эксперимент на небольшом кол-ве данных

На размере данных в 15000 строк 2 эксперимент на большом кол-ве данных

TSNE(learning_rate=200, perplexity=50, early_exaggeration=6, angle=0.1)

angle - Используется только если метод='barnes_hut' Это компромисс между скоростью и точностью в случае T-SNE с применением алгоритма Барнса-Хата. (0.5 по умолчанию)

На размере данных в 1000 строк 3 эксперимент на небольшом кол-ве данных

На размере данных в 15000 строк 3 эксперимент на большом кол-ве данных

Выводы: Чем больше данных, тем лучше алгоритм выделяет кластеры. Настроив параметры алгоритма удалось достичь улучшения результата, но качество все равно можно считать неполностью удовлетворительным, так как кластеры выделяются с заметным уровнем шума. Другие методы кластеризации справляются лучше, если провести дополнительный эксперимент, то можно четко выделить ценовые диапазоны, например:

Ценовые диапазоны по пробегу дополнительный эксперимент 1

Ценовые диапазоны по году выпуска дополнительный эксперимент 2

В данных примерах можно особенно точно проследить зависимость между параметрами

Итоговые выводы

Алгоритм t-SNE визуальный и точность определяется восприятием графика. Поэтому использовать его лучше только в целях визуализации. Для данной задачи алгоритм не подходит, так как решает её недостаточно качественно.