k均值聚类python源码 鸢尾花
时间: 2024-05-22 07:07:35 浏览: 14
k均值聚类是一种常用的无监督学习算法,用于将数据集划分为k个不同的簇。下面是一个使用Python实现k均值聚类的示例代码:
```python
import numpy as np
from sklearn.cluster import KMeans
from sklearn.datasets import load_iris
# 加载鸢尾花数据集
iris = load_iris()
X = iris.data
# 创建KMeans对象并进行聚类
kmeans = KMeans(n_clusters=3, random_state=0)
kmeans.fit(X)
# 获取聚类结果
labels = kmeans.labels_
centroids = kmeans.cluster_centers_
# 打印聚类结果
for i in range(len(X)):
print("样本点 ", X[i], " 属于簇 ", labels[i])
# 打印聚类中心点
print("聚类中心点:")
for centroid in centroids:
print(centroid)
```
上述代码使用了`sklearn`库中的`KMeans`类来实现k均值聚类。首先,我们加载了鸢尾花数据集,并将其存储在变量`X`中。然后,我们创建了一个`KMeans`对象,并指定了要划分的簇数为3。接下来,我们使用`fit`方法对数据进行聚类,并通过`labels_`属性获取每个样本点所属的簇标签。最后,我们打印了每个样本点的簇标签和聚类中心点。
相关问题
k均值聚类python源码
以下是使用Python实现k均值聚类的源码示例:
```python
from sklearn.cluster import KMeans
import numpy as np
# 准备数据
X = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]])
# 创建并训练k均值聚类模型
kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
# 获取聚类结果
labels = kmeans.labels_
centers = kmeans.cluster_centers_
# 打印聚类结果
print("聚类标签:", labels)
print("簇中心坐标:", centers)
```
以上代码使用了scikit-learn库中的KMeans类,首先定义了一个数据集X,然后通过创建并训练KMeans对象,可以得到每个样本点的聚类标签和簇中心坐标。
K均值聚类python源码
很高兴为您解答问题!以下是K均值聚类的Python源代码示例:
```
from sklearn.cluster import KMeans
import numpy as np
#创建数据集
X = np.array([[1, 2], [1, 4], [1, 0], [4, 2], [4, 4], [4, 0]])
#创建KMeans模型
kmeans = KMeans(n_clusters=2, random_state=0)
#对数据进行聚类
kmeans.fit(X)
#输出聚类结果
print(kmeans.labels_)
```
此代码使用Scikit-learn库中的KMeans类,使用给定的数据集对其进行聚类。如果您对此有任何问题,请随时向我提问!