IIS_2023_1/degtyarev_mikhail_lab_4
2023-12-03 16:00:39 +04:00
..
ds_salaries.csv degtyarev_mikhail_lab_4_is_ready 2023-12-03 16:00:39 +04:00
img.png degtyarev_mikhail_lab_4_is_ready 2023-12-03 16:00:39 +04:00
main.py degtyarev_mikhail_lab_4_is_ready 2023-12-03 16:00:39 +04:00
Readme.md degtyarev_mikhail_lab_4_is_ready 2023-12-03 16:00:39 +04:00

Лабораторная 3

Вариант 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

Результаты

На графике представлены компании в двумерном пространстве, где каждая точка относится к конкретному кластеру. Различные цвета точек обозначают принадлежность к разным кластерам.

Кластеры можно рассматривать как группы компаний с схожими характеристиками местоположения и размера. Компании, находящиеся близко в двумерном пространстве, могут иметь схожие характеристики.