python,使用数据生成器生成的100条数据的聚类,完成鸢尾花的聚类效果显示。使用后面两个特征来进行聚类分析。不要降维
时间: 2024-11-22 12:45:10 浏览: 4
Python中的`sklearn`库提供了强大的机器学习功能,包括聚类算法如K-means。我们可以使用`numpy`生成随机数据,并结合`sklearn.cluster.KMeans`和`matplotlib`来展示聚类结果。首先,我们需要导入必要的库并创建一个数据生成器。这里我们假设数据集包含100条数据,每个样本有两个特征,我们将只选取最后两个特征进行聚类。
```python
import numpy as np
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
# 创建一个随机数据生成器,模拟鸢尾花数据(例如,花瓣长度和宽度)
def data_generator(n_samples=100):
features = np.random.rand(n_samples, 4) * 6 + [1, 5] # 随机值在[1, 7]之间
return features[:, -2:] # 取最后两个特征
# 使用生成的数据进行K-means聚类,比如选择3个簇
n_clusters = 3
data = data_generator(100)
kmeans = KMeans(n_clusters=n_clusters)
labels = kmeans.fit_predict(data)
# 显示聚类结果
plt.scatter(data[:, 0], data[:, 1], c=labels, cmap='viridis')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.title(f"K-means Clustering on {n_clusters} clusters")
plt.show()
#
阅读全文