生成随机的称重数据进行聚类剔除异常值的Python程序
时间: 2024-03-05 19:54:29 浏览: 65
好的,我可以为您提供一个生成随机称重数据并进行聚类并剔除异常值的Python程序。下面是代码实现:
```python
import random
import numpy as np
from sklearn.cluster import KMeans
# 生成随机数据
data = []
for i in range(100):
data.append(random.uniform(0, 10))
# 聚类算法
kmeans = KMeans(n_clusters=2).fit(np.array(data).reshape(-1, 1))
labels = kmeans.labels_
# 获取每个簇的中心点
centers = []
for i in range(2):
cluster = np.where(labels == i)[0]
center = np.mean(np.array(data)[cluster])
centers.append(center)
# 计算异常值
outliers = []
for i in range(len(data)):
if abs(data[i] - centers[0]) > abs(data[i] - centers[1]):
outliers.append(data[i])
# 输出结果
print("随机数据:", data)
print("聚类结果:", labels)
print("异常值:", outliers)
```
该程序生成了100个随机数并使用K-Means聚类算法将其分成两个簇。然后,它计算每个簇的中心点,并根据其距离选择异常值。最后,程序输出生成的随机数据、聚类结果和异常值。
请注意,由于数据是随机生成的,因此每次运行程序时结果可能会有所不同。
阅读全文