IIS_2023_1/malkova_anastasia_lab_4/README.md
2023-11-16 22:21:04 +04:00

84 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Лабораторная работа №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 эксперимент на небольшом кол-ве данных](exp1_small.png)
На размере данных в 15000 строк
![1 эксперимент на большом кол-ве данных](exp1.png)
##### TSNE(learning_rate=200, perplexity=50, early_exaggeration=6)
early_exaggeration - определяет, насколько плотными будут естественные кластеры исходного пространстве
во вложенном пространстве и сколько места будет между ними. (12 по умолчанию)
На размере данных в 1000 строк
![2 эксперимент на небольшом кол-ве данных](exp2_small.png)
На размере данных в 15000 строк
![2 эксперимент на большом кол-ве данных](exp2.png)
##### TSNE(learning_rate=200, perplexity=50, early_exaggeration=6, angle=0.1)
angle - Используется только если метод='barnes_hut'
Это компромисс между скоростью и точностью в случае T-SNE с применением алгоритма Барнса-Хата. (0.5 по умолчанию)
На размере данных в 1000 строк
![3 эксперимент на небольшом кол-ве данных](exp3_small.png)
На размере данных в 15000 строк
![3 эксперимент на большом кол-ве данных](exp3.png)
**Выводы:**
Чем больше данных, тем лучше алгоритм выделяет кластеры.
Настроив параметры алгоритма удалось достичь улучшения результата,
но качество все равно можно считать неполностью удовлетворительным, так как кластеры выделяются с заметным уровнем шума.
Другие методы кластеризации справляются лучше, если провести дополнительный эксперимент,
то можно четко выделить ценовые диапазоны, например:
Ценовые диапазоны по пробегу
![дополнительный эксперимент 1](exp1_addi.png)
Ценовые диапазоны по году выпуска
![дополнительный эксперимент 2](exp2_addi.png)
В данных примерах можно особенно точно проследить зависимость между параметрами
#### Итоговые выводы
Алгоритм t-SNE визуальный и точность определяется восприятием графика. Поэтому использовать его лучше только в целях визуализации.
Для данной задачи алгоритм не подходит, так как решает её недостаточно качественно.