84 lines
4.4 KiB
Markdown
84 lines
4.4 KiB
Markdown
# Лабораторная работа №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 визуальный и точность определяется восприятием графика. Поэтому использовать его лучше только в целях визуализации.
|
||
Для данной задачи алгоритм не подходит, так как решает её недостаточно качественно.
|
||
|
||
|