用python写一个K-means的代码
时间: 2023-06-14 18:04:41 浏览: 48
好的,下面是一个简单的K-means算法的Python代码实现:
```python
import numpy as np
def kmeans(X, k, max_iters=100):
# 随机初始化聚类中心
centroids = X[np.random.choice(len(X), k, replace=False)]
for i in range(max_iters):
# 计算每个样本点到聚类中心的距离
distances = np.sqrt(((X - centroids[:, np.newaxis])**2).sum(axis=2))
# 分配每个样本到距离最近的聚类中心
labels = np.argmin(distances, axis=0)
# 更新聚类中心
for j in range(k):
centroids[j] = X[labels == j].mean(axis=0)
return labels, centroids
```
其中,X是一个二维的numpy数组,每行表示一个样本点,k表示聚类中心的数量,max_iters表示最大迭代次数。函数返回一个元组,第一个元素是每个样本点所属的聚类标签,第二个元素是k个聚类中心的坐标。
相关问题
用python写一个k-means数据挖掘代码
好的,以下是一个简单的 Python K-Means 数据挖掘代码:
```
import numpy as np
from sklearn.cluster import KMeans
# 准备数据
X = np.array([[1, 2], [1, 4], [1, 0], [4, 2], [4, 4], [4, 0]])
# 使用 K-Means 进行聚类
kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
# 打印聚类结果
print(kmeans.labels_)
```
这个代码可以将数据 X 分成两个簇。当然,你也可以根据自己的需要修改代码中的参数来实现更复杂的聚类。
用python写一个K-means聚类
算法的代码。
很高兴回答你的问题。以下是用 Python 编写 K-means 聚类算法的代码:
```python
import numpy as np
def kmeans(X, k, max_iters=100):
# 随机初始化 k 个聚类中心
centroids = X[np.random.choice(len(X), k, replace=False)]
for i in range(max_iters):
# 计算每个样本点到聚类中心的距离
distances = np.sqrt(((X - centroids[:, np.newaxis])**2).sum(axis=2))
# 将每个样本点分配到距离最近的聚类中心
labels = np.argmin(distances, axis=)
# 更新聚类中心的位置
for j in range(k):
centroids[j] = X[labels == j].mean(axis=)
return labels, centroids
```
希望这个代码能够帮助你实现 K-means 聚类算法。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)