IIS_2023_1/degtyarev_mikhail_lab_4/Readme.md
2023-12-03 16:01:36 +04:00

75 lines
4.9 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
## Вариант 9
## Задание
Использовать метод кластеризации t-SNE,самостоятельно сформулировав задачу. Интерпретировать результаты и оценить, насколько хорошо он подходит для решения сформулированной вамизадачи.
Задача:
- Можно использовать кластеризацию для группировки компаний на основе их местоположения (company_location) и размера (company_size). Это поможет выделить группы компаний с похожими характеристиками.
## Описание Программы
Программа выполняет кластеризацию компаний на основе их местоположения (company_location) и размера (company_size) с использованием методов t-SNE и KMeans.
### Используемые библиотеки
`pandas:`
Используется для загрузки данных из CSV-файла и работы с ними в виде датафрейма (pd.read_csv, pd.DataFrame).
`LabelEncoder (из scikit-learn):`
Применяется для преобразования категориальных переменных (company_location и company_size) в числовые значения (le.fit_transform).
`TSNE (из scikit-learn):`
Используется для выполнения уменьшения размерности данных с помощью метода t-SNE (TSNE(n_components=2, random_state=42)).
`KMeans (из scikit-learn):`
Применяется для кластеризации данных методом KMeans (KMeans(n_clusters=3, random_state=42)).
`matplotlib и seaborn:`
Используются для визуализации данных и построения графика, который отображает результаты кластеризации (plt.figure, sns.scatterplot, plt.title, plt.show).
### Шаги программы
**Загрузка данных:**
Данные о компаниях загружаются из CSV-файла "ds_salaries.csv" с использованием pandas.
**Преобразование категориальных переменных:**
Местоположение компаний (company_location) и их размер (company_size) преобразуются из категориальных в числовые значения с помощью LabelEncoder.
**Выбор признаков:**
Выбираются признаки для анализа, в данном случае, местоположение и размер компаний.
**Уменьшение размерности с использованием t-SNE:**
Применяется метод t-SNE для уменьшения размерности данных до двух компонент.
**Кластеризация данных с использованием KMeans:**
Кластеризация данных выполняется с помощью метода KMeans с 3 кластерами, определенными на основе результата t-SNE.
**Создание и визуализация нового датафрейма:**
Создается новый датафрейм (data_tsne_df), содержащий новые координаты компаний после применения t-SNE, а также метки кластеров.
Добавляется номер кластера к исходным данным.
**Визуализация кластеров:**
Выполняется визуализация результатов кластеризации с использованием библиотеки seaborn.
### Запуск программы
- Склонировать или скачать код `main.py`.
- Запустите файл в среде, поддерживающей выполнение Python. `python main.py`
### Результаты
![](img.png)
На графике представлены компании в двумерном пространстве, где каждая точка относится к конкретному кластеру. Различные цвета точек обозначают принадлежность к разным кластерам.
Кластеры можно рассматривать как группы компаний с схожими характеристиками местоположения и размера. Компании, находящиеся близко в двумерном пространстве, могут иметь схожие характеристики.