IIS_2023_1/faskhutdinov_idris_lab_4/main.py

32 lines
1.1 KiB
Python
Raw Normal View History

2024-01-14 20:54:07 +04:00
import pandas as pd
from sklearn.cluster import AgglomerativeClustering
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt
# Чтение данных из датасета
data = pd.read_csv("Clean Data_pakwheels.csv")
# Уменьшение размера данных для оптимизации работы программы
data = data.sample(frac=.01)
# Для кластеризации выбираются признаки "Стоимость" и "Пробег"
features = ['Price','Mileage']
cluster_data = data[features]
X = data[features]
# Стандартизация данных
standartSc = StandardScaler()
X_scaled = standartSc.fit_transform(X)
# Кластеризация с разделением на 4 кластера
cluster = AgglomerativeClustering(n_clusters=4, linkage='ward')
data['cluster'] = cluster.fit_predict(X_scaled)
# Построение графика
plt.scatter(X_scaled[:, 0], X_scaled[:, 1], c=data['cluster'])
plt.xlabel('Стоимость')
plt.ylabel('Пробег')
plt.title('Кластеризация')
plt.savefig(f"linkage.png")
plt.show()