import pandas as pd
import numpy as np
from sklearn.cluster import DBSCAN
import matplotlib.pyplot as plt
from PIL import Image
# 从CSV文件读取数据
data = pd.read_csv('data1.csv')
# 删除满足条件的数据
data = data[(data['speed'] > 4) & (data['speed'] <= 4.5) &(data['efficiency'] >= 4.5)]
# 选择需要用于聚类的特征
features = ['speed', 'efficiency']
data = data[features]
# 转换为NumPy数组
data = data.to_numpy()
# 使用DBSCAN算法进行聚类
dbscan = DBSCAN(eps=6, min_samples=6)
dbscan.fit(data)
# 获取聚类结果
labels = dbscan.labels_
# 分组数据点按照类别
clusters = {}
for i, label in enumerate(labels):
if label not in clusters:
clusters[label] = []
clusters[label].a