K-means聚类算法贫困生认定代码
时间: 2023-11-01 13:06:22 浏览: 45
K-means是一种常用的聚类算法,可以用来对一组数据进行分类。贫困生认定也可以看作是一种分类问题,因此可以使用K-means算法来进行贫困生认定。
以下是一个简单的K-means聚类算法贫困生认定代码示例:
```python
import numpy as np
# 数据集
X = np.array([[1, 1], [2, 1], [1, 2], [4, 3], [5, 4], [4, 5]])
# K-means聚类算法
def kmeans(X, k):
# 随机初始化中心点
centers = X[np.random.choice(X.shape[0], k, replace=False)]
while True:
# 计算每个点到中心点的距离
distances = np.sqrt(((X - centers[:, np.newaxis])**2).sum(axis=2))
# 分配每个点到最近的中心点
labels = distances.argmin(axis=0)
# 计算新的中心点
new_centers = np.array([X[labels == i].mean(axis=0) for i in range(k)])
# 如果中心点不再改变,则停止迭代
if np.all(centers == new_centers):
break
centers = new_centers
return labels
# 对数据集进行聚类,k=2表示分类为贫困生和非贫困生
labels = kmeans(X, k=2)
# 输出分类结果
print(labels)
```
输出结果为:[0 0 0 1 1 1],表示前三个数据点被分类为一类(贫困生),后三个数据点被分类为另一类(非贫困生)。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)